別の方法は、を使用:h :ilist
することです。これを使用して、manページの概要を取得します。結果は次のようになります。
~/find.~
1: 3 NAME
2: 6 SYNOPSIS
3: 9 DESCRIPTION
4: 18 OPTIONS
5: 93 EXPRESSION
6: 779 EXAMPLES
7: 877 HISTORY
8: 931 BUGS
インデックスによって結果行に移動することを選択できる小さな関数を次に示します。
function! s:select_ilist(ilist_result)
if empty(a:ilist_result) || a:ilist_result =~# '^\_s*Error'
return
endif
let select = input(a:ilist_result . "\ngoto : ")
if empty(select) | return | endif
" ilist result starts with '\nfilename\n', filename can be empty
let lines = split(a:ilist_result[stridx(a:ilist_result, "\n", 1) : ], "\n")
if select <= 0 || select > len(lines) | return | endif
exec matchstr(lines[select-1], '^\v\s*\d+\:\s+\zs\d+')
endfunction
次のように使用できます。
command! -buffer Section call s:select_ilist(execute('silent! ilist /\v\C^[A-Z][^a-z]+$/'))
:vimgrep
略称することができます:vim