Jedna rzecz, która zawsze przeszkadzała mi w vi / vim :
Jeśli „szarpnę” (inaczej „skopiuję”) jakiś tekst, a następnie przejdę do innego miejsca w pliku i zrobię „wklej”, mój kursor pozostanie na początku właśnie wklejonego tekstu. Różni się to od tego, co robią większość współczesnych edytorów, czyli umieszczania kursora na końcu wklejonego tekstu.
Na przykład założenie, że „bufor kopii” zawiera słowo „niesamowite”, które chcę wkleić po słowie „an” w wyrażeniu:
This is an editor
W, na przykład gedit , po wklejeniu:
This is an awesome editor
^ Cursor is here
W vi :
This is an awesome editor
^ Cursor is here
Czy mogę zmienić vi, aby zachowywał się pod tym względem jak (na przykład) gedit ?
Odpowiedzi:
W vimie użyj
gp
igP
zamiastp
i,P
aby opuścić kursor po wklejonym tekście. Jeśli chcesz zamienić wiązania, wstaw następujące linie w.vimrc
:O dziwo, w vim
p
iP
pozostaw kursor na ostatnim wklejonym znaku dla bufora znaków, nawet w trybie kompatybilnym.Nie wiem jak to zmienić w innych wersjach vi.
źródło
Jestem prawie pewien, że jest to zgodne z projektem. Jeśli wkleisz za pomocą „p” (małe litery P), to wklei się po bieżącej pozycji lub linii. Jeśli jednak wkleisz za pomocą „P” (duże P), wklei się przed bieżącą pozycją lub linią. Jeśli chcesz, aby kursor znajdował się na końcu nowo wklejonego tekstu, spróbuj nawyk używania „P” zamiast „p”.
Założę się, że jeśli kopiesz wystarczająco głęboko, możesz znaleźć przepis vim, aby umieścić w swoim .vimrc, który zawsze przesuwałby kursor na koniec twojej pasty, nawet jeśli użyjesz „p”.
źródło
P
pozostawia kursor na początku wklejonego tekstu w vi (przynajmniej w nvi i na POSIX).