我希望在打开某些文件类型时启动标记栏VIM插件,因此我在.vimrc中添加了以下内容:
if has("gui_running")
autocmd BufEnter *.hs nested TagbarOpen然而,这并不像我预期的那样工作。它会打开一个侧面窗口,但侧面窗口什么也不显示,并且我的光标被困在里面。我不能通过单击或CTRL-W移动命令来切换窗口。
但是,当我手动运行TagbarOpen时,它工作得很好。
其他人也尝试过了吗,或者上面的命令是错误的吗?
发布于 2011-11-02 23:33:38
有趣的是,这是我没有预料到的便利功能的副作用。发生的事情是这样的:如果在窗口已经打开的情况下调用TagbarOpen,那么标记栏会使光标跳到窗口,而不是什么也不做(如我所说的为了方便起见)。因此,每当您尝试通过切换到Haskell窗口来离开该窗口时,自动命令会使其立即跳回。我已经推动了一项删除此功能的更改--它可能一开始就没有那么有用。因此,如果您尝试一下GitHub上的开发版本(https://github.com/majutsushi/tagbar),它应该可以工作。
窗口是空的有一个不同的原因:默认情况下,旺盛的Ctag不支持Haskell。但是有人为Haskell写了一个很好的替代方案,可以在这里使用标记栏:https://github.com/bitc/lushtags。
发布于 2014-04-23 20:42:13
实际上,我已经为php文件设置了vimrc。Tagbar打开时加载了函数/变量,当Vim加载时光标停留在php源文件中:
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’或任何其他你想要的文件类型。位于以下位置的文件类型列表:
$VIMRUNTIME/filetype.vim让它在MacVim (快照72,Vim 7.4)和https://github.com/majutsushi/tagbar最新版本的标记栏上运行
https://stackoverflow.com/questions/7982147
复制相似问题