2011-12-25 2 views
13

В gVIM я использую команду echomsg для вывода отладочных сообщений из моих сценариев (для целей отладки) и команды messages для их просмотра. Все работает нормально, но vim messaging facility отображает все сообщения - из всех скриптов, систем, уведомлений и т. Д. Это способ очистить список сообщений (вручную, прежде чем я начну выполнять действия, которые я хочу отлаживать), поэтому я могу легко видеть сообщения из моего скрипт? Или, может быть, какой-то фильтр, который я могу использовать для просмотра только моих сообщений?Можно ли очистить историю сообщений в gVIM?

+0

Кажется, что нет возможности очистить 'message-history' – kev

+0

Может быть, где же вместо этого можно отправлять сообщения отладки? – grigoryvp

+1

@EyeofHell Что-то вроде 'command -nargs = 1 -bar Echo: let g: messages = get (g :, 'messages', []) + []'. Это приведет к отладке сообщений в список «g: messages» (и при необходимости создаст его). – ZyX

ответ

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

-1

Эта команда заполняет пустые сообщения, чтобы очистить историю сообщений.

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

Source

6

от Vim 7.4.1735 вы можете сделать :messages clear очистить историю.

+0

, работающий в neovim. Благодарю. – arcseldon

Смежные вопросы