2012-11-16 65 views
3

使用時! {cmd}在vim中,默認情況下,前一個命令的輸出不會被清除。例如,我在VIM中執行了兩個外部命令:!使! gcc。當我輸入! gcc,前一個命令的輸出爲!使包括:在VIM中清除舊外部命令的輸出


[email protected]:~$ 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清除這些舊輸出,這樣我可以清楚地查看當前命令的輸出,你可以提供這方面的任何建議嗎?

回答

3

您可以先運行/usr/bin/clear

:!clear && make 

或者,您可以使用this tip打開一個新的暫存緩衝區。

0

通過將shell變量.vimrc設置爲您可以創建的腳本的路徑,您可以將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 [email protected] 

你可以找到我的全部配置在這裏:https://github.com/timabell/dotmatrix(可能會隨時間而改變;最後提交在寫作時是https://github.com/timabell/dotmatrix/commit/1098fcbcbcefa67b7a59d7a946cda1730db8ad8b

相關問題