我正在使用taboo.vim来重命名标签。在gvim和vim中是否有某种方法来评估当前标签标题是否等于某些内容?即。
if tabname == 'config'
" do something
endif
有没有办法获取标签名称才能使用?
iabbr tabname givecurrenttabname
如果这是当前标签的名称,则键入tabname
会产生config
。
我正在尝试根据我命名的标签来设置特定的映射,以便与unite书签一起使用。具体来说,我希望能够使用单个映射,打开与选项卡同名的书签文件。 e.g。
nnoremap <space>u :Unite bookmark:'tabname'
我目前的做法是检查缓冲区名称,但由于我有很多配置文件,我会在名为config的选项卡中打开,这看起来效率非常低:
if bufname("%") == "bufname1"
nnoremap <buffer> <space>u :Unite bookmark:config
elseif bufname("%") == "bufname2"
nnoremap <buffer> <space>u :Unite bookmark:config
...
elseif bufname("%") == "bufname40"
nnoremap <buffer> <space>u :Unite bookmark:text
endif
如果我可以使用tabname这样的东西,那么我就不必一直添加新文件。
编辑:对于任何想要使用unite和taboo来使用单一映射来打开与选项卡同名的书签文件的人,感谢Ingo Karkat我现在已将以下内容放在我的.vimrc中:
cnoreabbr <expr> tabname t:taboo_tab_name
nnoremap <buffer> <space>u :Unite -quick-match bookmark:tabname<C-]><cr>
答案 0 :(得分:1)
我不使用 taboo.vim 插件,但看起来它将标签名称存储在标签本地t:taboo_tab_name
变量中。
要生成特定于标签页的映射和缩写,您可以使用:help :map-expr
,例如:
:iabbr <expr> tabname "this is " . t:taboo_tab_name