似たようなコマンドを何度も書き直すのは退屈な場合があるので、それらすべてを事前に書き込んで、1 つのカスタマイズされたコマンドに保存し、一度だけ使用したいと考えています。ただし、これから使用する新しいコマンドは現在使用しているファイルにのみ必要なので、わざわざ vimrc ファイルを変更したくありません。ここに私の質問があります。コマンドをファイルに事前に書き込み、それをvimにロードしてから、一度だけ使用することは可能ですか? 可能であれば、どのように行うのですか?
ありがとう。
似たようなコマンドを何度も書き直すのは退屈な場合があるので、それらすべてを事前に書き込んで、1 つのカスタマイズされたコマンドに保存し、一度だけ使用したいと考えています。ただし、これから使用する新しいコマンドは現在使用しているファイルにのみ必要なので、わざわざ vimrc ファイルを変更したくありません。ここに私の質問があります。コマンドをファイルに事前に書き込み、それをvimにロードしてから、一度だけ使用することは可能ですか? 可能であれば、どのように行うのですか?
ありがとう。
ファイルをソースするだけです:
:source /p/a/t/h
また、.vimrc で autocmd を使用できます。
autocmd BufRead,BufNewFile *.whatever source /p/a/t/h
または、ファイルをソースするのではなく、コマンドを直接autocmd
.
具体的な例がなければ、アドバイスするのは難しいです。次のように、特定のファイルタイプのカスタムコマンドを定義したいようです:
:command -buffer ComplexSubstitute %substitute/foo/bar/g
を参照してください:help user-commands
。バッファスコープについては、それらを~/.vim/ftplugin/<filetype>_commands.vim
かそこらに入れます。では:filetype plugin on
、これらのファイルは自動的にソースされます。:map
または、同じ方法でバッファローカル ping を定義することもできます。
前のコマンドをすばやく繰り返すには、私のredocommand pluginを試すことができます。渡されたパターンを含む履歴から最後のコマンドを繰り返します。例:
:%substitute/foo/bar/g
" ... some time later ...
:R %s
組み込みコマンドを使用すると、コマンド ( :%s
) の繰り返しを開始し、最後のコマンドを で完了することができます↑。
ええと、それが一度だけなら、自然な(通常の)方法があります
^y$
、コードをヤンクします。そうしないyy
と、キャリッジがヤンクされます:
、C-r "
を押してコマンドラインに貼り付けます。<CR>
利益へ。少し面倒ですが、動作します。私もいつかそうします:)