私はvimの同じ行で複数のコマンドを実行できるようにするものを見つけようとしました。これは、セミコロンを使用して* nixシステムのコマンドまたはWindowsの&
を分離するようなものです。これを行う方法はありますか?
バー|
を使用すると、これを行うことができます。 :help :bar
から
'|'
を使用してコマンドを分離できるため、複数のコマンドを1行で指定できます。引数で'|'
を使用する場合は、'\'
を前に付けます。
例:
:echo "hello" | echo "goodbye"
出力:
hello
goodbye
注意:~/.vimrc
は|
または\|
のマッピングをサポートしていない場合があります。これらの場合、代わりに<bar>
を使用してみてください。
コマンドの前後に<CR>
(キャリッジリターン/エンター)を挿入します。例えば:
map <F5> :w<CR>:!make && ./run<CR>
|
を使用しないでください:
コマンドの後に|
を使用すると問題が発生するコマンドがあります
|
は構成ファイルで一貫して機能しません。:help map_bar
を参照してください
コマンドを実行する関数を定義できます。
function Func()
:command
:command2
endfunction
そして、これをたとえばvimrcに配置します。で関数を実行する
exec Func()
Vimのコマンド区切り文字は|
です。
私はいつも^J
を使用して、複数のコマンドを分離するために Ctrl+v、 Ctrl+j。
これは、誰かがチェーンで置換を行おうとすると失敗するのに役立つかもしれないと思った
コメント から
% s/Word/newword/ge | % s/Word2/newword2/ge
e
フラグを使用して、文字列が見つからない場合にエラーを無視できます。
新しいファイルを作成して、コマンドを書き込むことができます。次に、:so %
、つまりソースの現在のファイルを意味します。