Можно ли очистить историю сообщений в gVIM? - PullRequest
13 голосов
/ 25 декабря 2011

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

Ответы [ 3 ]

14 голосов
/ 21 апреля 2016

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

6 голосов
/ 25 декабря 2011

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
0 голосов
/ 21 апреля 2016

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

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

Источник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...