2011-12-25 89 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

相關問題