編集したファイル内のテキストの存在に応じて、関数内のコードを条件付きで実行する方法を探しています。私はそれを行う方法を見つけましたが、それは機能しますが、あまり「きれい」に感じません。
ここに私が持っているものがあります:
function! foo()
(...)
let v:errmsg = 'ok'
execute "silent! normal! :/" . l:pattern . "\r"
if v:errmsg == 'ok'
(... do stuff ...)
else
(... do other stuff ...)
endif
endfunction
問題は、v:errmsgを不格好に使用しなくても、同じ結果がなんとかして得られるかどうかです。
私が頭に浮かぶのは、
function! foo()
(...)
if GrepInCurrentBuffer(l:pattern)
(... do stuff ...)
(...etc...)
@VanLaser:これは完璧に機能し、まさに私が探していたものです。どうもありがとう!
—
Dalker、2015年
どういたしまして!一般的には、利用できるものを発見するために、このから始める:
—
VanLaser
:h function-list
search()
-参照:h search()