在gVIM中,我使用echomsg命令从我的脚本输出调试消息(用于调试目的)和messages命令来查看它们.一切正常,但vim messanging工具显示所有消息 - 来自所有脚本,系统,通知等.是否有一些方法来清除消息列表(在我执行我要调试的操作之前手动)所以我可以轻松地从我的脚本中看到消息?或者也许我可以使用一些过滤器来查看我的消息?
AFAIK您无法清除消息历史记录,但您可以使用自己的命令代替:echom,例如:
command -nargs=1 -bar Echo :let g:messages=get(g:, 'messages', [])+[<q-args>]
Run Code Online (Sandbox Code Playgroud)
或者,也许更好,
command -nargs=1 -bar Echo :let g:messages=get(g:, 'messages', [])+[eval(<args>)] | echom <args>
Run Code Online (Sandbox Code Playgroud)
第一个不是评估它的参数,因此不能替代:echom,第二个是,但请注意,虽然使用:echom :echom 1 2并:echom 1.' '.2生成相同的输出,但:Echo第一个将是一个错误,迫使您使用第二个形式.
这两个命令都会将消息放入g:messages变量中,必要时创建它.要清除历史,只需使用
unlet g:messages
Run Code Online (Sandbox Code Playgroud)