この記事は、進行中の Vi / Vim のヒントとテクニック シリーズの一部です。プログラマーは、コーディング中に次のような多くの反復タスクを実行する場合があります。
- ファイル ヘッダーの追加
- 関数/フレーム コメントの追加
- デフォルトのコード スニペットを含む
- 構文チェックの実行
- 関数に関するドキュメントを読む
- コード ブロックをコメントに、またはその逆に変換する
C サポート Vim プラグインは、上記のすべてを行う最も簡単な方法を提供し、C および C++ プログラマーの時間とキーストロークを大幅に節約します。
このプラグインは、プラグインの目的を次のように説明する Fritz Mehner によって作成されました。ステートメント、イディオム、コメントを挿入する」.
彼は次の特徴も強調しています:
- C / C++ プログラムのステートメント指向の編集
- 新しいコードの作成を大幅にスピードアップします。
- 最初からプロフェッショナルな見た目でコードとコメントを書く
- コード スニペットを使用する
この記事では、プラグインを 3 つの簡単な手順でインストールする方法と、プラグインの 7 つの強力な機能について説明します。
C.Vim プラグインをインストールする 3 つの手順
ステップ 1:C Vim プラグインをダウンロード
vim.org Web サイトからプラグインをダウンロードします。
$ cd /usr/src $ wget http://www.vim.org/scripts/download_script.php?src_id=9679
ステップ 2:C Vim プラグインをインストールする
$ mkdir ~/.vim $ cd ~/.vim $ unzip /usr/src/cvim.zip
ステップ 3:~/.vimrc でプラグインを有効にする
~/.vimrc に次の行を追加して、Vim エディターのプラグインを有効にします。
$ vim ~/.vimrc filetype plugin on
C.Vim プラグインの 8 つの強力な機能
機能 1:*.c ファイルに自動ヘッダーを追加
拡張子が .c のファイルを開くと、以下に示すようなヘッダー付きのファイルが開きます。これにより、挿入モードの [説明] フィールドにもカーソルが置かれます。
$ vim myprogram.c /* * ================================================= * Filename: myprogram.c * * Description: * * Version: 1.0 * Created: 01/19/09 20:23:25 * Revision: none * Compiler: gcc * * Author: Dr. Fritz Mehner (mn), [email protected] * Company: FH Südwestfalen, Iserlohn * * ================================================= */
AUTHOR と COMPANY のデフォルト値を変更するには、~/.vim/c-support/templates/Templates のデフォルト値を変更します
$ vim ~/.vim/c-support/templates/Templates |AUTHOR| = geekstuff |AUTHORREF| = gk |EMAIL| = subscribe@geekstuff |COMPANY| = thegeekstuff.com
ここで、新しい c ファイルを作成すると、以下に示すように、AUTHOR と COMPANY の変更された値が表示されます。
$ vim myprogram.c /* * ================================================= * * Filename: myprogram.c * * Description: * * Version: 1.0 * Created: 01/19/09 20:26:43 * Revision: none * Compiler: gcc * * Author: geekstuff (gk), subscribe@geekstuff * Company: thegeekstuff.com * * ================================================= */
注: カスタム フィールドをヘッダーに追加するには、~/.vim/c-support/templates/file-description.template ファイルを変更し、独自のカスタム フィールドを追加します。
機能 2:\if を使用した C 関数の追加
サブルーチンを作成するには、通常モードで \if と入力します。これにより、関数名の入力が求められ (下の図 1 に示すように)、デフォルトの関数内容でサブルーチンが挿入されます (下の図 2 に示すように)。
図 1:C 関数の自動挿入
図 2:C 関数を自動的に挿入
機能 3:\im を使用してメインの関数ヘッダーを挿入
main 関数を挿入するには、通常モードで \im と入力します。これにより、次に示すように main 関数が追加されます。
図 3:C の main 関数を自動的に挿入する
機能 4:\cfu を使用して関数ヘッダーを挿入する
関数ヘッダーを挿入するには、通常モードで \cfu と入力します。これにより、図 4 に示すように関数名が尋ねられ、図 5 に示すようにコメントが追加されます。
図 4:C 関数ヘッダーを自動的に挿入する
図 5:C 関数ヘッダーを自動的に挿入する
機能 5:\cfr を使用してフレーム コメントを追加する
フレーム コメントを追加するには、通常モードで \cfr と入力します。これにより、次のような書式設定されたコメントが表示されます。
図 6:フレーム コメントを自動的に挿入する
機能 6:ヘッダー ファイルをインクルードするには、\p を使用します<
テキスト「#include <>」を含む通常モードで \p<と入力し、ヘッダー ファイル名を入力できる挿入モードで <記号にカーソルを置きます。
機能 7:ファイルを保存し、コンパイルしてすぐに実行します。
ファイルを保存してコンパイルするには、\rc を使用します。
実行するには \rr を使用してください。
機能 8:\nr を使用して、定義済みのコード スニペットを C コードに挿入する
プラグインには、コードに挿入できる定義済みのコード スニペットがいくつか付属しています。以下は、プラグインに付属するデフォルトのコード スニペットです。
$ ls ~/.vim/c-support/codesnippets Makefile calloc_double_matrix.c main.c print_double_array.c.noindent Makefile.multi-target.template calloc_int_matrix.c main.cc print_int_array.c.noindent
たとえば、行*列のサイズの動的 int マトリックスを割り当てる関数を作成する場合は、次のようにします。ポインターを返す場合、既存のコード スニペットから再利用できます。以下は、calloc_int_matrix.c の定義済みコード スニペットの内容です。
/* * === FUNCTION ====================================================================== * Name: calloc_int_matrix * Description: Allocate a dynamic int-matrix of size rows*columns; return a pointer. * ===================================================================================== */ int** calloc_int_matrix ( int rows, int columns ) { int i; int **m; m = calloc ( rows, sizeof(int*) ); /* allocate pointer array */ assert( m != NULL ); /* abort if allocation failed */ *m = calloc ( rows*columns, sizeof(int) ); /* allocate data array */ assert(*m != NULL ); /* abort if allocation failed */ for ( i=1; i m[i] = m[i-1] + columns; return m; } /* ---------- end of function calloc_int_matrix ---------- */
これを作業中の C プログラムに挿入するには、vim 内の通常モードから \nr と入力します。これにより、「read snippet /home/ramesh/.vim/c-support/codesnippets/」というプロンプトが表示され、calloc_int_matrix.c と入力します。 ~/.vim/c-support/codesnippets/calloc_int_matrix.c の内容が作業ファイルに自動的に挿入されます。
注意 :独自のコード スニペットを定義して ~/.vim/c-support/codesnippets/ の下に配置できます。また、既存のコードから独自のコード スニペットを作成することもできます。コード スニペットとして作成する必要があるコードの部分を選択し、\nw を押して、それにファイル名を付けます。次回から、\nr とファイル名を入力して、カスタム コード スニペットを取得します。
C-Support Vim Plugin には強力な機能がたくさんあります。詳細については、ドキュメントを参照してください。ドキュメントは、システムの次の場所にあります。
- README :~/.vim/README.csupport
- PDF :~/.vim/c-support/doc/c-hotkeys.pdf
- オンラインの c-support vim プラグイン ドキュメント
- このプラグインには、:h csupport で表示できるヘルプ ファイル (csupport.txt) が付属しています
- このプラグインの追加のスクリーンショット
推奨読書
Vim 101 ハック、Ramesh Natarajan 著 .私はコマンドライン中毒です。だから当然、私は Vi と Vim エディターの大ファンです。数年前、Linux で多くの C コードを書いていたとき、利用可能な Vim エディターのヒントとコツをすべて読んでいました。私の Vim エディターの経験に基づいて、Vim エディターで高速かつ生産的になるさまざまな高度な Vim 機能に関する 101 の実用的な例を含む Vim 101 Hacks eBook を作成しました。数年間 Vi および Vim エディタを使用しており、この本をまだ読んでいない場合でも、ぜひこの本を読んでください。 Vim エディターの機能に驚かれることでしょう。
素晴らしい Vim エディターの記事
以下は、すばらしい Vi / Vim エディタの チュートリアル です。
- Vim エディタをあらゆるプログラミング言語用の美しいソース コード ブラウザに変換
- Vim Editor の 12 の強力な検索と置換の例
- Vi と Vim マクロのチュートリアル:記録と再生の方法
- Vimperator アドオンを使用した Vim エディター機能を備えたターボチャージ Firefox ブラウザー
注: The Geek Stuff を購読して、今後の Vi および Vim エディタのヒントとコツをお見逃しなく .