2015-09-26 65 views
3

我最近添加了優秀的fholgado/minibufexpl.vim插件以獲得所有現有緩衝區的現成顯示。跳過導航到Vim拆分

現在我的問題是,我非常依賴CTRL+W W/H/J/K/L在分割之間切換,並且我一直想念我在插件的分割中。

是否可以編寫一些Vim代碼來跳過或禁用導航到某個分割?

+0

不是你想要的答案:但是你知道你可以在vim中像其他動作一樣在前面編號嗎?例如2^-W h跳過左邊的緩衝區。 – Amoss

回答

1

做下面的代碼做你所期望的?它重新映射一些窗口焦點命令(<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 

我不完全確定你在問什麼。當你說:

我嚴重依賴CTRL+W W/H/J/K/L到拆分

之間進行切換,你頗具意味CTRL-W w/h/j/k/l(小寫)?