Znam wiele sposobów kopiowania rzeczy:
yiw
= szarpnięcie w bieżącym słowie
yaw
= szarpnięcie całym słowem (zawiera spację końcową)
yy
= szarpnięcie bieżącej linii
3yy
= szarpnięcie trzech wierszy rozpoczynających się od bieżącego
yap
= szarpnięcie wszystkich akapitów (zawiera ostatnią linię )
Mogę również usunąć lub zmienić pojedynczy znak:
x
= usuń znak pod kursorem
r
= zamień znak pod kursorem
Ale jak, na świecie, po prostu kopiujesz pojedynczy znak pod kursorem?
Moją motywacją jest to, że programuję w Perlu 6, a niektórzy operatorzy to znaki Unicode. Teraz używam na przykład kodu Perl 6 Config :: INI tadzika jako punktu wyjścia dla niestandardowego analizatora składni, i chciałbym skopiować tylko jeden francuski znak cudzysłowu (operator hiper) z tej linii :
my %hash = $<sections>».ast;
Przydałby mi się dwuznakowy „operator Texas” hiperoperatora >>
, ale pomyślałem, że >»
wygląda to lepiej i mniej niejednoznacznie niż >>>
:
my %hash = $<sections>>>.ast;
źródło
yl
ytX
(„y
ankt
ilX
”) działa, gdyX
znak jest po prawej stronie.conceal
funkcji Vima ?»
postać?Odpowiedzi:
Komponowanie operację yank z tak często używane „o jeden znak w prawo” ruchu powinno działać:
yl
.BTW (aby skomentować komentarz OP), dla mnie
»
można szarpać w ten sposób, w gVim lub terminal Vim. Być może problem z kodowaniem (pliku)?źródło
»
działa dobrze dla mnie. Używamvy
szarpać pojedynczy znak. Nie jestem pewien, dlaczego raczej tego używamyl
, może kiedyś miałem świadomy powód, ale teraz to tylko odruch.y<space>
myślałem, że to szarpnięcie postaci pod kursorem i zamierzałem dodać ją jako odpowiedź, ale po sprawdzeniu pomocy zdaję sobie sprawę<space>
il
są takie same.Zwykle naciskam
vy
( szarpnięcie wizualne ), a czasemxu
( usuwam cofanie ). Ponadto, jeśli chcesz szarpnąć znak przed kursorem, zamiastlvy
naciskaćXu
, myślę, że to jest powód, dla którego naciskamxu
na prąd. :-)Zauważ, że
Xu
spowoduje, że kursor przesunie się na ten znak.źródło
hvy
. Próbowałem go edytować, ale najwyraźniej poprawienie jednego znaku w poleceniu vim nie jest znaczącą zmianą, aby można go było zaakceptować.Najprościej wiem, jak to zrobić,
x
aby usunąć znak, który również umieszcza go w buforze, a następnieP
umieścić z powrotem. Następnie możesz przesuwać kursor i wklejać znak z powrotem w dowolne miejscep
(za kursorem) lubP
(przed kursorem), o ile nie zmienisz bufora.źródło