首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打开某些文件类型时启动VIM Tagbar

打开某些文件类型时启动VIM Tagbar
EN

Stack Overflow用户
提问于 2011-11-02 22:37:45
回答 2查看 4K关注 0票数 7

我希望在打开某些文件类型时启动标记栏VIM插件,因此我在.vimrc中添加了以下内容:

代码语言:javascript
复制
if has("gui_running")
    autocmd BufEnter *.hs nested TagbarOpen

然而,这并不像我预期的那样工作。它会打开一个侧面窗口,但侧面窗口什么也不显示,并且我的光标被困在里面。我不能通过单击或CTRL-W移动命令来切换窗口。

但是,当我手动运行TagbarOpen时,它工作得很好。

其他人也尝试过了吗,或者上面的命令是错误的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-02 23:33:38

有趣的是,这是我没有预料到的便利功能的副作用。发生的事情是这样的:如果在窗口已经打开的情况下调用TagbarOpen,那么标记栏会使光标跳到窗口,而不是什么也不做(如我所说的为了方便起见)。因此,每当您尝试通过切换到Haskell窗口来离开该窗口时,自动命令会使其立即跳回。我已经推动了一项删除此功能的更改--它可能一开始就没有那么有用。因此,如果您尝试一下GitHub上的开发版本(https://github.com/majutsushi/tagbar),它应该可以工作。

窗口是空的有一个不同的原因:默认情况下,旺盛的Ctag不支持Haskell。但是有人为Haskell写了一个很好的替代方案,可以在这里使用标记栏:https://github.com/bitc/lushtags

票数 6
EN

Stack Overflow用户

发布于 2014-04-23 20:42:13

实际上,我已经为php文件设置了vimrc。Tagbar打开时加载了函数/变量,当Vim加载时光标停留在php源文件中:

代码语言:javascript
复制
autocmd FileType php call SetPHPOptions()
function! SetPHPOptions()
setlocal shiftwidth=4 tabstop=4 softtabstop=4 expandtab makeprg=php-xdebug\ %
    :call tagbar#autoopen(0)
endfunction

用'php‘替换'hs’或任何其他你想要的文件类型。位于以下位置的文件类型列表:

代码语言:javascript
复制
$VIMRUNTIME/filetype.vim

让它在MacVim (快照72,Vim 7.4)和https://github.com/majutsushi/tagbar最新版本的标记栏上运行

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7982147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档