执行时无法发出 Vim 的 :q
Can't issue Vim's :q on execution
我有一个方便的功能,可以让我轻松地通过 Vim 的 Vundle in the spf13 distribution 安装插件。
function vimp() {
for plugin in "$@"
do
echo Bundle \"$plugin\" >> ~/.vimrc.bundles.local
done
vim --cmd "BundleInstall!" --cmd "BundleClean" --cmd "q"
echo "Plugin installation complete"
}
不幸的是,q
命令从未运行。我希望在退出编辑器之前进行捆绑安装和清理,但这似乎不起作用。其他命令 do 我可以说效果最好。
直到最近,我一直在使用这个命令:
vim +BundleInstall! +BundleClean +q
应该做大致相同的事情(运行 打开文件后的命令与打开文件之前的命令),但 q
同样不会触发。我有什么想法可以使它起作用,或者谁能解释为什么它不起作用?
使用 +qa
或 --cmd qa
而不是 +q
或 --cmd quit
。通常这与多个打开的缓冲区有关(尝试使用 +q +q
或 +q +q +q
来验证)。
我有一个方便的功能,可以让我轻松地通过 Vim 的 Vundle in the spf13 distribution 安装插件。
function vimp() {
for plugin in "$@"
do
echo Bundle \"$plugin\" >> ~/.vimrc.bundles.local
done
vim --cmd "BundleInstall!" --cmd "BundleClean" --cmd "q"
echo "Plugin installation complete"
}
不幸的是,q
命令从未运行。我希望在退出编辑器之前进行捆绑安装和清理,但这似乎不起作用。其他命令 do 我可以说效果最好。
直到最近,我一直在使用这个命令:
vim +BundleInstall! +BundleClean +q
应该做大致相同的事情(运行 打开文件后的命令与打开文件之前的命令),但 q
同样不会触发。我有什么想法可以使它起作用,或者谁能解释为什么它不起作用?
使用 +qa
或 --cmd qa
而不是 +q
或 --cmd quit
。通常这与多个打开的缓冲区有关(尝试使用 +q +q
或 +q +q +q
来验证)。