10

我的 .vimrc 文件以这样的方式配置,每次我保存 Python 文件或输入 python 缓冲区(也适用于 Matlab 和 Latex,但都是一样的)它默默地执行旺盛的 ctags:

set tags+=./tags
autocmd BufWritePost *.py silent !ctags *.py
autocmd BufEnter *.py silent !ctags *.py
autocmd BufWritePost *.m silent !ctags *.m
autocmd BufEnter *.m silent !ctags *.m
autocmd BufWritePost *.tex silent !ctags *.tex
autocmd BufEnter *.tex silent !ctags *.tex

然后我有时会使用这些信息来浏览我的文件。这在 Mac OS X 和 Linux 中运行良好。上个月左右,我不得不使用 Windows 7。当我将这些行添加到我的 .vimrc 时,它会在我面前闪烁一个 cmd 提示符,这非常令人讨厌。我还尝试了 !start 而不是静默,这带来了许多其他问题,其中最主要的问题是每次在 :w 之后都必须按 enter。

我错过了什么?是否可以复制我的 OS X 配置,在其中执行命令、更新标签文件、重新加载所有内容而不闪烁 cmd 提示符并且没有其他问题?

4

2 回答 2

9

你可能想检查

autocmd BufEnter *.tex silent! !start /min ctags *.tex

或者,尝试/b /wait.

另请参阅https://serverfault.com/questions/31608/can-i-run-a-gui-program-in-the-background-on-the-windows-command-line/31621#31621

于 2012-10-14T21:54:44.920 回答
3

你也可以查看shell.vim 插件

enables execution of external commands in the background without opening a
command prompt window on Windows.

它还提供了一些有趣的附加功能。

于 2012-10-15T12:03:58.910 回答