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

Ana*_*Ana 7 vim tagbar

当我打开某些文件类型时,我想要启动标签栏VIM插件,所以我将以下内容添加到我的.vimrc中:

if has("gui_running")
    autocmd BufEnter *.hs nested TagbarOpen
Run Code Online (Sandbox Code Playgroud)

但是,这并不像我预期的那样有效.它打开一个侧窗,但侧窗不显示任何内容,我的光标被困在其中.我无法通过单击或使用CTRL-W移动命令切换窗口.

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

其他人试过这个,或上面是错误的命令发出?

Jan*_*res 6

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

该窗口为空有一个不同的原因:默认情况下,Exuberant Ctags不支持Haskell.但有人为Haskell编写了一个很好的替代方案,可以在这里使用Tagbar:https://github.com/bitc/lushtags.