xnoremap il g_o0
onoremap il :normal vil<CR>
xnoremap al $o0
onoremap al :normal val<CR>
Und ein grobes "Puffer" -Textobjekt:
xnoremap i% GoggV
onoremap i% :normal vi%<CR>
---BEARBEITEN---
Ein „Operator“ ist ein Befehl, der nichts tut sich selbst: d, yusw.
Durch Drücken dieser Tasten gelangen Sie in den "Operator-Pending-Modus", in dem Vim darauf wartet, dass Sie ihm mitteilen, was er ausführen soll ... mit einer "Operator-Pending-Bewegung".
Sie können benutzerdefinierte, vom Bediener ausstehende Bewegungen verwenden :omapoder :onoremapdefinieren. Die hier verwendete Technik ist inspiriert von :help omap-info:
Sie definieren eine visuelle Moduszuordnung, die den gewünschten Bereich abdeckt.
Sie verwenden diese Zuordnung in einer vom Bediener ausstehenden Zuordnung.
Beachten Sie, dass ich verwendet , :onoremapweil il, alund i%nicht existieren bereits. Wenn Sie beispielsweise eine vorhandene Bewegung oder ein vorhandenes Textobjekt überschreiben ip, müssen Sie eine rekursive Zuordnung verwenden : :omap.
:help :map-operator beschreibt eine etwas fortgeschrittenere Methode.
Cool. Würde es Ihnen etwas ausmachen, ein paar Teile davon zu erklären? Was ist o(Operator Pending Mode) in der Onoremap? Was macht der ovisuelle Modus? Ich würde vermuten, dass es "andere Seite" ist, weil es auf die andere Seite einer Auswahl zu springen scheint ... Wie finde ich :hdarauf? Ich kann es nicht mit :h x_ooder finden :h o.
Lindhe
Erklärung hinzugefügt.
Romainl
1
Ich würde eine zusätzliche Lösung vorschlagen, um ^ anstelle von 0 zu verwenden (die Zeile beginnt also am Anfang des ersten Zeichens:
xnoremap il g_o^
onoremap il :normal vil<CR>
xnoremap al $o^
onoremap al :normal val<CR>
Auf diese Weise wird die Einrückungsstufe berücksichtigt, wenn wir "in der Linie ändern".
Antworten:
Hier ist eine grobe "Linie" Textobjekte:
Und ein grobes "Puffer" -Textobjekt:
---BEARBEITEN---
Ein „Operator“ ist ein Befehl, der nichts tut sich selbst:
d
,y
usw.Durch Drücken dieser Tasten gelangen Sie in den "Operator-Pending-Modus", in dem Vim darauf wartet, dass Sie ihm mitteilen, was er ausführen soll ... mit einer "Operator-Pending-Bewegung".
Sie können benutzerdefinierte, vom Bediener ausstehende Bewegungen verwenden
:omap
oder:onoremap
definieren. Die hier verwendete Technik ist inspiriert von:help omap-info
:Beachten Sie, dass ich verwendet ,
:onoremap
weilil
,al
undi%
nicht existieren bereits. Wenn Sie beispielsweise eine vorhandene Bewegung oder ein vorhandenes Textobjekt überschreibenip
, müssen Sie eine rekursive Zuordnung verwenden ::omap
.:help :map-operator
beschreibt eine etwas fortgeschrittenere Methode.Siehe
:help v_o
füro
im visuellen Modus.quelle
o
(Operator Pending Mode) in der Onoremap? Was macht dero
visuelle Modus? Ich würde vermuten, dass es "andere Seite" ist, weil es auf die andere Seite einer Auswahl zu springen scheint ... Wie finde ich:h
darauf? Ich kann es nicht mit:h x_o
oder finden:h o
.Ich würde eine zusätzliche Lösung vorschlagen, um ^ anstelle von 0 zu verwenden (die Zeile beginnt also am Anfang des ersten Zeichens:
Auf diese Weise wird die Einrückungsstufe berücksichtigt, wenn wir "in der Linie ändern".
quelle