按名称切换到VIM窗口

Zac*_*k L 4 windows vim

有一些优秀的Vim插件可以通过键入部分名称来切换到特定文件缓冲区.有谁知道这样的插件允许在打开的窗口之间快速切换?

例如,如果我的vsplit在一侧有一个名为'a.txt'的文件而在另一侧有'b.txt',我希望能够通过输入文件名(或只是'a'或'b'增量搜索).这对于两个窗口可能不太有用,但我经常打开多达5个窗口,因此使用普通导航按钮在它们之间切换可能会很麻烦.

WinWalker似乎支持这种类型的功能,但是包含在一个更大的窗口导航框架中.

Aar*_*oma 6

:b如果你有 (在你的vimrc中)那么幸福.它支持文件名完成,例如- .:setswitchbuf+=useopenCtrlD

通过MarcWeber从等人#vim

  • 不适用于 `:b`,但适用于 `:sbuffer`,如在 `:sbuffer NAME` 中。这里的“NAME”是要跳转到的缓冲区的名称。也适用于“NAME”的部分匹配。 (5认同)

abc*_*bcd 0

我不知道如何根据文件名切换到窗口,但我使用以下快捷方式在.vimrc窗口之间移动。

noremap <S-W> <C-w><Up>
noremap <S-S> <C-w><Down>
noremap <S-A> <C-w><Left>
noremap <S-D> <C-w><Right>
Run Code Online (Sandbox Code Playgroud)

这些都很简单,而且我打开的窗口不超过 4 个,所以我从任何窗口移动的距离不会超过 2 个。另外,您不必键入文件名。

我使用标准 FPS 移动键wasd在窗口之间移动,因为这对我来说很直观,而且我不必将手指移动到箭头键上 - 小指在 Shift 上,其他三个在字母上。您可以将它们更改为您喜欢的任何内容(hjkl将是一个很好的替代方案)

我更喜欢使用Shift而不是Ctrl/Alt/Option/Cmd因为键盘之间的位置和大小有所不同(例如,Fn在 macbook pro 上是最左边,而Ctrl在完整的 mac 键盘上是最左边)并且我在 Linux 上使用 vim 时遇到了无法识别该键的问题Cmd

  • 您不需要使用“&lt;S-”,因为“W”、“S”、“A”、“D”应该可以正常工作。并使用“nnoremap”:1)您在操作员挂起模式下不需要此行为,并且在视觉和选择模式下可能也不需要它;2) 你不知道 op 没有将 `&lt;Cw&gt;` 重新映射到窗口处理之外的其他东西。 (4认同)