範囲で検索と置換を実行する関数を作成しようとしています。
これをvimコマンドとして実行できることは知っています:2,5 s/some pattern/something else/
が、関数定義内でこれがどのように機能するかわかりません。最初に、私は試しました
function! MyFunc() range
a:firstline,a:lastline s/some pattern/something else/
endfunction
しかし、その関数をロードしようとすると、エラーが発生しますMissing :endfunction
。このような状況で call が使用されることがある他のチュートリアルや例で気づいたように、call も試しました。call a:firstline,a:lastline s/some pattern/something else/
と の両方を試しましa:firstline,a:lastline call s/some pattern/something else/
た。これで機能が読み込まれました。しかし、実行して関数を呼び出そうとすると、検索/置換行を指すエラーが発生します:2,4 call MyFunc()
。Missing parenthesis
誰でもこれで私を助けることができますか?関数呼び出しで検索と置換を行う方法の例をまだ見つけていません。
ありがとう