2009-11-05 17 views
6

私は、このようなコマンドを実行したい:私はコマンドで文字をエスケープ書く方法エスケープ文字

vim -c "%g/blablabla/norm /str<ESC>cwSTR" file 

答えて

12

あなたは脱出を入力するを逃れる、その後制御-Vを使用し、コマンドを入力すると。

しかし、私はvimがこの仕事に適したツールであるかどうか疑問に思っています。通常、あなたはsedのようなものでより良いでしょう。つまり、私はvimコマンドが何であるかははっきりしていないので、おそらくあなたはそれを必要とします。

+0

実際に私がしたいのは、いくつかの関数の最後の引数を置き換えることです。だから私はvimの機能を使ってコードをナビゲートしています。実際のコマンドは、-c "%g/fun_name // func_name w%bcwREPLACE_TEXT"です。この検索フュージョンの呼び出しは、終了に向かう)、1ワード後方へステップし、最後の引数を置き換えます。 – dimba

+0

それはうまく動作します。私はそれがbashでもうまく動作していることを知らなかった、私はそれがvimでのみ動作すると思った。 – dimba

+0

@idimba:私はあなたが仕事にvimを使っている理由を知っています。あなたがやっていることを考えれば、ほとんどの他のツールよりも理にかなっているでしょう。 –

0

これは私がどうなるのかです:幹部をリアルに「\」を展開するために:私は使用しています

vim -s -c ':exec "normal %g/blablabla/norm /str\<Esc>cwSTR"' file 

注意してください。利点?それはよりスクリプトに優しいです。しかし、私はこのコマンドが何をしているのか分かりません。あなたのカスタムマップをここで使っていますか?

関連する問題