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.
Odpowiedzi:
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 )
źródło
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
sudo
edycji:$ 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:
:w
Enter(zapis):q!
Enter:wq
EnterStamtąd reszta sprawi, że będziesz szybszy.
źródło
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.
źródło
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!
źródło
<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.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:
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
: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ćVim
w pracy bez zauważalnego spadku wydajności w ciągu tygodniowych przerw na lunch.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
:To uzależnia, a będziesz chciał, aby móc używać
Vim
poleceń we wszystkich komputerach i przeklinać, gdy nie możesz. Na szczęście, przynajmniej w niektórych sytuacjach, istnieją sposoby na obejście tego .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ć swojeVim
wrażenia, i czytając tag Vim na Stack Overflow.źródło
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.
źródło
Można uzyskać dobre out funkcjonalności vim przez uczenie się znaczeń zaledwie 16 klawiszy:
ijkdbw9:q!%s/nN
Esc. Możesz zrobić tylko nagie kościi:wq
Esc .Pierwsze dwa klucze, które musisz znać to: Escprzejście do trybu poleceń (tryb, w którym zaczynasz) i
i
przejście do trybu wstawiania (normalne pisanie).Aby zapisać musisz
:
w
następnie EnterAby zapisać i wyjść, musisz
:
wq
następnie wpisz małe literyEnterAby nie zapisywać i wymuszać wychodzenie, musisz
:
q!
następnie wpisz małe literyEnterAby dowiedzieć się więcej, możesz biegać
vimtutor
w wierszu polecenia. To średniej długości dobrze zorganizowana lekcja.Poza
i
i Esc: możesz replikować lub przewyższać niektóre funkcje MS Word tylkojkwbd3:%s/nN
.b
zabiera cię z powrotem słowo ( Ctrl+ ←)w
zabiera cię do przodu o słowo (Ctrl +→ )9w
zabiera cię do przodu o dziewięć słówdb
usuwa poprzednie słowo (Ctrl +Backspace )d3b
usuwa trzy poprzednie słowa9j
przesuwa się w dół o 9 liniiornithopter
Enterprzejście do następnego wystąpienia słowa „ornitopter”, a następnien
iN
do następnego i poprzedniego wystąpienia „ornitopter” odpowiednio.%s/confounded/dangfangled/
Enter zamienia każde „zmieszane” na „zwisające” (jakfind and replace all
w MS Word)Każdy z nich powinien być uruchamiany w trybie „polecenia” ( Esc), a nie w trybie wstawiania (
i
).źródło
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
źródło
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.
źródło
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.
:)
źródło
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.
źródło
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.
źródło
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/
źródło
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
źródło
nano
jest o wiele łatwiejszy w użyciu niż vim i prawie równie rozpowszechniony.Dwie zalety vi / vim:
jest bardzo lekki
jest zainstalowany na prawie każdym systemie * NIX
źródło
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.
źródło
Nauczyłem się Vima. To nie był zbyt duży wysiłek. Teraz absolutnie uwielbiam ci "ci (cw V: s / from / to / g
źródło
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.
źródło
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 są 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.
źródło
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 ;-)
źródło
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ć.
źródło
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ę.
źródło
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.
źródło
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 ...)
źródło
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.
źródło
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.
źródło
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.
źródło
Nauka czegoś nowego zawsze jest warta wysiłku, IMHO. Sugeruję wydrukowanie ściągawki i zmuszenie się do korzystania z niej codziennie i codziennie.
źródło
Na pewno warto nauczyć się Vima, aby częściowo podsumować to, co zostało tu wcześniej powiedziane, to główne powody:
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
źródło
Nie. Nauka vima jest warta więcej niż wysiłku.
źródło