Vim:在窗口间循环时跳过 quickfix 缓冲区

Vim:在窗口间循环时跳过 quickfix 缓冲区

我在 vim 中编辑文件时,一个常见的模式是使用 打开两个缓冲区:sb,然后使用 在它们之间循环C-w C-w。我倾向于避免打开两个以上的窗口,因为这样切换的认知(和击键次数)开销会变得更高。

我最近开始使用 提供的 quickfix 功能:make,现在我陷入了两难境地。您会看到,quickfix 窗口构成了另一个窗口:所以现在如果我要进行混搭,C-w C-w我必须循环浏览三个缓冲区,而其中一个我实际上并不想循环进入(通常)。那么,有没有办法让缓冲区循环命令跳过qf窗口?

我还很感激关于如何改进我的 vim 工作流程的一般性建议。

答案1

您需要使用自定义映射覆盖该命令,在其中检查快速修复窗口,然后再次跳转:

:nnoremap <silent> <C-w><C-w> <C-w><C-w>:if &buftype ==# 'quickfix'<Bar>wincmd w<Bar>endif<CR>

答案2

您还可以做的是制作一个<c-w>l<c-w>h<c-w>k<c-w>j切换到该方向的窗口

相关内容