抓取当前标签名称

时间:2014-01-14 22:16:51

标签: vim

我正在使用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>

1 个答案:

答案 0 :(得分:1)

我不使用 taboo.vim 插件,但看起来它将标签名称存储在标签本地t:taboo_tab_name变量中。

要生成特定于标签页的映射和缩写,您可以使用:help :map-expr,例如:

:iabbr <expr> tabname "this is " . t:taboo_tab_name