![vim - 打开文件并使用转到行号::](https://linux22.com/image/26078/vim%20-%20%E6%89%93%E5%BC%80%E6%96%87%E4%BB%B6%E5%B9%B6%E4%BD%BF%E7%94%A8%E8%BD%AC%E5%88%B0%E8%A1%8C%E5%8F%B7%3A%3A.png)
诸如grep
、py.test
等多种工具使用该模式<FileName>:<line number>:
来指出错误。例如:
; grep -Hn Common setup.cfg
setup.cfg:11: Common
我如何修改 vim 和 gvim 以便我可以像这样调用它们:
gvim setup.cfg:11:
代替
gvim setup.cfg +11
我知道我可以编写一个小的 shell 脚本来解析内容,但我想知道是否有更简单的方法。
答案1
您可以使用可用的 file:line 插件这里,这正是你想要的......
答案2
没有办法,我认为脚本是唯一的方法。原因是,如果您有一个名为 setup.cfg:11 的文件并想要编辑它怎么办?
这是一个快速脚本,可以满足您作为单行者的需求......
editline() { vim ${1%%:*} +${1##*:}; }
答案3
和Vundle.vim,将其添加到您的.vimrc
:
Plugin 'bogado/file-line'
答案4
您还可以使用这样的别名:
alias gd 'set number=`echo \!:1 | perl -pe "s/([0-9]*:)?(.+)[,:]([0-9]+).*/\3/"`; set file=`echo \!:1 | perl -pe "s/([0-9]*:)?(.+)[,:]([0-9]+).*/\2/"`; eval "if ($number == $file) then \\
gvim $file \\
else \\
gvim $file +$number \\
endif"'