Vimでシステム開発
このシリーズは、私がVimを使ってシステム開発をする時の経験を紹介します。まだ Vim の経験が少ないですが、Vim の普及に少しでも貢献できればと思います。
このシリーズは、私がVimを使ってシステム開発をする時の経験を紹介します。まだ Vim の経験が少ないですが、Vim の普及に少しでも貢献できればと思います。
この Vimでシステム開発 シリーズの最終章として、私のvimrcと.vimフォルダ(Windowsはvimfiles)をオープンします、ご参考に成れば嬉しい。
私のvimrcもほかの方のvimrcを元に作ったものです。vimrcをコピーしてそのまま使うと慣れないことが起こりやすい。ですから、理解した上、自分の環境と合わせてカスタマイズしてください。
VimのHTMLエクスポート機能を使って、vimrcの内容とスタイルをそのままエクスポートしたものなので、以下のvimrc.htmlは私のvimrcになります。
この私のvimrcと.vimフォルダ(Windowsはvimfiles)の内容のダウンロードはこちらです。
ここで、シリーズ Vimでシステム開発 が全部掲載されました。ご参考になりましたか?少しでも、Vimがもっと好きに成れば嬉しいです。
殆どのIDEは入力補完機能を提供しています。優れたエディタであるVimは勿論補完機能を設けています。しかも、Vimはプログラム・ソースだけではなく、ファイル名、字引、バッファによる色々な形の補完をサポートしています。
Vimの補完を大きく分けて、OMNI補完とその他補完になります。
Onmi補完は幾つかのプログラミング言語を対応しています、例えばC,C++,XML/HTML,CSS,JAVASCRIPT,PHP,RUBYなどを挙げます。詳しいリストは「:help compl-omni-filetypes」で参照します。ここで、主にCとC++に関する補完を紹介します。
Vimは補完を行う時、ファイル・タイプによって補完関数が異なります。即ち、Onmi補完を利用するには、ファイル・タイプ認識機能を有効にしなければ成りません。以下の一行をvimrcに追加し、タイプ認識を有効にします。
filetype plugin indent on
Cの補完
CとC++ソースのOnmi補完は、Exuberant ctagsが作ったタグファイルを利用します。Exuberant ctagsの詳細について、シリーズの Vimでシステム開発 — tagファイルとtaglistプラグイン(その1) を参照します。
Vim 7.1のソースを例として、vim71/src にて、コマンドから「ctags -R」を実行し、タグファイルを生成します。
VimMain()関数にて、「gui」を入力し、「CTRL-X CTRL-O」を押すと、Vimの状態欄に「Omni Completeion」が表示されます。これは補完を行っていることを表します。また、マッチしたタグがプルダウンに表示され、矢印キーで選択し、Enterを押せばソースに挿入できます。
前回は 基本的な移動 を紹介しました、今回はより高度な移動を紹介し、更に速やかにジャンプしましょう。
Vimにて、色んなコマンドはカーソルをジャンプ(移動)させます。Vimはジャンプ前のカーソルの位置をジャンプ・テーブルに記録し、このジャンプ・テーブルを使う幾つかのコマンドを提供しています。具体的にどういうコマンドはジャンプをさせるか「:help jump-motions」を参照します。ジャンプ・テーブルを確認するのは「:jumps」です。
「’’」と「“」 は最近のジャンプ位置に戻ります。例えば、今カーソルは1234行にあります、「G」コマンドで4321行へ移動しました。この時、「’’」または 「“」を使って1234行へ戻ります。この二つも移動コマンドですので、4321行もジャンプ・テーブルに記録され、もう一度「’’」または「“」を 押すとカーソルは1234行に戻ります。
この二つの違いは、「“」は前回の列まで戻るが、「’’」は前回の行のはじめの空白でない文字に戻ります。
もっと古いジャンプ場所へ戻るには「CTRL-O」を使います。これと逆に、「CTRL-I」はもっと新しいジャンプ場所へ移動します。この二つのコマンドも数字を入れて倍数を指定できます。関連ヘルプは「:help CTRL-O と :help CTRL-I」
Vim内の移動方法は非常に沢山ありますが、全部把握する必要がありません。私たちの目標はVimマスタになることではなく、効率よくファイルを編集することです。移動方法の中よく使う方法を勉強しましょう。
以下紹介するコマンドは、特に説明がなければNormalモードで使うコマンドとします。これらのコマンドのヘルプは「:help コマンド名」です。例えば、「j」コマンドは、「:help j」です。
上下左右
最も簡単かつ最も使うコマンドのh,j,k,lから始めましょう。
h,j,k,lはそれぞれ左、下、上、右へ移動します。多くのVimコマンドと同じ、これらのコマンドの前に数字を入れて、移動の倍率を表します。例えば、「10j」は下10行へ。
デフォルトでは、hとlコマンドはカーソルを現在の行から外さない。カーソルは行の頭にあれば、hを押しても前の行へ行きません。前の行へ行くようにするのは、「whickwrap」オプションを設定します。詳しくは「:help ’whichwrap’」
Vimの作者はキーのバインドについて、色々工夫しました。ほかのh,j,k,lのキーバインドを見てみましょう。各ウィンドの間に移動のコマンドは、 CTRL-W h/j/k/l(:help CTRL-W_h)。ウィンドの位置を上下左右に移動する時は、CTRL-W H/J/K/L(:help CTRL-W_H)。