vim-使用<文件名>:<行nbr>打开文件并转到行号:


21

一些工具,如greppy.test等...使用模式<FileName>:<line number>:,以点错误。例如:

; grep -Hn Common setup.cfg
setup.cfg:11:    Common

我该如何修改vim和gvim以便像这样调用它们:

gvim setup.cfg:11:

代替

gvim setup.cfg +11

我知道我可以编写一个小的shell脚本来解析内容,但是我想知道是否有更简单的方法。


2
这不是完全类似,但是vim确实具有从grep加载输出或从make生成(例如)编译器错误并在它们之间导航的功能。请参阅:help quickfix以获取更多信息。
Random832

Answers:



9

没有办法,我认为脚本是唯一的办法。原因是,如果您有一个名为setup.cfg:11的文件并想要对其进行编辑该怎么办?

这是一个快速脚本,可以按照您的个人意愿进行操作...

editline() { vim ${1%%:*} +${1##*:}; }

抱歉,这不准确:如果您有一个名为的文件,该+11怎么办?您当然可以使用--它。
Sardathrion-恢复莫妮卡2012年

2
您可以通过说vim ./+11
Julian


0

您也可以使用以下别名:

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"'
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.