2016-10-15 4 views
0

サンプルマクロreg a :s/a/b/^M:s/c/d/^M ^ Mが有効です。ウィンドウのgvimのマクロでコマンドの末尾に^ Mを追加する方法

私はそれを私の_gvimrcファイルに保存しようとしています。これは技術的には動作しますが、^ Mは無効です。

let @a = ':s/a/b/^M:s/c/d/^M' 

私はそれを実行すると "後続の文字"エラーが発生します。

私は\ r、\ n、\ r \ nなどさまざまなことを試しました。

質問には、保存されたマクロに改行を付ける方法がありますか?

マクロを使用しないこれについてのより良い方法がある場合は、私は提案を公開しています。私は3つまたは4つの検索と置換コマンドを自分のログファイルに対して実行したい。

答えて

0

代わりに<cr>を使用してください。そしておそらく<bar> 2つのコールの間の1つ - 私は決して覚えていない。

そうでなければ、あなたはまた\<CR>がうまく動作するはず脱出し、コマンド(:h :command

" <bar> or <cr> ? i.e: untested 
:command! -nargs=0 -range=1 MySub :s/a/b/<bar>:s/c/d/ 
+0

おかげで、なしそれらのいずれかと運が良い。私はおそらく今のところ十分かもしれないスクリプトファイルを使用して終了しました。 'gvim.exe '-s cmds.txt mylogfile.log' cmds.txt':1、$ s/a/b/g'コマンドごとに1行、最後に改行を入れて最後の行を実行します。 – kweinert

0

どちらリテラル^ Mだけでなく、二重引用符で囲まれたを定義することも可能です。

let @a = 's/a/b/^M:s/c/d/^M' 
let @b = "s/a/b/\<CR>:s/c/d/\<CR>" 
関連する問題