vim - 跳过导航到 Vim 拆分

标签 vim

我最近添加了优秀的fholgado/minibufexpl.vim插件以获得所有现有缓冲区的现成显示。

不过,我现在的问题是,我严重依赖 CTRL+W W/H/J/K/L 在拆分之间切换,而且我一直想念我在插件的拆分中。

是否可以编写一些 Vim 代码来跳过或禁用导航到特定的拆分?

最佳答案

以下代码是否符合您的预期?它重新映射一些窗口焦点命令 ( <C-W>l/h/j/k/w ),以便它跳过 BDE 窗口,如果它打开的话。

" Remapping the following <ctrl-w>... commands:
for wincmd in ['l', 'h', 'j', 'k', 'w']
    exe 'noremap <silent> <c-w>'.wincmd.' :WincmdSkipMBE '.wincmd.'<cr>'
endfor

command! -nargs=1 WincmdSkipMBE call WincmdSkipMBE(<f-args>)

function! WincmdSkipMBE(cmd)
    let l:first = winnr()
    while 1
        let l:last = winnr()
        exe 'wincmd '.a:cmd
        let l:new = winnr()
        if l:last == l:new | exe l:first.'wincmd w' | break
        elseif bufname('%') != '-MiniBufExplorer-' | break
        endif
    endw
endf

我不太确定你在问什么。当你说:

I heavily rely on CTRL+W W/H/J/K/L to switch between splits

,你的意思是CTRL-W w/h/j/k/l (小写)?

关于vim - 跳过导航到 Vim 拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32797270/

相关文章:

vim - MacVim Visual Selection Delete 向后移动 3 个额外的字符

vim - 如何调试未加载的 Vim 插件?

file - 如何将可视模式下的文本 block 保存到 Vim 中的文件中?

regex - Vim 语法文件。在 'foo'中独立匹配 'bar'和 'foobar'

regex - Vim 多行正则表达式给出重叠匹配

在 3.5.3 virtualenv 中运行时 Vim 中的 Python 错误

Vim 关闭窗口而不关闭缓冲区

bash - 在 cygwin 中将所有行从 VIM 复制到剪贴板

vim - 重复从菜单调用的命令

vim - 如何在 Vim 脚本中执行外部命令?