2014-01-14 112 views
3

我正在使用taboo.vim重命名选项卡。在gvim和vim中有什么方法可以评估当前标签标题是否与某些东西相同?即抓取当前选项卡名称

if tabname == 'config' 
    " do something 
endif 

有什么办法可以像这样抓取标签名称吗?

iabbr tabname givecurrenttabname 

打字tabname会导致config,如果这是当前选项卡的名称。

我正在尝试根据我提供的与联合书签一起使用的选项卡来设置特定的映射。具体而言,我希望能够使用单个映射打开与选项卡同名的书签文件。例如

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这样的东西,那么我不必一直添加新文件。

编辑:对于任何人谁愿意用团结和禁忌有一个单一的映射打开书签文件具有相同名称的标签,这要归功于英戈Karkat现在我已经把我的.vimrc如下:

cnoreabbr <expr> tabname t:taboo_tab_name 
nnoremap <buffer> <space>u :Unite -quick-match bookmark:tabname<C-]><cr> 
+0

您正在使用的TabPages走错了路。坚持与缓冲区。 – romainl

+0

@romainl没有正确的方式来使用标签页,并且我将它们当作通常使用的视口,所以我如何使用它们是错误的?我使用标签可以提高效率。它允许我以两个击键和50+(可能更多且仍然没有远离主排的手指移动)通常访问的文件以2,3或5次击键访问我最常用的文件(2个需要记忆; 3个不需要记忆)。 – noctuid

回答

1

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

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

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

谢谢!这工作完美。 – noctuid

相关问题