是否有任何方法來禁用執行外部命令後出現的「按ENTER鍵或鍵入命令以繼續」提示?如何在Vim中禁用「按ENTER鍵或輸入命令以繼續」提示?
編輯:找到一種解決方法:在我的.lvimrc中添加一個額外的<CR>
到快捷方式。
map <F5> :wall!<CR>:!sbcl --load foo.cl<CR><CR>
有沒有更好的辦法?
是否有任何方法來禁用執行外部命令後出現的「按ENTER鍵或鍵入命令以繼續」提示?如何在Vim中禁用「按ENTER鍵或輸入命令以繼續」提示?
編輯:找到一種解決方法:在我的.lvimrc中添加一個額外的<CR>
到快捷方式。
map <F5> :wall!<CR>:!sbcl --load foo.cl<CR><CR>
有沒有更好的辦法?
找到了一個解決方法,包括空間:添加一個額外的<CR>
給map命令。
map <F5> :wall!<CR>:!sbcl --load foo.cl<CR><CR>
我不知道該怎麼做,雖然全球範圍內爲一個命令:
:silent !<command>
確保後silent
不幸的是對我不是很有幫助,它弄亂了屏幕,我不得不按下Ctrl-L ......這比按空格更令人討厭。 – 2009-05-20 23:59:05
雖然爲我的grep腳本工作過! – 2009-07-23 19:58:45
按照下面的評論者(誰建議在命令結尾添加額外的
:help hit-enter
這是我如何處理,通過無聲弄亂文本模式的vim的屏幕上運行外部程序的問題(在我的經驗,GVIM不存在這個問題):
command! -nargs=1 Silent
\ | execute ':silent !'.<q-args>
\ | execute ':redraw!'
用它代替常規的無聲命令:
:Silent top
畫面清晰的作品太前把一個重繪。 這裏是我有什麼:
exe 'ls'
exe 'b4' "This redraws, so the Prompt is triggered
但是,這不會觸發提示:
exe 'ls'
redraw
exe 'b4'
這可能是在的vimrc文件
anthony的答案把我帶到了正確的地方,我能夠配置gvim不會停留在很多消息上。
我添加了設置shortmess=aoOtI
到我的gvimrc文件。
在:help shortmess
的幫助頁面中對此進行了說明。
這些字母表示你不想看到的消息類,或者希望vim截斷以避免命中,輸入 stop。
我之前通過在gvimrc中設置了一個廣泛的初始窗口columns=130
來處理這個問題,所以很少有消息會溢出它,並且需要煩人,耗盡,需要進入。
這就是我如何在棘手的情況下運行外部命令,而沒有「按ENTER鍵」。不像:silent
,我仍然可以看到命令輸出。
命令行
:exe ":!<command>" | redraw
腳本/功能
exe ':!<command>'
redraw
映射與<expr>
map <expr> <F5> ":exe ':!<command>'\n:redraw\<CR>"
映射與<expr>
調用一個函數
map <expr> <F5> MyFoo()
fu! MyFoo()
return ":exe ':!<command>' | redraw\<CR>"
endf
您可以使用:
call feedkeys(" ")
例如:
function! Interactive_Questions()
echo "Question 1:"
let response1 = getchar()
echo "Question 2:"
let response2 = getchar()
" Do something
" Without the next line, you would have to hit ENTER,
" even if what is written (the questions) has no interest:
call feedkeys(" ")
endf
這發生在我身上,如果我保存的文件是在我沒有對目錄的寫入權限的目錄中。我在目錄上做了一個chmod 777(我已經擁有文件本身的寫權限),並且「Press ENTER」消息不再顯示。
我有一個類似的問題,但是當我運行一個argdo替換多個文件例如相同的字符串,
argdo %s/something/Something/eg|update
我經常不得不按向下翻頁。
您可以運行該腳本之前,這樣只有最後的提示,而不是許多提示
:set nomore
但是,如果您從vim命令行執行命令。然後它有點棘手。您可以在實際執行命令之前添加關鍵字silent
。它會在命令執行後自動回到vim窗口。但是仍然需要手動執行redraw
,因爲有些窗口像NERD_Tree需要重繪。
對於這種情況,嘗試按照從VIM幫助文檔的說明:
要減少數量hit-enter提示:
- 把 'cmdheight' 2或更高。
- 添加標記爲'shortmess'。
- 重設'showcmd'和/或'標尺'。
This link提供了另一種方式。要把它放到你的vimrc文件
command! -nargs=1 Silent \ execute 'silent !' . \ | execute 'redraw!'
然後你可以使用:Silent command
像一個普通的命令。
在Windows 7上,您經常會因爲「無法打開交換文件」錯誤而得到此提示,這些錯誤已經打印出來但您沒有看到它們,從而導致提示。解決方法是將`set dir = $ TEMP`放入你的vimrc中。這告訴vim爲其臨時文件使用正確的臨時文件夾。這又會修復錯誤並刪除「按回車」提示。 – Lucas 2011-07-27 18:47:53