Ich habe eine kleine Vim-Funktion geschrieben, die den Cursor zum ersten Zeichen der aktuellen Zeile bewegt. Wenn sich der Cursor bereits auf dem ersten Zeichen befand, wird der Cursor stattdessen in die erste Spalte verschoben.
" 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
Wie rufe ich diese Funktion still auf? Ich würde lieber ': FirstCharOrFirstCol () aufrufen' nicht in der Statuszeile angezeigt. Einfach zu wechseln, noremap H :silent call…
scheint nicht genug zu sein.
*.vim
) benötigen Sie niemals die führenden:
Zeichen.Antworten:
Sie können die Funktion unbeaufsichtigt aufrufen, indem Sie eine unbeaufsichtigte Map definieren:
Weitere Informationen finden Sie unter
:h :map-<silent>
. Beachten Sie insbesondere, dass dadurch nur sichergestellt wird, dass der Befehl beim Ausführen des Mappings nicht auf dem Bildschirm angezeigt wird. Mit dem:silent
Befehl wird die Ausgabe der Funktion selbst stummgeschaltet (siehe:h :silent
).quelle
:silent
ist, was ich wollte. Es ist erwähnenswert, dass Sie bei Fehlern in Ihrer Funktion die Meldungen immer noch erhalten, es sei denn, Sie verwenden!
. Ich wusste nicht, dass ich den Code in einem ungültigen Zustand belassen hatte und dachte, ich würde ihn nicht:silent
richtig verwenden, da die Echos nicht stummgeschaltet wurden und ich einen Fehler in der Ausgabe sehen konnte !!