1

似たようなコマンドを何度も書き直すのは退屈な場合があるので、それらすべてを事前に書き込んで、1 つのカスタマイズされたコマンドに保存し、一度だけ使用したいと考えています。ただし、これから使用する新しいコマンドは現在使用しているファイルにのみ必要なので、わざわざ vimrc ファイルを変更したくありません。ここに私の質問があります。コマンドをファイルに事前に書き込み、それをvimにロードしてから、一度だけ使用することは可能ですか? 可能であれば、どのように行うのですか?

ありがとう。

4

4 に答える 4

5

ファイルをソースするだけです:

:source /p/a/t/h

また、.vimrc で autocmd を使用できます。

autocmd BufRead,BufNewFile *.whatever source /p/a/t/h

または、ファイルをソースするのではなく、コマンドを直接autocmd.

于 2013-02-26T16:22:10.743 に答える
2

具体的な例がなければ、アドバイスするのは難しいです。次のように、特定のファイルタイプのカスタムコマンドを定義したいようです:

:command -buffer ComplexSubstitute %substitute/foo/bar/g

を参照してください:help user-commands。バッファスコープについては、それらを~/.vim/ftplugin/<filetype>_commands.vimかそこらに入れます。では:filetype plugin on、これらのファイルは自動的にソースされます。:mapまたは、同じ方法でバッファローカル ping を定義することもできます。

于 2013-02-26T16:43:40.243 に答える
1

前のコマンドをすばやく繰り返すには、私のredocommand pluginを試すことができます。渡されたパターンを含む履歴から最後のコマンドを繰り返します。例:

:%substitute/foo/bar/g
" ... some time later ...
:R %s

組み込みコマンドを使用すると、コマンド ( :%s) の繰り返しを開始し、最後のコマンドを で完了することができます

于 2013-02-26T18:03:13.437 に答える
0

ええと、それが一度だけなら、自然な(通常の)方法があります

  1. 任意のファイルに1行でコマンドを記述します。作業したい他のファイルにヤンクできます。
  2. この行で^y$、コードをヤンクします。そうしないyyと、キャリッジがヤンクされます
  3. でコマンドラインに移動し:C-r "を押してコマンドラインに貼り付けます。<CR>利益へ。

少し面倒ですが、動作します。私もいつかそうします:)

于 2013-02-26T17:21:50.020 に答える