是否有一个寄存器或变量保存当前所选范围的行号?
line(".")
适用于当前行,但在视觉范围内有一个吗?
编辑
如下所述,'<
和'>
寄存器保存起始行和结束行.
除了使用上面的内容之外,我最后做的是在VimScript中编写一个函数,它接受这些行号并执行外部命令,我将在下面包含它:
function! Github(line1, line2)
execute "!github -f " . expand("%") . " -l " . a:line1 . " -n " . a:line2
endfunction
com! -range Github call Github(<line1>, <line2>)
Run Code Online (Sandbox Code Playgroud)
我是VimScript的新手,但从我从最初的谷歌搜索收集的内容来看,上面的函数接受了一个范围.然后我获取开始和结束行号并使用它们来执行github
与Github API接口的外部脚本和/或根据git信息打开浏览器到github页面.
'<
和'>
分别.
所以:line("'<")
和line("'>")
应该是你所期望的
也,
:'<,'>sort
Run Code Online (Sandbox Code Playgroud)
排序最后的视觉选择
`<跳到最后一个视觉选择的开头(另见:he v_o
)
最后,如果'cpoptions'
它不包括*
,您可以使用:*
作为一个代名词:'<,'>
:
:se cpoptions-=*
:*sort
Run Code Online (Sandbox Code Playgroud)