是否有一个寄存器或变量来保存当前选定范围的行号?
line(".")
可以用于当前行,但在视觉范围内是否有相应语法?
编辑
如下面所述,'<
和 '>
寄存器保存了起始和结束行。
除使用上述方法外,我还编写了一个VimScript函数,可以使用这些行号并执行外部命令,将其包含如下:
function! Github(line1, line2)
execute "!github -f " . expand("%") . " -l " . a:line1 . " -n " . a:line2
endfunction
com! -range Github call Github(<line1>, <line2>)
我完全不懂VimScript,但通过Google搜索得知上述函数接受一个范围。然后我将起始和结束行号用于执行外部脚本github
,该脚本与Github API进行交互并/或基于git信息打开浏览器到Github页面。
:*
命令,比gv:
命令少一个按键)。 - Ingo Karkat:'<,'>
打起来很痛苦。我通常会用gv:
代替(这样就不需要依赖cpoptions
来使用:*
)。 - sehe