2011-08-22 124 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

相關問題