xnoremap il g_o0
onoremap il :normal vil<CR>
xnoremap al $o0
onoremap al :normal val<CR>
I prymitywny „bufor” obiekt tekstowy:
xnoremap i% GoggV
onoremap i% :normal vi%<CR>
---EDYTOWAĆ---
Określenie „podmiot” jest poleceniem, że nic nie robi sama w sobie: d, y, itd.
Naciśnięcie tych klawiszy wprowadza cię w „tryb oczekiwania operatora”, gdzie Vim czeka, aż powiesz mu, na czym ma działać… z „ruchem operatora”.
Możesz użyć :omaplub, :onoremapaby zdefiniować niestandardowe ruchy oczekujące na operatora. Zastosowana tutaj technika jest inspirowana :help omap-info:
definiujesz mapowanie w trybie wizualnym obejmujące pożądany obszar,
używasz tego mapowania w mapowaniu oczekującym na operatora.
Zauważ, że użyłem :onoremapdlatego il, ali i%nie istnieje. Jeśli są nadrzędne istniejący ruch lub tekstowych obiektu - mówią ip- trzeba użyć rekurencyjnej mapowanie: :omap.
:help :map-operator opisuje nieco bardziej zaawansowaną metodę.
Fajne. Czy mógłbyś wyjaśnić kilka jego fragmentów? Co to jest o(tryb oczekiwania operatora) w onoremap? Co robi ow trybie wizualnym? Domyślam się, że jest to „druga strona”, ponieważ wydaje się, że przeskakuje na drugą stronę zaznaczenia ... Jak się :hna nim znaleźć ? Nie mogę tego znaleźć przy pomocy :h x_olub :h o.
lip
Dodano wyjaśnienie.
romainl
1
Sugerowałbym dodatkowe rozwiązanie, aby użyć ^ zamiast 0 (więc linia zaczyna się na początku pierwszego znaku:
xnoremap il g_o^
onoremap il :normal vil<CR>
xnoremap al $o^
onoremap al :normal val<CR>
W ten sposób, jeśli wykonamy „zmianę w linii”, przestrzega poziomu wcięcia.
Odpowiedzi:
Oto surowe „tekstowe” obiekty tekstowe:
I prymitywny „bufor” obiekt tekstowy:
---EDYTOWAĆ---
Określenie „podmiot” jest poleceniem, że nic nie robi sama w sobie:
d
,y
, itd.Naciśnięcie tych klawiszy wprowadza cię w „tryb oczekiwania operatora”, gdzie Vim czeka, aż powiesz mu, na czym ma działać… z „ruchem operatora”.
Możesz użyć
:omap
lub,:onoremap
aby zdefiniować niestandardowe ruchy oczekujące na operatora. Zastosowana tutaj technika jest inspirowana:help omap-info
:Zauważ, że użyłem
:onoremap
dlategoil
,al
ii%
nie istnieje. Jeśli są nadrzędne istniejący ruch lub tekstowych obiektu - mówiąip
- trzeba użyć rekurencyjnej mapowanie::omap
.:help :map-operator
opisuje nieco bardziej zaawansowaną metodę.Zobacz
:help v_o
nao
w trybie wizualnym.źródło
o
(tryb oczekiwania operatora) w onoremap? Co robio
w trybie wizualnym? Domyślam się, że jest to „druga strona”, ponieważ wydaje się, że przeskakuje na drugą stronę zaznaczenia ... Jak się:h
na nim znaleźć ? Nie mogę tego znaleźć przy pomocy:h x_o
lub:h o
.Sugerowałbym dodatkowe rozwiązanie, aby użyć ^ zamiast 0 (więc linia zaczyna się na początku pierwszego znaku:
W ten sposób, jeśli wykonamy „zmianę w linii”, przestrzega poziomu wcięcia.
źródło