Escrevi uma pequena função do Vim que move o cursor para o primeiro caractere da linha atual. Se o cursor já estava no primeiro caractere, ele será movido para a primeira coluna.
" 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
Como eu chamo essa função silenciosamente? Prefiro ': call FirstCharOrFirstCol ()' não foi exibido na linha de status. Simplesmente mudar para noremap H :silent call…
não parece suficiente.
*.vim
), você nunca precisa dos:
caracteres iniciais .Respostas:
Você pode chamar a função silenciosamente definindo um mapa silencioso:
Para mais informações, consulte
:h :map-<silent>
. Observe, em particular, que isso garantirá apenas que o comando não seja exibido na tela quando o mapeamento for executado. O:silent
comando é usado para silenciar a saída da própria função (consulte:h :silent
).fonte
:silent
é o que eu estava procurando. É importante notar que, se houver erros em sua função, você ainda receberá as mensagens, a menos que use!
. Eu não sabia que havia deixado o código em um estado inválido e, por isso, pensei que não estava usando:silent
corretamente, pois não estava silenciando o eco e pude ver um erro na saída!