vim:在新标签页中打开标签

Pau*_*jan 51 vim vim-plugin

是否有插件或脚本在新标签中打开ctags条目?我想把光标放在一个函数上,按ctrl +]并在另一个选项卡中打开该条目.我也想,如果我在视觉上选择一个条目,对于ctrl +]仍然可以工作并在新的vim选项卡中打开.

seh*_*ehe 86

您可以

C-wC-]C-wT

为了达到这个效果

然后你也可以映射:

:nnoremap <silent><Leader><C-]> <C-w><C-]><C-w>T
Run Code Online (Sandbox Code Playgroud)

编辑: 另外,根据您的实际需要,不要忘记您可以在预览(:ptag)中打开标签,例如C-w}.只是提一下以防万一......


dor*_*erg 5

这里有两个非常特殊的映射(如果你的标签是由生成的ctags):

nnoremap <C-]> :tabnew %<CR>g<C-]>
vnoremap <C-]> <Esc>:tabnew %<CR>gvg<C-]>
Run Code Online (Sandbox Code Playgroud)

首先,我们在新标签中打开当前缓冲区; 然后我们尝试跳转到光标下的标签(g<C-]>等于:tjump,如果只有一个匹配则直接跳转到标签,或者如果有多个则提供匹配列表).

优点:

缺点:

  • 如果您从匹配列表中退出而未选择其中任何一个,则新创建的选项卡将保持打开状态
  • 如果没有匹配则会发生同样的情况

PS你能为视觉模式映射提供一个用例吗?

PPS如果使用cscope(优于ctags)生成标签并使用其vim映射,请将以上映射替换为以下映射:

nnoremap <C-]> :tabnew %<CR><C-]>
vnoremap <C-]> <Esc>tabnew %<CR>gv<C-]>
Run Code Online (Sandbox Code Playgroud)