Czy istnieje szybszy sposób na usunięcie tekstu w wierszu niż
- naciśnij, 0aby przejść do początku, a następnie
- naciskając, d$aby usunąć do końca linii?
A co jeśli chciałbym usunąć wszystko oprócz wcięcia? Czy jest na to sposób?
Czy istnieje szybszy sposób na usunięcie tekstu w wierszu niż
A co jeśli chciałbym usunąć wszystko oprócz wcięcia? Czy jest na to sposób?
Odpowiedzi:
Jak powiedziałeś, istnieje wiele sposobów, a także możesz wziąć pod uwagę to, jakie będzie następne działanie po wyczyszczeniu lub usunięciu bieżącej linii.
cclub Sbędzie działać jako 4. lub 5., jeśli „autoindent” jest odpowiednio wyłączony lub włączony.
Więc używaj tego, co pasuje do danej akcji. Uważam, że 0Dnajszybsze jest wyczyszczenie linii, ale możesz to odwzorować na coś, jeśli chcesz, aby było jeszcze szybciej.
Tak. Jeśli jest jedna rzecz, którą lubię w Vimie, to odpowiedź na pytanie „Czy mogę to zrobić?” jest prawie zawsze stanowczym tak .
0D Przeskakuje na początek, a następnie usuwa do końca linii.
^D (nie Ctrl + D) przeskoczy do pierwszego spacji, a następnie skasuje do końca.
(PS Właśnie to wymyśliłem i chciałem podzielić się z innymi noobami. Daj mi znać, jeśli jest lepszy sposób).
Usunąć linię z jednego klucza (przesunięty) S.
To także zachowuje wcięcie.
Wchodzisz w tryb wstawiania na pierwszej pozycji po wcięciu lub na początku linii - tylko to, czego potrzebujesz, aby zastąpić linię - dlatego nazwa S
- jak substytut.
:help S
["x]S Delete [count] lines [into register x] and start
insert. Synonym for "cc" |linewise|.
["x]cc Delete [count] lines [into register x] and start
insert |linewise|. If 'autoindent' is on, preserve
the indent of the first line.
S
to świetny klucz.
Dzięki wtyczce Kana „ vim-textobj-line ” możesz używać operacji na wciętej linii za pomocą il
(np. dil
) Lub całej linii bez nowej linii za pomocą al
(np yal
.). Zaletą tego podejścia jest subtelna: zamiast myśleć obu ruchów (początek, koniec) do żądanej operacji, należy określić tekst przedmiotami bezpośrednio : ja n l ine, do l ine.
S
jest synonimemcc