如何自动显示winmanager?

时间:2013-10-22 04:02:09

标签: vim

我已经安装了winmanager,NERDTree和BufExplorer插件。现在,我<F8>设置为切换winmanager显示,使用我.vimrc中的以下代码:

" mapping for triggering winmanager plugin
nnoremap <silent> <F8> :if IsWinManagerVisible() <BAR>WMToggle<CR><BAR> else<BAR> WMToggle<CR>:q<CR> endif <CR><CR>

这很好用。

我想要做的是,如果文件类型为.c.cpp,则会自动显示winmanager。我将此添加到.vimrc

autocmd FileType c,cpp nested "\<F8>"

工作。

有任何帮助吗?提前谢谢!

1 个答案:

答案 0 :(得分:2)

<F8>是普通模式映射,但:autocmd期望右侧有Ex命令。您需要使用:normal(此处没有!,以允许映射生效),并:execute解释特殊密钥代码:

:autocmd FileType c,cpp nested execute "normal \<F8>"

但我认为避免额外的重定向并复制映射的命令更为清晰:

:autocmd FileType c,cpp nested if IsWinManagerVisible() |exe 'WMToggle'| else| exe 'WMToggle' | quit | endif