2011-08-22 75 views
5

我几乎只在终端工作,并且经常需要查看出现在错误堆栈跟踪中的文件。一个非常常见的格式是/some/file:99,其中99是行号。我希望能够复制该行,并在vim中轻松打开该行。有没有办法让vim识别文件名末尾的行号?

我在找的是做:e /some/file:99的能力,vim会自动在第99行打开这个文件。是否存在这样的事情?如果没有,是否可以为它编写一个插件?

回答

1

这个插件在设计时就考虑到这一特定目的:file:line

6

编辑命令可以使用的选项,所以试试这个:

:e +99 /some/file 

刚刚发现这个链接:

http://vim.runpaint.org/basics/opening-files/

您可以用+行号指示Vim的前缀名打开后跳转到给定的行。例如,vim +7 todo.list或:e +100 treatise.txt。如果你忽略了linenumber,即你在文件名前添加了+,Vim将跳转到文件末尾。

+0

是否可以将':e/some/file:99'重新映射到':e +99/some/file'?或者是否有更好的方法来解决这个问题?虽然你的解决方案很干净,但对于我的用例来说,只是打开文件,然后执行':99' – Suan

+0

gf命令是你在找什么? http://vim.wikia.com/wiki/Open_file_under_cursor –

1

这个/some/file:99来自哪里?它是一些外部命令的输出吗?如果是这样,你应该阅读与quickfix模式相关的文档。 (:h quickfix)。

+0

错误/堆栈跟踪输出似乎有一个非常标准的文件路径格式:linenumber,这是我从 – Suan

+0

@Suan:你的意思是你有一个文件包含编译错误在Vim中打开,你想跳转到文件的相关行? –

+0

然后你最好正确配置''makeprg'',并调用':make'。无需使用任何插件。这是一个内置功能。 –

2

如果你可以重定向/some/file:99到文件,然后你可以在99行只需按下gF当光标在文件名跳转到/some/file

相关问题