VIM范围行号寄存器

时间:2012-10-05 19:45:54

标签: git vim

是否有一个寄存器或变量保存当前所选范围的行号?

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的新手,但从我从初始谷歌搜索中收集到的内容,上述功能接受了一个范围。然后我获取开始和结束行号并使用它们来执行与Github API接口的外部脚本github和/或根据git信息打开浏览器到github页面。

1 个答案:

答案 0 :(得分:8)

    分别为
  • '<'>

    所以:line("'<")line("'>")应该是您所期望的

  • 此外,

    :'<,'>sort
    

    对最后一个视觉选择进行排序

  • ` &lt; 跳转到最后一个视觉选择的开头(另见:he v_o

  • 最后,如果'cpoptions' 包含*,您可以使用:*作为:'<,'>的同义词{1}}:

    :se cpoptions-=*
    :*sort