範囲を取り、それを関数に渡すことができるコマンドを定義しようとしています。これは私が持っているべきだと思ったものです:
function! PrintGivenRange() range
echo "firstline ".a:firstline." lastline ".a:lastline
" Do some more things
endfunction
command! -range PassRange call PrintGivenRange()
ただし、そのようには機能せず、最初の行しか通過しないようです。
例えば
:1,5PassRange "outputs firstline 1 lastline 1
:1,5call PrintGivenRange() "outputs firstline 1 lastline 5
" if you select lines in visual mode, same thing for both
私は:help command-range
すでに読んだことがありますが、まだこれを理解することができませんでした。プレフィックスの範囲をに渡すことになっていcall
ますか? これを修正するにはどうすればよいですか?