vimscript関数では、l:matched
呼び出し後に一致した文字列を変数に割り当てる必要search()
があり、現在行っている方法よりも短い方法があるかどうか疑問に思っています。
let l:pattern = '\v^Foo: \zs.*'
let l:line = search(l:pattern)
let l:line_text = getline(l:line)
let l:matched = matchstr(l:line, l:pattern)
理想的には、次のようなものが欲しい
let l:matched = search_text(l:pattern)
に頼らずにgetline()
。見つけられないようなvim関数はありますか?
1
悲しいことに、答えはノーです。
—
佐藤桂
protip:ローカル変数は関数内のデフォルトであるため、おそらく
—
ピーターリンカー
l:
名前空間宣言を無視できます。
関数では、おそらく次のことができ
—
クリスチャンブラバンド
:let @/="pattern" | norm! ygn
ます。レジスタ0の内容を利用可能にします。