Jak nauczyć się vima na wysokim poziomie? [Zamknięte]

77

Wiem, że vim (podobnie jak emacs) jest bardzo potężnym edytorem dla programistów, o ile wiesz, jak go używać, jego skrótów i tak dalej. Jakie kroki mogę podjąć i jakie samouczki mogę przeczytać, aby zostać zaawansowanym użytkownikiem vima?

Zango
źródło
Możesz zajrzeć na wiki społeczności tutaj - ubuntu.stackexchange.com/questions/804/…
myusuf3

Odpowiedzi:

116

Krok 0: naucz się pisać na klawiaturze. Poważnie - jeśli twoje palce nie wiedzą, gdzie są klawisze, vim będzie bólem. Nawet jeśli odrzucisz vima, pisanie za pomocą dotyku poprawi twoje programowanie (zapytaj Steve'a Yegge'a ), pozwalając umysłowi monitorować tarcie łącza. Jest wiele z oprogramowania , które mogą pomóc Ci poprawić swoje pisanie.

Krok 1: Użyj preferencji klawiatury, aby zamienić Caps Lock i Escape - poważnie, jak często używasz Caps Lock? Korzystając z vima, będziesz cały czas używać Escape, a udostępnienie go w głównym rzędzie robi ogromną różnicę. Za pomocą standardowego pulpitu Ubuntu przejdź przez menu: System -> Preferencje -> Klawiatura -> karta Układy. Następnie naciśnij przycisk „Opcje układu”, kliknij trójkąt obok „Zachowanie klawisza Caps Lock” i wybierz „Zamień ESC i CapsLock”. (Uwaga, jak to zrobić, zmieniło się - zobacz to, jak to zrobić w 14.04 .

Krok 2: Użyj vimtutora, aby rozpocząć. Jest w gvim (myślę, że w menu pomocy) lub możesz po prostu wpisać „vimtutor” w wierszu poleceń. Zajmie to 30-45 minut twojego czasu, a wtedy twoje palce poznają podstawy vi / vim i powinieneś być w stanie edytować pliki bez konieczności wyrzucania klawiatury z okna.

Krok 3: Używaj vima wszędzie. Zobacz to pytanie z StackOverflow, aby uzyskać porady i łącza dotyczące korzystania z powiązań klawiszy vim i vi w wierszu polecenia, z przeglądarki internetowej, do tworzenia wiadomości e-mail w swoim IDE ... Musisz użyć vim, aby osadzić powiązania klawiszy w pamięci mięśni .

Krok 4: Dowiedz się więcej o Vimie. Zarysujesz powierzchnię tylko za pomocą vimtutora. Możesz

Naucz się często, że moja rada jest często mała - jest tak wiele, że przyklejenie się do kawałków wielkości kęsa będzie najlepszym sposobem na utrwalenie wiedzy.

Krok 5: Zysk :)

Hamish Downer
źródło
10
nie mogę zagłosować na to wystarczająco :)
tutuca
Bardzo dziękuję za najlepszą odpowiedź! Na szczęście jestem już maszynistką. :) Więc wykonam kolejne kroki ...
Zango,
1
Krok 2 jest bardzo ważny. Zmieniono vim z bycia boleśnie na mojego ulubionego redaktora.
Matthew
2
Chcę wcisnąć Krok 3, możesz nawet użyć (g) vima na Windowsie lub Macu lub ... (patrz vim.org/download.php ) Tylko użycie jednego edytora pozwoli ci się z nim lepiej zapoznać.
ddeimeke
Spraw, by czapki blokowały dodatkową kontrolę (lub zamieniały je). Vim ma wiele zastosowań ctrl, więcej niż używam ucieczki (i tak kapię do ucieczki), ale ten przydatny, łatwiejszy klawisz kontrolny jest przydatny w każdym innym programie, którego używam.
22

Pakiet „vimtutor” „vim” jest prawdopodobnie najlepszym miejscem do rozpoczęcia.

Andres
źródło
14

Dwie rzeczy:

  1. Naucz się pisać na klawiaturze. Naprawdę nie ma innej drogi. Następnie powiąż ESC z „;;” więc nigdy nie musisz wychodzić z domowego rzędu:inoremap ;; <esc>

  2. Szukaj github dla cudzych .vimrcs

I trzeci: VimCasts

Loevborg
źródło
6

To zabrzmi głupio, ale poznaj polecenie vima dotyczące pomocy. System pomocy jest niezwykle intuicyjny i łatwy w obsłudze.

Pomoc jest dostępna po wpisaniu :help. Możesz dowiedzieć się na określony temat, umieszczając go w wierszu poleceń (np :help insert.). Możesz przełączać tematy, naciskając klawisz Tab po wpisaniu jednego lub więcej znaków tematu.

Pomoc jest połączona hiperłączem z linkami oznaczonymi pogrubionym lub kolorowym tekstem. Możesz podążać za linkami, naciskając <Ctrl -]>, gdy znajduje się na nim kursor, i <Ctrl-t>, aby wrócić. Aby uzyskać pomoc, wpisz :q.

Erigami
źródło
1
Zawiera dwa kompletne podręczniki: podręcznik użytkownika i podręcznik referencyjny. Nie potrzebujesz niczego więcej niż vimtutor i: pomóż zostać ekspertem Vim.
Marius Gedminas
5

Kilka świetnych odpowiedzi. Zdecydowanie spróbuj zintegrować go z codziennym życiem i upewnij się, że nie próbujesz zalać swojego mózgu zbyt dużą ilością naraz. Jest po prostu zbyt wiele do zdobycia, aby nauczyć się wszystkiego w ciągu tygodnia.

Najpierw zacznij od jednego / dwóch nowych poleceń / klawiszy tygodniowo. Użyj ich i wrzuć je do mózgu. Nie chcesz przez cały dzień odwoływać się do ściągawki.

Mam przykładową konfigurację vima, która jest naprawdę dobrze udokumentowana, którą publikuję dla ludzi: http://github.com/mitechie/pyvim

Nie należy jednak kopiować / wklejać. Upewnij się, że rozumiesz, co dzieje się w konfiguracji vima, abyś nie zapomniał / źle zrozumiał, co on dla ciebie robi.

i zacząłem robić screencasty vima: http://lococast.net/archives/111

Stóg
źródło
4

Smep PeepCode do VIM 1 i 2 to świetny zasób. Możesz także sprawdzić blog Roba Conery'ego , który ma tam kilka dobrych informacji / blogów związanych z VIM.

JPrescottSanders
źródło
3

Wiem, że mogę otrzymać negatywną opinię na temat tej odpowiedzi, ponieważ może to zranić fanów i użytkowników vima: Najpierw zapytaj siebie, co chcesz zrobić. I tylko jeśli vim jest najlepszym narzędziem do tego konkretnego zadania, rób to, co mówią wszystkie pozostałe odpowiedzi.

Lub powiedzieć to z większą liczbą obrazów: możesz spróbować uzyskać dwa razy szybszy lub lepszy młot niż teraz. Ale w zależności od sytuacji śrubokręt może pomóc bardziej niż młotek. :)

Bananeweizen
źródło
4
Tak, jako fan vimów muszę powiedzieć, że vim to coś więcej niż młot. Zapewnia przydatne zastosowania dla każdego, od sysadmin, db admin, programisty (dowolnego języka), a nawet zwykłego edytora tekstu bez dodatków. Jest instalowany domyślnie w każdym systemie z jakiegoś powodu i nie wiem, czy istnieje wiele argumentów za „no cóż, naprawdę musisz to wiedzieć”. Poza tym użytkownik wyraźnie to opublikował, aby znaleźć sposoby / pomoc w rozwoju ich wiedza i doświadczenie.
Rick
1
Całkowicie się z tobą zgadzam!
ddeimeke
2

Tak naprawdę nie nauczyłem się jeszcze Vima, ale myślę, że podczas całego przeglądania przy użyciu rozszerzenia Pentadactyl dla Firefoksa będzie to trudniejsze, kiedy to zrobię.

Dowolne pola tekstowe i wiersz poleceń można traktować jak normalny tryb Vima za pomocą Ctrl + T (lub automatycznie, jeśli zmienisz ustawienie); jednak w tym momencie spada ono dla mnie, ponieważ wiele działań jest interpretowanych jako globalne, np. próba wklejenia p otwiera URL z tekstem znajdującym się w buforze i próbuje zastąpić tekst za pomocą r przeładowuje stronę. Ale możesz otworzyć pole tekstowe w Gvimie, naciskając Control I, więc tak naprawdę nie jest to problem.

Innym problemem jest to, że sprawia, że ​​strony internetowe takie jak Gmail czy Remember the Milk są trudniejsze w użyciu, ponieważ masz jeszcze inny tryb do walki.

daithib8
źródło
2

Zobacz odpowiedzi na porady dla początkujących dotyczące nauki Vima od Programmers SE

Aby powtórzyć moją odpowiedź z tego pytania:


Wiele się nauczyłem z książki O'Reilly „Nauka redaktorów Vi i Vim” . To najlepsza książka Vima, jaką przeczytałem.

Polecam również sprawdzenie:

Jeromy Anglim
źródło