如何在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