tab键的taglist映射

Posted

技术标签:

【中文标题】tab键的taglist映射【英文标题】:Taglist mapping of tab key 【发布时间】:2016-09-05 12:49:04 【问题描述】:

我已将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

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

【问题讨论】:

【参考方案1】:

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

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

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

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

【讨论】:

以上是关于tab键的taglist映射的主要内容,如果未能解决你的问题,请参考以下文章

替代 vim 中的 taglist

taglist 和局部变量

vim: taglist 无法生成标签

如何在 vim 的 Taglist 窗口中显示变量

在 gvim 中,如何在显示 taglist 时禁用滚动条?

Vim ctags:我们可以在不关闭 taglist 窗口的情况下在 taglist 窗口和源代码窗口之间切换焦点吗?