私のソースコードのファイル名が「foo.c」だとします。編集およびデバッグ中に、私は常にこのコマンドを実行します-
:!gcc -g foo.c -o foo; gdb foo
「:debug」と入力すると上記のコマンドが実行されるように、Vimにカスタムコマンドを追加できますか?どうすればそれを達成できますか?
私のソースコードのファイル名が「foo.c」だとします。編集およびデバッグ中に、私は常にこのコマンドを実行します-
:!gcc -g foo.c -o foo; gdb foo
「:debug」と入力すると上記のコマンドが実行されるように、Vimにカスタムコマンドを追加できますか?どうすればそれを達成できますか?
回答:
はい。Vimドキュメント、セクション40.2、コマンドラインマッピング:
Vimエディターを使用すると、独自のコマンドを定義できます。これらのコマンドは、他のコマンドラインモードコマンドと同じように実行します。コマンドを定義するには、次のように「:command」コマンドを使用します。
:コマンドDeleteFirst 1delete
さて、コマンド ":DeleteFirst"を実行すると、Vimは ":1delete"を実行し、最初の行を削除します。
注:ユーザー定義コマンドは大文字で始める必要があります。「:X」、「:Next」、「:Print」は使用できません。アンダースコアは使用できません!数字を使用できますが、これはお勧めできません。
その行を~/.vimrc
(:
もちろん初期値を差し引いて)あなたの行に入れると、vimを起動するたびに定義されます。また、使用%:t
して、編集中のファイルへの参照を作成します(書き込み! gcc %:t
はに置き換えられます! gcc foo.c
)。
これにより、ユーザー:Legend
が通常モードで入力したときに、カーソルの下にテキストブロックが追加されます。
ステップ1:この行を〜/ legend_header.txt`という名前のファイルに入れます
this text will be added
ステップ2:このコマンドを〜/ .vimrcファイルに追加します(ファイルが存在しない場合は作成します):
"The following command puts the contents of ~/legend_header.txt
"under the cursor when the user types ":Legend" in normal mode.
command Legend :r ~/legend_header.txt
ステップ3:変更を有効にするためにviを再起動します。できました。
試して
ステップ1:viで新しいファイルを開きます。viのデフォルトの「通常モード」になります。タイプ:Legend
ステップ2:~/legend_header.txt
カーソルがある場所にコンテンツを追加する必要があります。
command!
。