2017-02-25 16 views
1

使用Vim,有沒有辦法讓下一行自動出現編譯錯誤?有沒有辦法將它綁定到一個鍵?我相信這個特性存在於emacs中。在Vim中自動轉到下一個編譯錯誤

讓我們假設你在命令行上編譯,現在知道你的代碼中哪些行有錯誤,所以你回到使用Vim編輯你的代碼。你記得有錯誤的第一行,所以你跳到那一行並修正你的錯字。如何在不退出vim並再次查看命令行的情況下轉到下一個錯誤行?

我知道你可以使用像tmux這樣的終端多路複用器來幫助這個過程,但那不是我真正想要的。

回答

4

如果你的編譯器生成包含錯誤列表的文件(讓我們稱之爲errorfile),你可以簡單地做:

$ vim -q errorfile 

,然後使用以下命令:

:cn[ext]  " jump to next error 
:cp[revious] " jump to previous error 
:cc 12   " jump to error number 12 
:copen   " open the quickfix window 

:help quickfix爲quickfix命令的完整列表。

或者,也可以從Vim的直接編譯:

:make 

和使用上面的QuickFix命令。

有關設置/使用說明,請參見:help :make