2011-12-25 81 views
13

在gVIM中,我使用echomsg命令从我的脚本(用于调试目的)和messages命令输出调试消息来查看它们。所有工作正常,但vim messanging设施显示所有消息 - 从所有脚本,系统,通知等。它是某种方式来清除消息列表(手动之前,我执行动作,我想调试),所以我可以很容易地看到从我的消息脚本?或者,也许我可以用一些过滤器来查看我的消息?是否可以清除gVIM中的邮件历史记录?

+0

似乎没有办法清除消息历史记录 – kev 2011-12-25 12:31:55

+0

也许在哪里结束的方式来发布调试消息呢? – grigoryvp 2011-12-25 12:38:35

+1

@EyeofHell类似于'command -nargs = 1-bar回声:让g:messages = get(g :,'messages',[])+ []'。这会将调试消息放入'g:messages'列表中(如果需要,可以创建它)。 – ZyX 2011-12-25 16:12:40

回答

6

AFAIK你不能明确的信息的历史,但你可以用自己的命令,而不是:echom,例如:

command -nargs=1 -bar Echo :let g:messages=get(g:, 'messages', [])+[<q-args>] 

或者,也许更好,

command -nargs=1 -bar Echo :let g:messages=get(g:, 'messages', [])+[eval(<args>)] | echom <args> 

第一个是不评估它的参数,因此不能是更换:echom,第二个是,但请注意,在与:echom:echom 1 2:echom 1.' '.2产生相同的输出,与:Echo首先会是一个错误,迫使你使用第二种形式。

两个命令都将把消息放入g:messages变量,如果需要创建它。要清除历史记录,只需使用

unlet g:messages 
+1

对于较新版本的vim,请参阅:https://stackoverflow.com/a/36777871/237059 – Stabledog 2017-09-13 12:43:08

-1

此命令填写空消息以清除消息历史记录。

command! MessageClear for n in range(200) | echom "" | endfor

Source

6

为VIM 7.4.1735你可以做:messages clear清除历史记录。

+0

在neovim中工作。谢谢。 – arcseldon 2018-01-23 20:51:20

相关问题