在 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
標誌等效的命令。