LINUX.ORG.RU

Как подавить все сообщения об ошибках?

 , ,


0

1

Есть вот такая ф-ция, повешеная на клавишу

fu! Uncomment()
try | exec "s/^" . g:comment . "//" | catch | | endtry
endfu

Я использую ее как для отдельной строки, так и для группы выделенных строк. Все работает, но если в группе строк нет паттерна, выводятся сообщенния, и try, полностью не блокирует. Т.e. сами сообщения не выводятся, но энтер все равно приходится жать. Можно ли сделать так, чтобы вим просто игнорировал любые ошибки, и не писать, при этом, длинные обработчики if-else?

Спасибо.

Вместо

try | exec "s/^" . g:comment . "//" | catch | | endtry
можно либо
silent! exec "s/^" . g:comment . "//"
либо
exec "s/^" . g:comment . "//e"
Кстати, тут бы не помешало экранировать содержимое g:comment.

xaizek ★★★★★ ()
Последнее исправление: xaizek (всего исправлений: 1)
Ответ на: комментарий от xaizek

Сразу 2-й вариант попробовал — он короче:) Все работает как надо. Вы меня уже сегодня 2-й раз выручаете. Спасибо!!!

anonimous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.