Я написал небольшую функцию Vim, которая перемещает курсор на первый символ текущей строки. Если курсор уже был на первом символе, тогда курсор перемещается на первый столбец.
" Jump to first character or column
noremap H :call FirstCharOrFirstCol()<cr>
:function! FirstCharOrFirstCol()
: let current_col = virtcol('.')
: normal ^
: let first_char = virtcol('.')
: if current_col == first_char
: normal 0
: endif
:endfunction
Как я могу вызвать эту функцию тихо? Я бы предпочел, чтобы ': call FirstCharOrFirstCol ()' не отображался в строке состояния. Просто перехода на noremap H :silent call…
недостаточно, кажется, недостаточно.
*.vim
) вам никогда не нужны начальные:
символы.Ответы:
Вы можете вызвать функцию без вывода сообщений, определив отображение без вывода сообщений:
Для получения дополнительной информации см
:h :map-<silent>
. В частности, обратите внимание, что это будет гарантировать, что команда не отображается на экране при выполнении отображения. Команда:silent
используется для отключения вывода самой функции (см.:h :silent
).источник
:silent
Хорошо , это то , что я был после. Стоит отметить, что если у вас есть ошибки в вашей функции, вы все равно получите сообщения, если не используете!
. Я не понимал, что оставил код в недопустимом состоянии, и поэтому подумал, что я не использовал:silent
правильно, потому что это не заставило замолчать эхо, и я мог видеть ошибку в выводе !!