Vim 中的 `:cw` 指令:如何避免自動跳到第一個錯誤?

Vim 中的 `:cw` 指令:如何避免自動跳到第一個錯誤?

在 Vim 中,:cw如果有任何錯誤,命令會顯示快速修復窗口,並讓遊標跳到快速修復窗口中第一個識別出的錯誤(而不是存在錯誤的緩衝區中)。是否有一個命令可以執行相同的工作但不跳到第一個錯誤,而是停留在原來的位置?

答案1

如果您的問題是快速修復視窗奪走了您目前正在使用的視窗的焦點,那麼解決方案非常簡單。將這些行新增到您的~/.vimrc

augroup quickfix
  autocmd!
  autocmd Syntax qf wincmd p
augroup END

不是:cw[indow]將遊標跳到緩衝區中第一個符合行的命令,而是建立顯示在快速修復視窗中的清單的命令。

假設您有:

foo
foobar
foobarbaz

你也是:

:vim foo %

您的遊標會自動定位在第一個匹配行上,不帶:cw.

如果你這樣做:

:vim foo % | cw

您的遊標仍位於第一個匹配行上,因此行為不會與:cw.

但如果你這樣做:

:vim /foo/j % | cw

你的遊標保持原樣。看:help :vimgrep

您應該檢查您正在使用的命令的文檔,看看它是否具有與該j標誌等效的命令。

相關內容