tab键的taglist映射

Taglist mapping of tab key

我已经将 TAB 键映射为在 windows 之间移动,如下所示。

map <TAB> ^W^W

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

我还在 .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

有更简洁的方法吗?

你说得对,Taglist 插件为其侧边栏创建了自己的缓冲区本地映射。

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

连接到它
:autocmd BufEnter __Tag_List__ silent! nunmap <buffer> <Tab>

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