Kiedy chcę, aby kursor znalazł się na końcu pliku (tj. Na końcu ostatniej linii) w Vimie, muszę wpisać sześć naciśnięć klawiszy:
<ESC>G$a
- co przekłada się na ESC+ Shiftg+ Shift4+ ana moim układzie klawiatury.
Jak mogę to zrobić bardziej efektywnie?
Ponieważ regularnie pracuję na wielu różnych komputerach, nie zawsze mogę zmienić plik .vimrc, dlatego szukam odpowiedzi bez konieczności edytowania lub tworzenia tego pliku.
<esc>G$a
przesunięcie jest wyświetlane wielkimi literami. I wyświetlasz$
zamiast shift + 4, ponieważ bez względu na klawiaturę funkcja tego klawisza ($
) nie zmieni się, ale jeśli wykonasz shift + 4, to znaczenie może się zmienić. :)$
jest klawiatura amerykańska, i może być tak, że dla Amerykanów polecenie$
to tylko jednym naciśnięciem klawisza. Chciałem wyraźnie pokazać, że dla mnie (z niemiecką klawiaturą) są to dwa naciśnięcia klawiszy.Odpowiedzi:
Nie musisz jawnie iść do końca linii przed zrobieniem
a
, użyjA
;Dołącz tekst na końcu wiersza [liczba] razy
<ESC>GA
źródło
G)
(lub<ESC>G)
jeśli jesteś w trybie wstawiania i chcesz zakończyć tryb normalny nad ostatnim znakiem). Ta sama liczba naciśnięć klawiszy, ale kończy się w trybie normalnym zamiast w trybie wstawiania. Przydaje mi się to czasami, gdy chcę uruchomić normalne polecenie dla ostatniego słowa zamiast polecenia trybu edycji lub edycji.)
przesuwa się o[count]
zdania do przodu i dlatego nie przejdzie do końca linii, jeśli na przykład ostatnia linia jestThis is a test. Foo bar.
. Będzie jednak działał dla wielu kodów, które często nie są uważane za zdania i dlatego i tak kończą się.<ESC>
G
o
zrobi powrót karetki i przejdzie w tryb wstawiania w następnym wierszu (na końcu pliku), oszczędzając jeszcze kilka naciśnięć klawiszy.G$
.To jest szybsze. Po prostu użyj tego
źródło
Naciśnij, Esca następnie naciśnij: Shift+G
źródło
Na początek nie ma potrzeby zwrotu.
G$
zrobi. Wprowadzasz w błąd, licząc<Esc>
ia
wydając polecenie w trybie normalnym.Możesz jednak użyć Ctrl+, Endjeśli chcesz.
źródło
Ctrl-END
End
klawisza na klawiaturze (jeśli o to ci chodzi).<ESC>
ia
, ponieważ on lub ona wiedziała o sposób zastąpieniaShift+$, a
zA
.Myślałem, że pytanie brzmi: „Przenieś kursor na koniec pliku w vimie”?
Koniec pliku: Esc+ G
Początek pliku Esc+ g(lub
gg
jeśli jesteś już w obszarze poleceń)źródło
Najlepszym sposobem na przejście do ostatniej linii pliku jest
G
. Spowoduje to przesunięcie kursora do ostatniego wiersza pliku.Najlepszym sposobem na przejście do ostatniej kolumny w linii jest
$
. Spowoduje to przesunięcie kursora do ostatniej kolumny bieżącego wiersza.W ten sposób
G$
dochodzisz do końca pliku i do ostatniego wiersza.A jeśli chcesz przejść do trybu wstawiania na końcu pliku, po prostu to zrobisz
GA
. W ten sposób przejdziesz do ostatniego wiersza pliku i przejdziesz do trybu wstawiania, dołączając do ostatniej kolumny. :)źródło
Idź na górę - Double g
Idź do dołu - Shift+g
źródło
Jeśli planujesz napisać następny wiersz, ESCGozrobi powrót karetki i przejdzie w tryb wstawiania w następnym wierszu (na końcu pliku), oszczędzając jeszcze kilka naciśnięć klawiszy.
źródło
Ctrl + Home
= Przejdź do początku plikuCtrl + End
= Przejdź na koniec plikuźródło
To jest szybsze:
źródło
A
?Możesz zamapować go na klucz, na przykład F3, w .vimrc
źródło
GA
lubG$
.C-end
jak wspomniano przez hobbs.Szukałem sposobu, aby przesunąć kursor na koniec linii, a następnie edytować na terminalu Mac, oto jak to dla mnie działało. Wyjdź z trybu edycji, wpisz g_ (to jest „g”, a następnie podkreśl podkreślenie bez dwukropka z przodu), a następnie po prostu naciśnij klawisz „a”, abyś mógł „dodać” kod do swoich skryptów
źródło
A
?A
jest w zasadzie równoważne z$a
Inna alternatywa:
Może to być przydatne, jeśli piszesz funkcję. Inną sytuacją byłoby, gdy muszę otworzyć konkretny szablon i przejść do końca pierwszej linii, mogę:
Można to również zrobić z powyższym
Zobacz też:
vim - Uzyskaj długość bieżącej linii
źródło
Jeśli chcesz wkleić zawartość schowka na końcu typu pliku:
źródło