Zum letzten Nicht-Leerzeichen der vorherigen / nächsten Zeile gehen?


10

Ich mag die Tasten -und den <C-M>Normalmodus, um zum ersten Nicht-Leerzeichen der vorherigen / nächsten Zeile zu gelangen.

Gibt es entsprechende Schlüssel, um zum letzten Nicht-Leerzeichen in der vorherigen / nächsten Zeile zu gelangen?

Antworten:


13

g_Bewegt den Cursor zum letzten nicht leeren Zeichen der aktuellen Zeile. Von Vim :help g_:

g_          To the last non-blank character of the line and
            [count - 1] lines downward |inclusive|. {not in Vi}

Leider denke ich, dass die einzigen Optionen, die Sie zum nicht leeren Zeichen der vorherigen / nächsten Zeile verschieben müssen, kg_oder jg_bzw. die Verwendung einer Zählung sind, um nach unten zu wechseln.

Es ist jedoch einfach, sie auf etwas Einfacheres abzubilden:

nnoremap <F3> kg_
nnoremap <F4> jg_

1
Beachten Sie auch, dass dies 2g_auch funktioniert, wenn Sie zum letzten Nicht-Leerzeichen in der nächsten Zeile wechseln möchten. Dies kann jedoch nicht für die vorherige Zeile verwendet werden. Der Vorteil von 2g_ist, dass es mit.
— EvergreenTree

1
Bewegungen (wie g_) sind mit nicht wiederholbar .. Im Allgemeinen können nur Dinge wiederholt werden, die den Status des Puffers ändern.
— Tommcdo

In Kombination mit einem Operator funktioniert das Wiederholen jedoch. Vielleicht war es das, worauf Sie sich bezogen haben
— tommcdo

Ah, ich wusste nicht, dass Bewegungen nicht wiederholbar sind. Ich sollte mir die Dokumente ansehen, bevor ich etwas sage.
— EvergreenTree

0

Wenn Sie das nächste Nicht-Leerzeichen der vorherigen / nächsten Zeilen meinen (indem Sie vertikal gehen), versuchen Sie Folgendes:

map <C-k> :call search('\%' . virtcol('.') . 'v\S', 'bW')<CR>
map <C-j> :call search('\%' . virtcol('.') . 'v\S', 'wW')<CR>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.