Jakie są zalety nauki Vima? [Zamknięte]


467

Jako programista spędzam wiele godzin przy klawiaturze i robię to przez ostatnie 12 lat, mniej więcej. Jeśli jest coś, do czego nigdy się nie przyzwyczaiłem przez cały ten czas, są to irytujące i prawie nieświadome ciągłe mikroprzerwy, których doświadczam podczas kodowania, z powodu niektórych z najczęstszych zadań edycji kodu. Rzeczy takie jak proste kopiowanie i wklejanie z innej linii (lub nawet tej samej linii), lub przesuwanie 1 lub 2 linii w górę lub w dół od bieżącej pozycji wymagają zbyt dużego pisania lub wymagają użycia klawiszy strzałek ... i dostaje się gorzej, gdy chcę iść dalej - w końcu używam myszy. Teraz wyobraź sobie ten sam scenariusz, ale na laptopie.

Zawsze rozważałem naukę VIM, ale ilość czasu potrzebna do opanowania go zawsze sprawiała, że ​​chciałem się wycofać.

Chciałbym usłyszeć od ludzi, którzy się tego nauczyli, a jeśli to jedna z tych rzeczy, bez których nie możesz żyć.

W pracy używam VS2008, C # i R #, które razem sprawiają, że edytowanie kodu jest znacznie szybsze i łatwiejsze niż kiedykolwiek wcześniej, ale mimo to myślę, że nie mogę w ogóle korzystać z myszy.

I nawet klawiszy strzałek.


7
Brak konieczności przełączania się między klawiaturą a myszą jest zdecydowanie przyjemny. Na Macu użyłem klawiszy nawigacyjnych emacs (na przykład ctrl-A) nawet w edytorze GUI, takim jak BBEdit lub Xcode, aby uniknąć dodatkowego ruchu myszką.
Craig S

236
Jest to całkowicie warte wysiłku. Dowiedz się vim;)
Kyle Walsh

20
Możesz nauczyć się podstawowego vima (zapomnij o vi) w ciągu kilku minut, po prostu wpisz vimtutor w terminalu, a otrzymasz podstawowe - to, czego nauczysz się w ciągu następnych 20 lat, zależy od Ciebie. Jestem tylko ciekawy, w jaki sposób VS2008, C # i R # pomagają ci w problemach związanych z marnowaniem życia na przemieszczanie się między klawiaturą a klawiszami strzałek / myszą?
stefanB

43
Jedna z najlepszych inwestycji, jakie kiedykolwiek poczyniłem.
Johnsyweb

10
Stworzyłem tę grę, aby pomóc mojemu siedmioletniemu siostrzeńcowi w nauce szybkiego poruszania się w Vimie: kikuchiyo.org Wersja beta pozwala atakować wrogów mieczem świetlnym, „i” za lewy atak i „a”, po prawej: PI nauczył Vima z tych samych powodów co ty. Odkryłem, że poruszanie się po najtrudniejszej części się przyzwyczaja. Mam nadzieję, że gra pomoże Ci przyspieszyć, jeśli potrzebujesz pomocy :) Powodzenia! :)
kikuchiyo,

Odpowiedzi:


249

Używam vi i vim także od około 20 lat i wciąż uczę się nowych rzeczy.

Strona Best of Vim Tips Davida Raynera to doskonała lista, choć prawdopodobnie jest bardziej przydatna, gdy masz już trochę doświadczenia z vimem.

Chcę również wspomnieć o stronie ViEmu, która zawiera świetne informacje na temat wskazówek vi / vim, a zwłaszcza artykuł Dlaczego, och DLACZEGO te orzechy używają vi? ( wersja zarchiwizowana )


8
Tak, zawsze uczę się w nim nowych rzeczy. Nadal też mój ulubiony redaktor.
Craig S

20
Zastanawiam się, czy to dobrze, czy źle. Jeśli ciągle uczysz się nowych rzeczy, krzywa uczenia się jest NAPRAWDĘ stroma, funkcje są NAPRAWDĘ ukryte i nie ma poczucia mistrzostwa. W każdym razie, jeśli chciałeś RISC, wybrałeś vi zamiast vima, prawda?
bastibe

7
@Paperflyer: Miałem te same myśli. Jeśli nadal nie opanowałeś go po 20 latach, to ból głowy, nie jestem pewien, czy chcę
Dinah

7
Jak to? Oznacza to, że chociaż ma tak wiele funkcji, możesz się uczyć, ale nie musisz się uczyć ich wszystkich, aby być bardziej produktywnym.
Arda Xi

5
„Dlaczego, och DLACZEGO te orzechy używają vi?” - Dobry link, szczególnie do pytania

184

Czy mógłbym bez tego żyć? Z łatwością.

To jest użyteczne? Tak.

Powody uczenia się

  • vi istnieje na wszystkich systemach uniksowych i istnieje również na większości systemów Linux. Ten rodzaj szerokiego zasięgu sprawia, że ​​nauka jest tego warta.

  • O wiele szybciej jest użyć vi do sudoedycji:

    $ sudo vi

  • Ponadto GMail używa komend vi-ish do wybierania i przenoszenia wiadomości e-mail!

Nie musisz być mistrzem.

Po prostu się ucz

Podstawy:

  • Jak przełączyć się z trybu poleceń na tryb wstawiania i
  • Jak przejść z trybu wstawiania do trybu poleceń Esc
  • Jak nawigować w górę linii w trybie poleceń k
  • Jak nawigować w dół linii w trybie poleceń j
  • Jak nawigować w lewo znak w trybie poleceń h
  • Jak nawigować w prawo po znaku l
  • Jak zapisać plik :wEnter(zapis)
  • Jak wyjść bez zapisywania (w trybie komend) :q!Enter
  • Jak cofnąć u
  • Jak wykonać ponownie Ctrl+r
  • Możesz łączyć pisanie i wychodzenie (w trybie poleceń): :wqEnter

Stamtąd reszta sprawi, że będziesz szybszy.


Zawsze używałem „vi jest łatwe; używasz klawisza ell, aby przesunąć kursor w prawo” jako humorystyczny (mam nadzieję) sposób, aby go wprowadzić. Ale używałem go od dawna i nie byłoby bez niego. Nie mogę jednak ubiegać się o ponad 25 lat dla innej pary, więc nie otrzymałem ode mnie żadnej nowej odpowiedzi.
Jonathan Leffler

16
Tak się nauczyłem. Zacznij od minimum i buduj na nim trochę każdego dnia. Poświęć trochę czasu, aby nauczyć się nieco lepszego sposobu realizacji zadania. Inspirację znajdziesz w „7 nawykach edytowania tekstu”.
Ben

Gmail, eksperymentalne skróty klawiaturowe wyszukiwania Google, skróty klawiaturowe Slashdot, man i mniej używają powiązań podobnych do vim. Zaskoczyło mnie odkrycie, że przypadkowo się ich nauczyłem, nie znając vima! Nawet Firefox używa / do wyszukiwania przyrostowego (z bardzo nieznacznie inną semantyką niż Ctrl + F).
Adam Rosenfield

29
[:] [X] [Enter] jest taki sam jak [:] [W] [Q] [Enter]
Vitalii Fedorenko

20
[Z] [Z] jest taki sam jak [:] [X] [Enter]
Kos

138

Przejście przez vimtutora zajęło mi tylko 30 minut, co wystarczyło, aby się z nim zapoznać. To było warte każdej sekundy.


Jeśli znasz lepszy link wyjaśniający, zmień mój :)
Blorgbeard jest dostępny

43
vimtutor to dokładnie samouczek. Robiłem to codziennie przez około 10 dni. Za pierwszym razem zajęło mi to około 30 minut, następnego dnia 20, a następnie 15. Do końca tygodnia zapadła mi w pamięć większość jego poleceń. Myślę, że zamiast próbować zapamiętać, powtórzenie jest najlepszym sposobem na zbliżenie się do Vima. 15 minut dziennie przez tydzień wydaje się naprawdę niewielką ceną.
Michael Ekoka,

28
Co powiesz, kiedy skończymy z VIMTUTOR? Jaki jest następny krok, aby dowiedzieć się więcej?
privatehuff

3
@privatehuff: Przeczytaj i zastosuj Siedem nawyków skutecznej edycji tekstu .
Frank Kusters,

1
łał! to było jak jeden z tych ukrytych przedmiotów w grze. To było w moim systemie i nie wiedziałem, że istnieje. Jeden z najbardziej przydatnych i szybkich samouczków vima. Używając vima przez jakiś czas, nauczyłem się kilku podstawowych sztuczek, o których nie wiedziałem. polecany wszystkim. Mała sugestia: jeśli używasz vima na laptopie, który ma tabliczkę dotykową i obsługuje gesty, wyłącz go przed użyciem vima, ponieważ jeśli przypadkowo dotkniesz, może przesunąć kursor w nieoczekiwane miejsca, czasami marnując całą dobrą edycję.
Barracuda

69

Jeśli jesteś programistą, który edytuje dużo tekstu, ważne jest, aby nauczyć się poważnego edytora tekstu. Który z poważnych edytorów tekstu, którego się uczysz, nie jest niezwykle ważny i zależy w dużej mierze od rodzajów środowisk, w których spodziewasz się edytować.

Powodem jest to, że te edytory są wysoce zoptymalizowane do wykonywania zadań, które będziesz dużo wykonywać. Na przykład rozważ dodanie tego samego kawałka tekstu na końcu każdego wiersza. Jest to banalne w A Serious Text Editor, ale w przeciwnym razie jest absurdalnie niewygodne.

Zazwyczaj bierze się pod uwagę funkcje zabójcy vima: A) że jest on dostępny na prawie każdym Uniksie, jaki kiedykolwiek spotkasz, i B) twoje palce bardzo rzadko muszą opuszczać główny wiersz, co oznacza, że ​​będziesz w stanie bardzo, bardzo szybko edytować tekst . Jest również zwykle bardzo szybki i lekki, nawet podczas edycji dużych plików.

Istnieje jednak wiele alternatyw. Emacs jest oczywiście najczęściej spotykanym przykładem i jest to znacznie więcej niż tylko zaawansowany edytor tekstu, jeśli naprawdę się w nim zagłębisz. Osobiście jestem bardzo szczęśliwym użytkownikiem TextMate po latach używania vim / gvim.

Sztuką na przejście na którąkolwiek z nich jest zmuszenie się do korzystania z nich w sposób, w jaki były zamierzone. Na przykład vim, jeśli ręcznie wykonujesz każdy krok w procesie wieloetapowym lub jeśli używasz klawiszy strzałek lub myszy, prawdopodobnie istnieje lepszy sposób, aby to zrobić. Zatrzymaj to, co robisz i sprawdź to.

Jeśli nie robisz nic więcej, naucz się podstawowych elementów sterujących nawigacją zarówno dla vima, jak i Emacsa, ponieważ pojawiają się one wszędzie. Na przykład można używać elementów sterujących w stylu Emacsa w dowolnym polu wprowadzania tekstu w systemie Mac OS, w większości powłok uniksowych, w środowisku Eclipse itp. Można używać elementów sterujących w stylu vim w poleceniu less (1), na Slashdot , na Gmailu , itp.

Baw się dobrze!


7
Ma to sens, że wiele osób przeoczyło. Prawie każde powtarzające się zadanie ma skrót. Programiści lubią skróty. Jak powiedział rbright, jeśli wielokrotnie wykonujesz krok, zatrzymaj się i sprawdź, czy ktoś już udokumentował skrót.
AvatarKava

A) był jednym z największych powodów, dla których korzystałem z VIM - pierwotnie byłem facetem emacsa, ale nie wszystkie systemy go miały i czasem działało to wolno przez sieć lub na zajętych serwerach. VIM jest wszechobecny, mały i szybki.
jpeacock

3
Mój redaktor ciągle żartuje. Powinienem się zmienić.
Greg Graham

Miałeś mnie w: „Jeśli jesteś programistą, który edytuje dużo tekstu, ważne jest, aby nauczyć się poważnego edytora tekstu”. Najgorsze jest to, że wydaje się niemożliwe nauczenie się dwóch (znacznie mniej więcej) wewnątrz i na zewnątrz, prawie z definicji. W pewnym momencie studiujesz przypadki skrajne, a wiedza o tym, jak wykonać Zadanie X w jednym, zwykle nie przekłada się na to. I zawsze robię to w edytorach „frędzlowych” - nadal używam JEdit dla JTidy, Code2HTML, do wyszukiwania wielu plików, np. Twoim głównym zadaniem jest rzut kostką i nie ma srebrnej kuli, ale tak, absolutnie naucz się jednej i baw się wieloma. ; ^)
ruffin

1
@ruffin To prawda, nie można tak naprawdę opanować dwóch różnych edytorów jednocześnie: jeśli opanujesz jeden edytor, będziesz używał wielu jego poleceń nieświadomie , a to oznacza, że ​​najprawdopodobniej spróbujesz użyć to samo polecenie, gdy używasz innego edytora. Ile razy przeklinałem moją przeglądarkę za to, że nie pozwala mi na poprawianie wcięć za pomocą prostego <esc> >i{... To tak samo jak w przypadku pisania dotykowego: uczysz się jednego układu klawiatury i trzymasz się go, ponieważ nigdy nie będziesz w stanie zatrzymać palcami od pisania niewłaściwych klawiszy na innym układzie.
cmaster

36

To zdecydowanie warte wysiłku.

Jest jeden oczywisty powód, dla którego każdy, kto używa Vi(m), powie Ci, a dwa inne, o których ludzie nigdy nie wspominają.

Oto oczywisty:

  1. vi jest jednocześnie wszechobecny i niesamowicie potężny, a ucząc się go raz, zyskujesz możliwość korzystania z tej mocy na prawie każdym komputerze wyposażonym w klawiaturę.

A są to mniej znane powody do nauki Vim:

  1. To nie jest o połowę mniejszy wysiłek, niż myślisz. Przeprowadź raz przez korepetytora Vima (vimtutor w powłoce lub w systemie Windows uruchom go z folderu Vim w menu Start), a już będziesz na dobrej drodze do zdobycia kompetencji, a stamtąd wszystko z górki. Byłem na poziomie, z którego mogłem korzystać Vimw pracy bez zauważalnego spadku wydajności w ciągu tygodniowych przerw na lunch.

  2. Jest fajnie ! Edycja tekstu jest dla mnie jak gra . Aktywnie to lubię - co jest dość śmieszne, kiedy się nad tym zastanowić.

Istnieją również dwa ważne powody, aby się nie uczyć Vim:

  1. To uzależnia, a będziesz chciał, aby móc używać Vimpoleceń we wszystkich komputerach i przeklinać, gdy nie możesz. Na szczęście, przynajmniej w niektórych sytuacjach, istnieją sposoby na obejście tego .

  2. Znowu jest to uzależniające i chociaż nie stracisz żadnej produktywności z faktycznego używania Vim , będziesz marnować godziny na szukanie dobrych wskazówek, aby poprawić swoje Vimwrażenia, i czytając tag Vim na Stack Overflow.


12
Haha numer 2 z powodów „nie” do nauki VIM ma rację. Cały czas zapisuję edycję tekstu, spędzam czytając o edycji tekstu. Śmieszny.
Karl Floersch,

Tak, żałowałem, że nie mogę grać w dolinę stardew za pomocą hjkl ...
xis

32

Zdecydowanie warto nauczyć się vima lub emacsa. Warto również nauczyć się pisać na klawiaturze. W obu przypadkach powody są takie same: twoje myślenie nie jest już przerywane przez mechaniczny proces wprowadzania kodu na ekran .

Aby zacząć, po prostu zanurkuj i zacznij używać vima do wszystkiego.

PS Debata emacs-vs-vi jest niekończąca się. Używam emacsa od 26 lat. Gdybym zaczął dzisiaj od nowa, nauczyłbym się vima, ponieważ (a) jest lepiej i (b) jest o wiele mniej klawiszy modyfikujących (Ctl-Alt-V, ktokolwiek), a użytkownicy vima wydają się mieć znacznie mniej obrażeń podczas pisania.


RSI jest jedynym zagrożeniem zawodowym deweloperów. Nigdy nie myślałem o tym w ten sposób, ale założę się, że to naprawdę dobry punkt. O wiele trudniej jest pisać akordy z punktu widzenia mięśni. Wiedziałem, że istnieje morderczy powód, aby używać vi!
DigitalRoss,

1
Użyłem obu, byłem „ochrzczony” vimem i nauczyłem się emacsa kilka miesięcy temu. Wolę vima, ponieważ zadania są podzielone - albo edytujesz, albo wstawiasz, a nie robisz obu. To rozróżnienie pomaga mi myśleć o tym, co robię, a także sprawia, że ​​„normalne” polecenia wykonują 1-2 naciśnięcia klawiszy zamiast 2-4. Chciałbym tylko, żeby vim był oparty na Lisp (i nie, tryb vipera nie obsługuje wszystkich moich standardowych funkcji vima. Tak, mógłbym stworzyć własne, ale potem bym ich brakował za każdym razem, gdy dotknąłem nowego komputera / systemu)
Wayne Werner

1
@WayneWerner Jestem naprawdę nieaktualny, ale możesz kontrolować wersję wszystkich swoich elisp, aby móc synchronizować je za pośrednictwem komputerów.
YuriAlbuquerque

@ YuriAlbuquerque, zacząłem bardzo poważnie myśleć o stworzeniu skryptu instalacyjnego środowiska automatycznego, utrzymując wszystkie moje pliki dot na github lub coś w tym stylu.
Wayne Werner

17

Można uzyskać dobre out funkcjonalności vim przez uczenie się znaczeń zaledwie 16 klawiszy: ijkdbw9:q!%s/nNEsc. Możesz zrobić tylko nagie kościi:wqEsc .

Pierwsze dwa klucze, które musisz znać to: Escprzejście do trybu poleceń (tryb, w którym zaczynasz) i iprzejście do trybu wstawiania (normalne pisanie).


Aby zapisać musisz

  1. wyjdź z trybu pisania (Esc )
  2. wpisz dwukropek :
  3. wpisz małe litery wnastępnie Enter

Aby zapisać i wyjść, musisz

  1. wyjdź z trybu pisania (Esc )
  2. wpisz dwukropek :
  3. wqnastępnie wpisz małe literyEnter

Aby nie zapisywać i wymuszać wychodzenie, musisz

  1. wyjdź z trybu pisania (Esc )
  2. wpisz dwukropek :
  3. q!następnie wpisz małe literyEnter

Aby dowiedzieć się więcej, możesz biegać vimtutor w wierszu polecenia. To średniej długości dobrze zorganizowana lekcja.

Poza ii Esc: możesz replikować lub przewyższać niektóre funkcje MS Word tylko jkwbd3:%s/nN.

  1. bzabiera cię z powrotem słowo ( Ctrl+ )
  2. w zabiera cię do przodu o słowo (Ctrl + )
  3. 9w zabiera cię do przodu o dziewięć słów
  4. db usuwa poprzednie słowo (Ctrl +Backspace )
  5. d3b usuwa trzy poprzednie słowa
  6. 9j przesuwa się w dół o 9 linii
  7. / ornithopter Enterprzejście do następnego wystąpienia słowa „ornitopter”, a następnie ni Ndo następnego i poprzedniego wystąpienia „ornitopter” odpowiednio.
  8. :%s/confounded/dangfangled/ Enter zamienia każde „zmieszane” na „zwisające” (jak find and replace all w MS Word)

Każdy z nich powinien być uruchamiany w trybie „polecenia” ( Esc), a nie w trybie wstawiania ( i).


16

Niedawno przeszedłem na VIM i myślę, że warto. Jeśli potrzebujesz „po prostu coś załatwić”, zawsze możesz pozostać w trybie wstawiania, w którym vim jest (głównie) podobny do zwykłego edytora tekstu.

Zauważyłem, że rzeczy, które mi nie przeszkadzały, takie jak sięganie po klawisze strzałek, teraz są złe i wymagają zbyt wiele wysiłku. Zdecydowanie zmniejszyło to ruch dłoni i użycie myszy, co jest dobre zarówno pod względem ergonomii, jak i wydajności


12

To zależy od tego, co chcesz zrobić z VIM. Nauczenie się tego nie ma sensu tylko dlatego, że wiele osób nie może bez niego żyć.

Kiedy dużo pracowałem w środowiskach UNIX, nie mogłem bez niego żyć. Nawet jeśli VIM nie był zainstalowany na komputerze z systemem UNIX, mogłem przynajmniej użyć vi. Zawsze możesz na to liczyć - nawet jeśli urządzenie nie jest twoje (to od klienta).

Teraz programuję w C # i głównie pracuję w środowisku Windows. Zainstalowałem VIM na komputerze ... i nie potrzebuję go.

Oceń, czy naprawdę potrzebujesz VIM i czy wspiera cię on w „przepływie pracy”. Wypróbuj to. Baw się tym. Jeśli uważasz, że potrzebujesz, trzymaj się tego ... krzywa uczenia się jest bardzo stroma.


Dla użytkowników VIM dostępne jest rozszerzenie do studia wizualnego, zobacz na visualstudiogallery.msdn.microsoft.com/…
yoel halb

10

Nauczyłem się vi, ponieważ musiałem.

Mój zwariowany nauczyciel zmusił nas do nauki programowania w C przy użyciu terminala do systemu AIX.

To był prawdziwy ból, ale warto.

Dzisiaj używam vi tylko do szybkiej edycji lub małych programów.

Kiedy muszę iść na projekt, wolę używać i IDE. W moim przypadku pomysł IntelliJ jest bardzo dobry w tym zadaniu, ponieważ mogę pisać godzinami bez chwytania myszy.

Nie wiem, ile skrótów ma VS2008, ale jeśli są one tak wykrywalne jak Eclipse, myślę, że masz problem z vi.

Jeśli NIE edytujesz kodu poza środowiskiem IDE, a twoje IDE ma dobre skróty, lepiej się ich naucz, a potem idź i naucz się vi.

:)


Poprosił o zalety VIM, a nie opinię.
Blaze349,

@ Blaze349 nie, poprosił o usłyszenie o ludziach, jak się tego nauczył (patrz oryginalny post tutaj), na co dokładnie odpowiedziałem. To pytanie ma prawie 8 lat i przeszło kilka recenzji na przestrzeni lat, moja odpowiedź była zgodna z pierwotną. Weź to pod uwagę podczas komentowania.
OscarRyz

9

Używam vi / vim od ponad 25 lat. Jeśli znasz już edytor wiersza poleceń, być może nie musisz uczyć się vi / vim. Ale jeśli nie znasz zbyt dobrze innych edytorów wiersza poleceń, warto się tego nauczyć. Łatwo jest być produktywnym w vi / vim przy niewielkim wysiłku.


6

Używam VIM prawie wyłącznie teraz.

Kiedyś używałem Vima do edycji i VS Editor do debugowania. To chyba wydaje się trochę szalone, ale znalazłem paradygmat Vi (makra, edycja oparta na kluczu domowym itp.) Tak zwiększający moją wydajność, że edycja w VS była malownicza.

Dzięki Viemu nie muszę już nawet przełączać. Nie jest to jeszcze idealne rozwiązanie (uzupełnianie kodu czasami nie jest tak eleganckie jak w natywnym vimie, a zapisywanie makr nie jest idealne), ale jest o wiele lepsze niż ciągłe przełączanie w przód i w tył.

Krzywa uczenia się dla Vima jest prawdopodobnie przesadzona. Myślę, że kiedy się w to zagłębisz, jest to dość intuicyjne.


5

Moja praca zmusiła mnie do wybrania vima i szybko stało się to drugą naturą. Teraz moje skargi dotyczą IDE, które nie mają emulacji vim ani wtyczek. Zauważam, że klucz esc stał się moim wrogiem poza vimem.

W programie Visual Studio znalazłem kilka emulatorów vi:

http://code.google.com/p/vim-visual-studio/


4

Po pierwsze, dobra znajomość vi (m) pozwoli Ci zaoszczędzić czas, który musisz poświęcić na edycję awaryjną plików konfiguracyjnych na serwerze pod kontrolą. Może wytrzymać opóźnione połączenie ssh.

Administracja pomijając metodę wprowadzania Vima, będzie najlepszą obroną przed tunelem nadgarstka, jeśli użyjesz go skutecznie z ergonomiczną klawiaturą.

Najlepszym sposobem, aby zobaczyć sens vima, jest rozpoczęcie zwykłego projektu w domu, odłącz mysz i zaklej taśmą klawisze strzałek.

I przeczytaj pomoc


4
Uważam również, że model wejściowy Vi świetnie chroni się przed zespołem cieśni nadgarstka ...
CMS

klawisze strzałek? spróbuj w .vimrc: mapa <w górę> <nop> mapa <w dół> <nop> mapa <w lewo> <nop> mapa <w prawo> <nop> imap <w górę> <nop> imap <w dół> <nop> imap < left> <nop> imap <right> <nop>
sjas

1
Chciałbym tylko zaznaczyć, że nanojest o wiele łatwiejszy w użyciu niż vim i prawie równie rozpowszechniony.
MightyPork


4

Utrzymuję bardzo duży projekt linuksowy na zdalnym komputerze. Nie ma wyboru, aby używać środowiska IDE Eclipse lub podobnego opartego na GTK. Pracuję tam od 3 lat. I ustawiłem vim tylko na ten projekt. I wciąż poprawiam.

Teraz mogę zrobić wszystko z Vima: kontrola źródła, SQL, debugowanie, kompilacja, przeglądanie - naprawdę szybkie przeglądanie kodu źródłowego 1 Gb.

Visual Studio lub Eclipse nie mogły obsłużyć tego wszystkiego. A gdybym miał wybór, nie zmieniłbym Vima na innego edytora lub IDE.


4

Nauczyłem się Vima. To nie był zbyt duży wysiłek. Teraz absolutnie uwielbiam ci "ci (cw V: s / from / to / g


3

Powiedziałbym, że vim jest zdecydowanie warty nauki. Podniosłem go zeszłego lata i jest teraz moim ulubionym edytorem do wszystkiego (java to odcinek, ale wykonalny, gdy nie potrzebuję obszernego wsparcia analizy). Jak wszyscy już potwierdzili, jest to cudownie skuteczne narzędzie.

Za to, co jest warte, nauczyłem się tylko niewielkiego podzbioru funkcji vima (co zajęło dzień lub dwa) z graficznego samouczka , a także kilka drobiazgów od tego miejsca (długie czytanie) oraz funkcji wyszukiwania i zamiany, a ja był uzależniony. Od tego czasu uczyłem się różnych rzeczy, ale w wolnym czasie. Powiedziałbym, że krzywa uczenia się w tym momencie spłaszcza się, ale potem dość mocno jej używałam i była otoczona przez innych, którzy też byli.


3

Jestem w takiej samej sytuacji jak ty i jako początkujący Vima początkowo uważałem to za trochę zniechęcające - krzywa uczenia się wydaje się stroma. Z tego, czego nauczyłem się w ciągu zaledwie kilku godzin, już czuję, że bez tego nie będę mógł żyć.

Tutaj a kilka linków , które znalazłem na użyteczne screencasty Vim, aby pokazać, co to jest zdolny.

Dobra rada, jaką dał Bram Moolenaar (życzliwy dyktator Vima) w tym ostatnim linku, jest to, że próba nauczenia się każdego polecenia i funkcji jest nieskuteczna, po prostu dowiedz się, co robisz, a co nie działając bardzo dobrze, poszukaj sposobu, aby uczynić go bardziej wydajnym, a następnie nawyk.


3

Tak, zdecydowanie poświęć trochę czasu, aby nauczyć się choć trochę „vi” i „vim”. Podróżuje bardzo dobrze.

Nigdy nie utkniesz, gdy masz do czynienia z klientem Unix / Linux / Mac, dla którego nie masz możliwości instalacji. Nawet w systemie Windows (jeśli masz możliwości instalacji) „Vim” jest darmowy i łatwy w instalacji. (W przeciwieństwie do inwestowania swojej krzywej uczenia się w coś podobnego do UltraEdita, który chociaż doskonały edytor może nie być dla ciebie dostępny przez cały czas ...).

Nauka vi może przygotować cię do nauki innych narzędzi, takich jak „sed” i regex w ogóle: rzeczy, które można ogólnie przenosić.

Dodatkowo, jeśli chcesz być dobrym maniakiem, po prostu musisz znać „vi / m”, albo będziesz wyglądać jak oszust ;-)


2

Myślę, że zdecydowanie warto poświęcić czas i wysiłek na naukę vima. Dla mnie sprawia, że ​​pisanie i poruszanie się po tekście jest tak wydajne, że trudno sobie wyobrazić powrót do kombinacji emacs lub ctrl / shift / alt / meta.

Nie daj się zastraszyć przez wszystkie fantazyjne funkcje vima. Gdy użyjesz go wystarczająco dużo, zorientujesz się, które polecenia najczęściej używasz, i zorientujesz się, o których rzeczach możesz zapomnieć.


2

Niesamowita wszechobecność Vima i jeszcze bardziej niesamowita wszechobecność klonów Vi w samych systemach uniksowych wystarczy, aby warto było się tego nauczyć.

Poza tym całe myślenie w stylu Vi jest czymś, co moim zdaniem sprawiło, że jestem trochę bardziej produktywny. Dla osoby, która nie jest przyzwyczajona do trybów takich jak tryb poleceń i tryb wstawiania, wydaje się, że wejście do trybu po prostu wstawianie tekstu wydaje się nieco przesadne. Ale kiedy ktoś używa Vima od kilku miesięcy i nauczył się kilku wskazówek i sztuczek, Vim wydaje się być atutem, który wydaje się tego wart.

Oczywiście tłum Emacsa mówi to samo o myśleniu w stylu Emacsa, ale zrezygnowałem z nauki Emacsa, ponieważ Vim był prostszy i wykonał dla mnie pracę.


2

Nauczyłem się polubić vi po obejrzeniu osoby, która była w tym bardzo wprawna, poruszania się po niej i wprowadzania zmian w niesamowicie szybkim klipie. Naprawdę możesz za jego pomocą szybko kodować. Innym powodem, dla którego mi się podoba jest to, że czasami znajduję, że poruszanie się w IDE naprawdę po pewnym czasie boli mnie w ręce, a vi zapewnia miłą zmianę. Jak wspomnieli inni, jest prawie zawsze dostępny w systemach uniksowych i działa dobrze nawet w kiepskich połączeniach.

Jedną rzeczą, o której nie wspomniałem, jest to, że znajomość vi ma dodatkową zaletę „geek cred” w niektórych kręgach. Mogę wymyślić co najmniej kilka osób, które chichoczą, gdy widzą, jak nowy programista uruchamia nedit, aby wprowadzić zmiany w pliku.


2

Nie bój się liczby poleceń, nie spotkałem nikogo, kto użyłby więcej niż kilku tuzinów. Uważam, że jest to niezbędne, ponieważ kiedy myślę o kodzie, myślę o tekście, przejście do myślenia o myszach po prostu mnie psuje. Myślę, że wielkimi sztuczkami jest nauczenie się tego po trochu i nie wahaj się bawić - funkcje cofania są świetne do badania jego zachowań.

Ponadto, jeśli zagłębisz się w to, vim jest skryptowalny. Możliwości są dosłownie nieograniczone.

(Tak, wszystko to dotyczy również emacsa ...)


2

Byłem szczęśliwy z mojego padu i świata ecplise, dopóki nie zacząłem pracować z serwerami działającymi pod Linuksem. Potrzebne było zdalne tworzenie skryptów i konfiguracja plików konfiguracyjnych!

Na początku było ciężko, ale teraz mogę łatwo skonfigurować i dostroić moje serwery.


2

Możesz nauczyć się vima, ponieważ możesz nie być zadowolony z edytorów, których już używasz.

Możesz nauczyć się vima, ponieważ wiele osób uważa, że ​​jest fajny. Zobacz, ile masz odpowiedzi na to pytanie.

Podam dodatkowy powód do nauki vim. Ma reputację jakości i kompletności swoich dokumentów. Większość odpowiedzi na pytania znajdziesz w jego systemie pomocy, gdy tylko uda Ci się wpisać odpowiednie słowa kluczowe w zapytaniach pomocy.


2

Aby szybko nauczyć się vi (m), trzeba najpierw zrozumieć cały projekt. Vim ma świetny zestaw poleceń ruchu kursora, zaznacz kilka (X to znak, # cyfra):

jk wprowadź strzałki 0 $ w W b B ctrolD crtolU ctrolE ctrolY HML fX FX tX TX,; % gg G n N mX 'X' '

i wiele innych wymienienie byłoby nudne. Wiele z nich obsługuje liczenie przed poleceniem, np. 4j, aby przesunąć o 4 linie w górę.

Teraz wracając do projektu, wpisujesz polecenie takie jak d, aby usunąć, a następnie ruch kursora, a polecenie to dotyczy fragmentu tekstu od pozycji kursora do końca ruchu. Na przykład H przesuwa się na górę ekranu, dH usuwa się na górze ekranu, a cH zmienia (zastępuje) na górze ekranu.

Ten projekt jest dość potężny. Zmniejsza to lub organizuje to, czego musisz się nauczyć. Ostatecznie pierwszym krokiem jest nauczenie się kilku poleceń ruchu kursora. Powiedzmy, najpierw 8 lub 10. To już prawie koniec.


2

Nauka czegoś nowego zawsze jest warta wysiłku, IMHO. Sugeruję wydrukowanie ściągawki i zmuszenie się do korzystania z niej codziennie i codziennie.


W chińskim jest historia mówiąca, że ​​ktoś uczy się od nauczyciela, jak rzeźnić smoki. Po ukończeniu studiów nigdy nie może znaleźć prawdziwych smoków, które mogłyby zostać zarzynane. Nie mówię vi, ale morałem tej historii jest to, że czasami uczenie się czegoś jest po prostu stratą czasu.
Earth Engine

2

Na pewno warto nauczyć się Vima, aby częściowo podsumować to, co zostało tu wcześniej powiedziane, to główne powody:

  • Vi / Vim można znaleźć na większości systemów uniksowych.
  • Vim pozwala na łatwe kodowanie bez odrywania rąk od klawiatury.
  • Jeśli planujesz coś skonfigurować w systemie opartym na Uniksie, to prawdopodobnie będziesz edytować sporo plików konfiguracyjnych, dlatego będziesz chciał nauczyć się edytora opartego na terminalach, z których vim jest jednym z najlepszych (przepraszam emacs).
  • Vim kompiluje / ma prekompilowane pliki binarne dla prawie każdego systemu operacyjnego. Nie trzeba pisać „Potrzebuję alternatywy dla partnera tekstowego dla [wstaw OS]”, zamiast tego będziesz mieć Vima!
  • Istnieje wiele dobrych wtyczek, które dodają wiele funkcji, takich jak różnice w cvs w edytorze, chociaż niektóre z nich wymagają sporego majsterkowania.

Również na marginesie, jeśli uważasz, że lubisz powiązania klawiszy Vima, istnieją również środowiska IDE, które zawierają powiązania vima w swoich edytorach dla prostych poleceń, na przykład Edycja Komodo .

Aby uzyskać pomoc w nauce Vima, spróbuj wpisać „vimtutor” w swoim terminalu i postępuj zgodnie z instrukcjami. Jest też książka, która jest szczególnie dobra Hacking Vim


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.