Jedyne, czego mi brakuje w korzystaniu z innych edytorów, to znajdowanie swojego miejsca za pomocą myszki. Potrafię spojrzeć oczami na określony obszar pliku i ruchem myszy i kliknięciem jestem tam. Z VIM'em muszę jjjjjkkkkkkjjjjhhhh ... prawie gotowe hhhhh o bzdury przegapiłem o 3 znaki, lll.
Uczę się robić znaczniki i znalazłem świetną wtyczkę do zakładek, mogę tworzyć znaczniki i niszczyć je <f3>
i nawigować do nich, niestety znaki są zapomniane, gdy plik jest zamknięty.
Jak wszyscy super nawigujecie po plikach? Wiem, że mógłbym też zrobić 5j7k4j5h i tak dalej, ale musi istnieć wtyczka, która może czytać z moich oczu i umieszczać kursor tam, gdzie naprawdę tego potrzebuję.
Nauczyłem się również używać /% do wyszukiwania określonego terminu. To pomaga, ale wszystkie pasujące znaki są podświetlone w całym dokumencie.
źródło
Odpowiedzi:
Spróbuj
$ vimtutor
, nauczy Cię wszystkiego, co musisz wiedzieć, aby zacząć.hjkl
są wierzchołkiem góry lodowej i bardzo rzadko używane, przynajmniej w moim przypadku.wWEe
iBbgegE
wszystkie pozwalają poruszać się słowo po słowie:w
ie
iść do przodu,W
iE
wziąć spacje i znaki interpunkcyjne pod uwagęb
ige
iść do tyłu,B
igE
wziąć spacje i znaki interpunkcyjne pod uwagęfFtT
służą do sięgania po konkretny znak w bieżącym wierszu i;,
służą do powtarzania tego ruchu w tym samym kierunku dla;
iw przeciwnym kierunku dla,
:fm
wskakuje na następnym
naprzód,F
przechodzi do tyłutm
skacze PRZED następnym dom
przodu,T
przechodzi do tyłu/?
służą do przeskoczenia do pierwszego wystąpienia wzorca z aktualnej pozycji kursora:/pattern
idzie do przodu?pattern
cofa się0$
służą do przeskoczenia do pierwszego i ostatniego znaku w linii.^g_
są używane do przeskoczenia do pierwszego i ostatniego drukowalnego znaku w linii.Pojedyncze i połączone
()[]{}
służą do przenoszenia frazy po frazie lub akapitu po akapicie lub bloku kodu po bloku kodu.<C-b>
i<C-f>
służą do przewijania ekranu do tyłu i do przodu.<C-u>
i<C-d>
służą do przewijania o pół ekranu do tyłu i do przodu.H
,M
IL
przesunąć kursor do góry, w środku dna widoku, odpowiednio.zt
,zz
Izb
przesunąć kreską kursora do góry, w środku dna widoku, odpowiednio.I tak dalej.
:help motion.txt
rozwali twój umysł.źródło
]}
i[{
(2 naciśnięcia klawiszy) przeskok na koniec lub początek zakresu (np. Zdefiniowany przez{ ... }
how to jump to a line he's seeing like using a mouse
. Znam i używam wszystkich skrótów klawiszowych, o których wspomniałeś przez cały czas. Ale nadal nie jest tak wydajne, jak wskazywanie myszy podczas skakania na duże odległości.Oprócz polecenia ruchu vima uważam, że wtyczka vim o nazwie EasyMotion jest bardzo przydatna do nawigacji, jeśli znasz vimperator lub pentadactyl, EasyMotion po prostu przywróć tryb podpowiedzi z powrotem do vima. tutaj jest animowane demo, a tutaj jest samouczek wideo. Mam nadzieję, że to Ci pomoże.
źródło
W vimie jest mnóstwo sposobów poruszania się, to jedna z jego naprawdę mocnych stron. Używam {i }dużo, które przesuwają się w górę iw dół do następnej pustej linii w tym kierunku. %przydaje się do przechodzenia tam iz powrotem do pasującego nawiasu (dowolnego rodzaju). Wi Bporuszaj się do przodu i do tyłu za pomocą „słowa”.
Może warto przejrzeć sekcję Poruszanie się w podręczniku Vima.
źródło
vim obsługuje mysz! spróbuj (w swoim .vimrc):
sidenote : jako użytkownik ekranu odkryłem, że również potrzebuję
żeby to zadziałało.
źródło
osobiście wolę używać:
źródło
Z opcją
relativenumber
( : help relativenumber - zawarta w Vimie 7.3 ) możesz dostać się do linii pod oczami za pomocą ruchu a[count]k
lub[count]j
, które pozwolisz ci poruszać się w bieżącej linii za pomocą ruchów, jakftweb
wyjaśniono @romainl.źródło
Oprócz
{
,}
,(
,)
,<number>cb
,<number>cB
,<number>cW
i%
używam takich technik Poruszanie się:ciw
,diw
(ciW
,diW
). itp., aby szybko edytować / usuwać słowo pod kursorem (w tym znaki inne niż spacje)ci(
,ci"
(ca(
,ca"
) itp., aby szybko edytować nawiasy wewnętrzne, cudzysłowy (w tym nawiasy, cudzysłowy). To samo dotyczyd
.mA
utworzy globalny znacznik,A
który będzie dostępny za pomocą'A
polecenia (lub zgodnie`A
z kolumną).gf
aby szybko przejść do pliku pod kursoremf
,t
(F
,T
) aby przejść do znaku przed znakiem w prawo (po lewej) (użyj;
do powtórzenia). Są one szczególnie przydatne dla poleceńd
ic
(użyj.
do powtórzenia).^]
przejść do tagu i^T
cofnąć się.I wiele innych sposobów na poruszanie się :)
Sprawdź to, aby uzyskać więcej informacji: http://www.thegeekstuff.com/2009/03/8-essential-vim-editor-navigation-fundamentals/
PS Dla użytkowników railsów jest bardzo przydatna wtyczka rails-vim, możesz też chcieć ją sprawdzić.
źródło
to jest dobre miejsce do nauki podstawowych komend nawigacyjnych, część mocy / prędkości vim pochodzi od kombinacji ruchu z akcji tj
cw
-> zmiana słowod10j
-> usuń 10 linii w dół itd. Również to i to są interesujące czyta.źródło
Możesz
:set nohlsearch
wyłączyć podświetlanie wyszukiwanych znaków.Często korzystam z ctagów.
źródło
Napisałem wtyczkę z myślą o super szybkiej nawigacji, nazywa się ona bez ruchu:
https://github.com/anschnapp/move-less
Umożliwia wygodne przeszukiwanie pliku dziury, przewijając za pomocą (
h
j
k
l
-klucze). Nie zmieniasz pozycji kursora podczas przewijania strony dołka (w oparciu o sztuczkę pasującą). Jeśli przerwiesz wyszukiwanie, to właśnie tam, gdzie zacząłeś.Aby uzyskać super szybką nawigację, zamierzam użyć mojej wtyczki, aby uzyskać docelową pozycję na ekranie, a następnie przeskoczyć do właściwej pozycji za pomocą easymotion (co było już zalecane w innej odpowiedzi):
https://github.com/easymotion/vim-easymotion
Jeśli połączysz oba, możesz nawet zapoznać się z historią skoków i przeskoczyć między miejscem pochodzenia a celem po prostu za pomocą
<c-o>
i<c-i>
.źródło