使用时! {vd} 在vim中,默认情况下不会清除上一个命令的输出。例如,我在VIM中执行了两个外部命令:!制作和! GCC 。当我输入时! gcc ,上一个命令的输出!包括make :
user@desktop:~$ vim
make: *** No targets specified and no makefile found. Stop.
shell returned 2
Press ENTER or type command to continue
gcc: fatal error: no input files
compilation terminated.
shell returned 4
Press ENTER or type command to continue
我希望vim清除这些旧输出,以便我可以清楚地查看当前命令的输出,你能为此提供任何建议吗?
答案 0 :(得分:3)
答案 1 :(得分:0)
通过将.vimrc
中的shell变量设置为可以随意创建的脚本路径,可以将vim执行所有命令包含在任意脚本中。要添加到.vimrc
的行:
set shell=~/.vim/shell-wrapper.sh
然后在命名脚本中,您可以在运行最初请求的命令之前调用clear
。最小内容~/.vim/shell-wrapper.sh
:
#!/bin/bash
clear
shift # strip the -c that vim adds to bash from arguments to this script
eval $@
你可以在这里找到我的完整配置:https://github.com/timabell/dotmatrix(可能会随着时间的推移而改变;写作时的最后一次提交是https://github.com/timabell/dotmatrix/commit/1098fcbcbcefa67b7a59d7a946cda1730db8ad8b)