Vim将诊断消息打印到消息缓冲区并阻止“按Enter继续”提示

时间:2013-07-06 19:46:51

标签: vim

我正在尝试改进vim indentfinder脚本(我作为fork here托管),我想要的是插件在消息日志中放置一个条目它为当前缓冲区的缩进检测到了什么,但是我不希望它用那个恼人的绿色“按ENTER或键入命令继续...”提示挂断文件的开头,因为用户不关心这个小消息,如果错误地检测到打开文件的缩进等,用户通常只想在事后查看它。

怎么做?

silent !echom

阻止邮件进入邮件缓冲区。

echo

永远不会进入缓冲区并且会触发按下输入提示。

我尝试在| normal ^M调用后链接echom,希望发送Enter键来解除提示,但这不起作用。

1 个答案:

答案 0 :(得分:2)

嗯,这很酷。

我查看了这个文档:

                                         :echo-redraw         
         A later redraw may make the message disappear again. 
         And since Vim mostly postpones redrawing until it's  
         finished with a sequence of commands this happens    
         quite often.  To avoid that a command from before the
         ":echo" causes a redraw afterwards (redraws are often
         postponed until you type something), force a redraw  
         with the :redraw command.  Example: 

         :new | redraw | echo "there is a new window"                 

不受欢迎的提示实际上是Vim试图变得更好,所以如果我们只是告诉它我们想要什么,那么每个人都很高兴!

将它应用于插件(redraw | echom ...)并且它具有魅力。