如何在Vim中禁用“按ENTER键或input命令以继续”提示?

有没有办法禁用执行外部命令后出现的“按ENTER键或input命令以继续”提示?

编辑:find一个解决方法:添加一个额外的<CR>到我的.lvimrc中的快捷方式。

 map <F5> :wall!<CR>:!sbcl --load foo.cl<CR><CR> 

任何更好的想法?

我不知道如何做到这一点全球尽pipe一个命令:

 :silent !<command> 

确保在silent之后包括一个空间

find一个解决方法:向map命令添加一个额外的<CR>

 map <F5> :wall!<CR>:!sbcl --load foo.cl<CR><CR> 
 :help hit-enter 

这是我如何处理通过无声运行外部程序的问题在文本模式vim中屏幕(根据我的经验,gvim不会遭受这个问题):

 command! -nargs=1 Silent \ | execute ':silent !'.<q-args> \ | execute ':redraw!' 

使用它而不是常规的沉默命令:

 :Silent top 

cmdheight设置为2,在我的vimrc( :e $MYVIMRC )中:

 :set cmdheight=2 

更多信息在这里 。

这可能是vimrc文件中的语法错误

安东尼的答案把我带到了正确的地方,我能够configurationgvim不要停止大量的消息。
我添加了shortmess=aoOtI到我的gvimrc文件。
在帮助页面中给出的解释是:help shortmess
这些字母表示你不想看到的消息类,或者希望vim截断以避免命中进入停止。
我之前通过在gvimrc中设置了一个宽度columns=130的广泛的初始窗口来处理这个问题,所以很less有消息会溢出,需要烦人,耗尽,需要进入。

在屏幕清除之前重画也是如此。 这是我所拥有的:

 exe 'ls' exe 'b4' "This redraws, so the Prompt is triggered 

但是这不会触发提示:

 exe 'ls' redraw exe 'b4' 

这是我如何在棘手的情况下运行外部命令,没有“按ENTER键”。 不同于:silent ,我仍然可以看到命令输出。

命令行

 :exe ":!<command>" | redraw 

脚本/function

 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来replace多个文件中的相同的string,例如,

  argdo %s/something/Something/eg|update 

我一直不得不按下页面。

在运行脚本之前,您可以设置以下选项,以便只有最后的提示而不是多个提示

 :set nomore