Vimはじめました

f:id:nehalemv:20120418011820j:image:left
Pythonスタートブックは一周し、二週目の半分目くらいです。
基本情報は爆死。午後はJavaソースを見るまえに時間が終わった。
残念だが当然と言える。

開発環境をUTSGチームの方々と合わせるために、mysql導入を試みます。
mysqlは以前、windows上virtualboxubuntuに目の前で入れてもらい、その後のubuntuOSアップデート失敗により自力構築した際、apt-getなんちゃらで入れた気がします。

今回は、細かい仕様がチームに合わせたものになっているとも思うので、導入からチームのwikiに従うことにしています。
設定ファイルをいじるところで、テキストエディタでは権限が及ばないことが分かり、ついにVimに手を付けることにしました。

Vimとは何ぞや?
参考:Vim - Wikipedia

Vim(ヴィムまたはヴィアイエム)は、vi から派生し、発展した高機能なテキストエディタである。

VimGUIを必要とせずCUIで動くため、UNIX系OSに標準で搭載されていることが多い。 コンピュータの大容量化と高速化にともない、2000年以降のOSでは viに代わってより高機能な Vim、あるいはその機能劣化版が標準装備されるようになってきている。 このため、コマンドライン上でviを実行すると代わりにVimが起動するディストリビューションも一般的となってきた。 Vimは基本的にCUIで動作するが、GUIで動くVimのことを特にGVimgVim, gvim, ジーヴィム)と呼び区別している。マウス操作など、GUIであることを生かしたGVimにしかない機能もある。

viエディタと同様、キーボードのみで操作されることを前提としていたため、キーボードのみですべての操作が可能になっている。 その基本的な操作方法はviと同じで、状況に応じてモードを使い分けることでテキストを編集していき、小さなコマンドの組み合わせをその場で作ることによって多種多様な機能を実現する。 Windows系エディタ(メモ帳など)などの他のエディタとは操作方法がまるで異なるため、一通りのテキスト編集作業ができるようになるまで慣れが必要となる。 しかしながら、一旦慣れてしまえばメモ帳などとは比較にならないほどのテキスト編集速度を得ることができるため、数多くのVim愛好家が存在する。 Vimの他の機能と併せて、プログラムコードやシステム設定ファイルを編集するのに特化しているため、特にプログラマーやシステム管理者に利用者が多い。
viと同じく、Vimの特殊なキーボード操作は、慣れると一種の快感さえも得られるようになり、(他のソフトウェア上で、指が勝手にhjklを叩いている、文字を打った後に Ctrl-[ を押してしまう等の)中毒症状すら起こす者もいた。 このためかvi系(vi、Vim, nvi)のキーボード操作法は、エディタをはじめ、各種ビューワや、ブラウザのプラグインにいたるまでその後のソフトウェアの操作方法に強い影響を与えていった。

ちょー簡単にすると、『CUIテキストエディタの有名な一つ』になるんでしょうか。
これまでは『サクラエディタ』を使っていましたが、ここらからGUI(マウスとキーボード併用)からCUI(キーボードのみ)環境へシフト…なるか!
他に有名なのは Emacs,Eclipseだと思っていたのですが、EclipseはIDE(Integrated Development Environment,統合開発環境)ってなってますね。
というか、Vimもそういう認識でした。改造次第でそうも使えるってことですかね。
Vimを選んだのは、タイムラインで多くの人がVim信者として歓声/悲鳴/咆哮を上げていて、気になっていたからです。

ubuntuには初期段階で簡単なvimが入っているらしく、操作でも確認しました。
しかし操作も特殊だし、こういうものは一度きちっと向き合いたいなということで、ちゃんとインストールしようと探しました。

参考: Ubuntu:vim-gnomeをインストールする « 仙人の心得

過程でgvimとか他も入れちゃったのですが、vim-gnomeで完了したようです。
この段階で、言語指定しなくても日本語表示されるようになりました。
さてどうしたものか、というところで、こんなものを見つけて助かりました。

参考:超初心者向け vim チュートリアル - Craftworks Tech Blog - Branch

さきほどこのvimtutorを一周しました。

レッスン 1.1: カーソルの移動
レッスン 1.2: VIM の起動と終了
レッスン 1.3: テキスト編集 - 削除
レッスン 1.4: テキスト編集 - 挿入
レッスン 1.5: テキスト編集 - 追加
レッスン 1.6: ファイルの編集
レッスン 2.1: 削除コマンド
レッスン 2.2: その他の削除コマンド
レッスン 2.3: オペレータとモーション
レッスン 2.4: モーションにカウントを使用する
レッスン 2.5: より多くを削除するためにカウントを使用する
レッスン 2.6: 行の操作
レッスン 2.7: やり直しコマンド
レッスン 3.1: 貼り付けコマンド
レッスン 3.2: 置き換えコマンド
レッスン 3.3: 変更コマンド
レッスン 3.4: c を使用したその他の変更
レッスン 4.1: 位置とファイルの情報
レッスン 4.2: 検索コマンド
レッスン 4.3: 対応する括弧を検索
レッスン 4.4: 間違いを変更する方法
レッスン 5.1: 外部コマンドを実行する方法
レッスン 5.2: その他のファイルへ書き込み
レッスン 5.3: 選択した書き込み
レッスン 5.4: ファイルの取込と合併
レッスン 6.1: オープンコマンド
レッスン 6.2: 追加コマンド
レッスン 6.3: その他の置換方法
レッスン 6.4: テキストのコピーとペースト
レッスン 6.4: テキストのコピーとペースト
レッスン 6.5: オプションの設定
レッスン 7.1: オンラインヘルプコマンド
レッスン 7.2: 起動スクリプトの作成
レッスン 7.3: 補完

ついに、カーソルキーを離れてhjklキーデビューをしました。
でもつい、カーソルキーに指がいきます。
vimtutorはそのうちまた何週かしましょう。
Pythonスタートブックの残りの写経をvimでやりたい…が…どうか…