1

我已经映射了TAB在窗口之间移动的键,如下所示。

map <TAB> ^W^W

它适用于除 taglist 窗口之外的所有窗口(例如分屏)。当我在 taglist 窗口中按 TAB 键时,它要么不会转到下一个窗口。我怎样才能覆盖它?

我还在我的 中配置了以下选项.vimrc

let Tlist_Show_One_File = 1
let Tlist_Exit_OnlyWindow = 1
let Tlist_WinWidth = 30

taglist.vim如果我在插件文件中注释掉以下行,它会起作用

nnoremap <buffer> <silent> <Tab> :call <SID>Tlist_Window_Move_To_File(1)<CR>

我尝试在我的.vimrc文件中添加以下行,但它不起作用。

nnoremap <buffer> <silent> <Tab> ^W^W

有没有更清洁的方法来做到这一点?

4

1 回答 1

2

没错,Taglist 插件为其侧边栏创建了自己的缓冲区本地映射。

没有一般的方法可以撤消/覆盖它。幸运的是,Taglist 插件使用特定名称 ( __Tag_List__) 创建其侧边栏,因此您可以使用:autocmd:

:autocmd BufEnter __Tag_List__ silent! nunmap <buffer> <Tab>

silent!如果映射已被清除,则抑制错误。

于 2016-09-05T13:11:10.677 回答