Escribí una pequeña función Vim que mueve el cursor al primer carácter de la línea actual. Si el cursor ya estaba en el primer carácter, entonces el cursor se mueve a la primera columna.
" 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
¿Cómo llamo a esta función en silencio? Prefiero que ': call FirstCharOrFirstCol ()' no se muestre en la línea de estado. Simplemente cambiar a noremap H :silent call…
no parece ser suficiente.
*.vim
), nunca necesita los:
caracteres principales .Respuestas:
Puede llamar a la función en silencio definiendo un mapa silencioso:
Para más información, ver
:h :map-<silent>
. Tenga en cuenta en particular que esto solo garantizará que el comando no se repita en la pantalla cuando se ejecuta la asignación. El:silent
comando se usa para silenciar la salida de la función misma (ver:h :silent
).fuente
:silent
es lo que estaba buscando. Vale la pena señalar que si tiene errores en su función, seguirá recibiendo los mensajes a menos que los use!
. ¡No me di cuenta de que había dejado el código en un estado no válido, por lo que pensé que no lo estaba usando:silent
correctamente, ya que no estaba silenciando los ecos y ¡pude ver un error en la salida!