2016-03-28 15 views

答えて

2

<args1>および<args2>は存在しない。あなたはこれを自分で発明しました。関数に渡すために、

fun! s:sub(search, replace) 
    execute ':%s/' . a:search . '/' . a:replace . '/gc' 
endfun 
command! -nargs=+ Replace call s:sub(<f-args>) 

<f-args>が適切な引用とコンマ空白でコマンド引数を分割して追加します。これを行う最も簡単な方法は、関数のラッパーと<f-args>を使用することです。

関数ラッパーを使用すると、実行が完了した後に@/レジスタをリセットするという追加の利点もあります。これを望まない場合は、明示的にそれにlet @/ = a:searchを割り当ててください。これ以外

は、あなたの:command呼び出しに関するほとんどすべてが間違っている:

  • -nargs=2はサポートされていません - あなたはコマンド名を記入するのを忘れ:help :command-nargs
  • を参照してください。
  • //は、VimScriptでのコメントの表示には使用されません。それには"が使用されます。

構文の詳細については、:help :commandを参照してください。

関連する問題