Jak zainspirować innych do korzystania z vi / Vim?


37

Byłem pod wielkim wrażeniem mocy vi od pierwszej pół godziny, kiedy jej użyłem. Potem dowiedziałem się, że w niektórych środowiskach pracy jest wielu ludzi (techników, a nawet administratorów systemu!), Którzy unikają tego jako „zbyt skomplikowanego” bez uruchamiania vimtutora, a jeszcze inni ludzie używają vi tylko w trybie wstawiania i pominąć cały punkt edycji modalnej.

Jak mogę zademonstrować moc vi / Vim innym, aby zainspirować ich do nauki i korzystania z niej?

Szczególnie interesują mnie historie tego, co udało się przekonać innych (lub ciebie) do nauki i korzystania z Vima.


4
Przeczytałem wytyczne dotyczące subiektywnych pytań i myślę, że to pasuje.
Wildcard

@Wildcard może pasuje do subiektywnych pytań, ale tak naprawdę jest zbyt szeroki. Na stronie meta.vi.stackexchange.com/q/1278/205 można znaleźć dyskusję na temat podobnie „subiektywnego” pytania.
muru

Rozumiem co masz na myśli. Przeczytałem tę dyskusję (i kilka powiązanych dyskusji). Nadal uważam, że to pytanie jest właściwe, ale nie sądzę, żebym miał o tym dyskutować; czy jest miejsce w meta, w którym powinniśmy o tym porozmawiać?
Wildcard,

@Wildcard zawsze możesz opublikować pytanie na Vi i Vim Meta dotyczące tego pytania.
muru

Odpowiedzi:


54

Chociaż zainwestowałem trochę wysiłku w Vima i jego ekosystem, nie próbuję aktywnie nawracać innych. Większość osób, z którymi współpracowałem, nie inwestuje dużo czasu w poprawę przepływu pracy i zestawu narzędzi, ponieważ są zadowolone z tego, co mają. Uważam, że perfekcyjnie ... a ja nienawidzę być celem ciągłego nawracania edytora związane, więc nie narzucać, że dla innych.

Czasami jednak mój współpracownik może zaintrygować współpracownika i zadać mi kilka pytań. Kiedy zdarza się to rzadkie wydarzenie, z przyjemnością omawiam ten temat, demonstruję fajne sztuczki i wskazuję mu / jej przydatne zasoby.

W mojej ostatniej pracy współpracownik był bardzo zainteresowany Vimem i dobrze znał podstawy ( vimtutor). Wystarczyło mu, aby mógł dokonywać szybkich edycji, ale brakowało mu pewności siebie i umiejętności, aby przełączyć się na Vima (coś, czego naprawdę chciał). W pewnym momencie musiał ręcznie wykonać serię powtarzalnych edycji dużego pliku JSON. Był zmartwiony pomysłem marnowania godziny i przyszedł do mnie w poszukiwaniu szybszego / mądrzejszego rozwiązania. Oczywiście proste makro wykonało zadanie w mniej niż minutę (łącznie z nagrywaniem), co pozwoliło mi wyjaśnić kilka kluczowych pojęć…

Jednym z problemów, z którym borykają się nowicjusze, jest to, że „Co teraz?” chwila, która nadchodzi zaraz vimtutor. Vim bardzo dobrze ukrywa swoje piękno i niewielu ludzi ma ochotę złamać tę skorupę bez pomocy. W razie potrzeby mogę udzielić tej pomocy… ale nigdy nie zmuszę Vima do innych.


20

Używam Vima do wszystkiego. Mam na myśli wszystko. Programowanie, edytowanie tekstu, pisanie powieści itp. Wszystko. Siedziałem w salonie samochodowym za pomocą Surface Pro 3 z systemem Linux Virtual Box z Vimem i rozmawiałem ze mną na temat tego, co robię.

Po prostu użyj Vima. Ludzie gromadzą się wokół ciebie, aby dowiedzieć się, co robisz i dlaczego. Zwykle tłumaczę to w ten sposób -

Używam Vima, ponieważ ma bardzo mały ślad. Microsoft Word to kilka gigabajtów, a mój Surface ma tylko 128 GB miejsca. Muszę zmaksymalizować przestrzeń, a Vim pomaga mi to zrobić. Jest również rozszerzalny i pomaga mi pozostać skupionym. Spójrz. Demonstruj niektóre z moich wtyczek i pokaż, jak Vim na pełnym ekranie zasadniczo wszystko obejmuje, więc mogę myśleć .

Często demonstruję LaTeX w połączeniu z Vimem. Zbuduję plik LaTeX, a następnie skompiluję go do pięknego pliku PDF za pomocą posiadanego szablonu. Demonstruję również mój list i wznawiam szablony. Podkreślam, jak ważne jest oderwanie stylu od treści. W tym momencie ludzie nie są już zainteresowani tym, co mam do powiedzenia i żałuję, że do mnie mówili.

Szukają wyjścia z rozmowy, a ja wracam do pisania. Vim to doświadczenie religijne bardziej niż edytor tekstu.


3
Zastanawiam się: czy piszesz również swój e-mail w vimie? (Tak!)
Oliphaunt,

5
@Oliphaunt Piszę e-maile w VIM. Moim wybranym klientem e-mail jest MUTT, a kiedy edytuję lub tworzę nowy e-mail, otwiera on mojego wybranego edytora. Korzystam nawet z VIM do dodawania adresów URL do mojego czytnika kanałów RSS (newsbeuter).
ILikeTurtles,

7
Niektórzy ludzie postanowili edytować moją odpowiedź, stwierdzając, że używam Visual Basic. Używam Virtual Box i uruchamiam Linuksa na Windowsie. Myślę jednak, że te zmiany są bardzo interesujące, więc po prostu to zostawię. To trochę jak gra telefoniczna z edycją. Historia ciągle się zmienia, im więcej osób ją edytuje. Zabawa.
ILikeTurtles,

2
@ Will Yep. Mam maszynę wirtualną, która zajmuje około 2 GB lub mniej. Wolę zainstalować cały system operacyjny, VIM i wszystkie inne moje narzędzia, niż zainstalować 4 GB lub jakąkolwiek kopię programu Microsoft Tools. Sama maszyna wirtualna może się rozszerzać, jeśli zajdzie taka potrzeba, ale tak się jeszcze nie stało, ponieważ podczas pracy z tym komputerem pracuję głównie z plikami tekstowymi. Gdybym korzystał z FreeBSD, mógłbym potencjalnie uruchomić jeszcze mniejszą powierzchnię i prawdopodobnie uruchomić całą maszynę wirtualną podczas koncertu.
ILikeTurtles

3
Office 365 wymaga do 6 GB miejsca na dysku twardym i do 4 GB pamięci RAM. Mogę uruchomić cały system Linux, używając 4 GB miejsca na HD i 1028 MB pamięci RAM. Mniej, jeśli chcę coś popchnąć. Uruchomiłem FREEBSD na maszynie wirtualnej i dałem mu tylko 256 MB pamięci RAM. VIM dla mnie zastępuje Office, ale dodatkowo pełna instalacja systemu operacyjnego daje mi o wiele więcej narzędzi niż Office zapewnia przy minimalnym nakładzie pracy. Mam nadzieję, że to ma sens.
ILikeTurtles


13

Jako ktoś, kto musiał nauczyć się Vima podczas mojej ostatniej pracy, powiedziałbym, że największą przeszkodą było postawienie przed „domyślną” instalacją, która nie miała ustawionych opcji. Spędziłem większość czasu, mówiąc: „Dlaczego to działa w ten sposób, skoro wszyscy spodziewają się, że będzie odwrotnie?”

Okazuje się, że wszyscy inni ustawili już pewne domyślne ustawienia „rozsądku” . Kiedy to zrozumiałem, byłem znacznie szczęśliwszy i „dałem szansę”, aby dowiedzieć się więcej. Po kilku dniach, gdy klawiatura numeryczna nie działa, karty są błędne, wyszukiwania nie działają dobrze itp. Byłem gotowy rzucić ręcznik i nigdy nie oglądać się za siebie.

Jeśli naprawdę chcesz, aby komuś się podobało, aby wypróbować bardziej zaawansowane funkcje, zacznij od właściwej stopy z plikiem ustawień, który jest zoptymalizowany pod kątem rodzaju pracy, którą musi wykonać.


4
Widzisz, podszedłem do niego bez żadnego z tych nieznośnych oczekiwań, o których wspominałeś. Pomagała temu świadomość, że narodziła się ona na wiele dziesięcioleci, zanim zwykli użytkownicy znają ją obecnie. Jestem otwarty na lepsze sposoby pracy, niezależnie od tego, czy są znane. I naprawdę, osiodłanie nowicjusza własnym plikiem ustawień nie jest zbyt dobrym samouczkiem!
underscore_d

+1. Miałem to samo doświadczenie i nie mogłem zgodzić się więcej. Po zakończeniu pracy przejście do dowolnego nowego edytora może być bolesne / niemożliwe. Nie wiem o tym, jak po prostu przekazać plik .vimrc, ale wyjaśnienie, co to jest i pomoc nowemu użytkownikowi w ustawieniu kilku domyślnych ustawień stylu pracy może nie tylko pomóc mu w szybkiej pracy, ale także służyć jako sposób na ujawnienie części vi (m) magia.
Czy

1
Czytanie .vimrcpliku z szeregiem pomocnych ustawień domyślnych jest naprawdę przydatne. Wiele się nauczyłem o Vimie, patrząc na opcje ustawione na github.com/amix/vimrc
icc97

Całkowicie się zgadzam. Vim byłby jeszcze bardziej popularny, gdyby dołączono więcej baterii. Spójrz na przykład na to, co musiałem zrobić, aby zamiana słów działała. W obecnej postaci vimdostarcza podstawowych elementów składowych, z których należy skonfigurować / zaprogramować edytor tekstu, o jakim zawsze marzył.
Serge Stroobandt,

9

Najlepszym sposobem, aby zainspirować starego psa do użycia nowej sztuczki, jest zabranie czegoś, co robią, i pokazanie, jak można to zrobić szybciej / łatwiej / lepiej w inny sposób.

Zdecydowanie wiąże się to z krzywą uczenia się, która po prostu wyłącza niektóre osoby. Żartuje

Jak naprawdę generujesz losowy ciąg? Poproś przybysza o zamknięcie vima.


1
Słuszna uwaga. Jako ktoś, kto ma tendencję do bycia zorientowanym raczej na klawiaturę niż na mysz, vi/ mw wielu sytuacjach oferuje mi przyspieszenie i / lub unika przełączania między urządzeniami wejściowymi. Poza tym robię sporo wiersza poleceń (Linux, Cygwin) i vizawsze tam jest .
underscore_d

8

Najlepszym sposobem jest nauczenie się Vima i pokazanie jego mocy innym. Nawet ty nie musisz (demonstrować) - to autopromocja. Gdy używasz go z fantazyjnymi kolorami składni na jakimś hackerskim tle terminala, ludzie stają się ciekawi i często pytają - co do cholery robisz . Następnie pokaż im.

Kiedy programujesz w parach i widzisz, że inny programista zaczął wykonywać powtarzalną pracę, która wydaje się być syzyfowym zadaniem (jak uderzenie w Backspace lub strzałki setki razy), powiedz mu, jak bardzo cię to denerwuje, ponieważ w Vimie potrzeba tylko kilku naciśnięć klawiszy mniej niż sekundę.

Sprawdź także następujące strony, aby znaleźć przydatne sztuczki Vima:


1
Twój drugi akapit jest natychmiastowy. Tyle, że ból jest jeszcze gorszy, gdy widzisz je za pomocą vima , w trybie wstawiania i naciskając klawisze strzałek, aby przejść na sam koniec linii . Arrrggh! (Nie zmyślam tego.)
Wildcard,

1
Zgadzam się z @Wildcard, doprowadziłem mnie do szaleństwa, obserwując mojego kolegę próbującego analizować dane o stałej szerokości poprzez liczenie naciśnięć klawiszy , zajęło mu to kilka tygodni, moja pomoc została odrzucona. Westchnienie
roblogic

7

Co najważniejsze: nie pchajcie, nie ewangelizujcie. Bądź absolutnie pewien swojej motywacji. Jeśli jest choćby ślad pracy misjonarskiej, nie zaczynaj. Przytłaczająca większość ludzi reaguje zirytowana lub agresywna, ponieważ sama sugestia sprawdzenia innego przepływu pracy niesie ze sobą krytykę. Twój przepływ pracy może być lepszy niż ich. Co zamyka wiele osób. W rzeczywistości jest to ogólna zasada, która działa bez względu na otoczenie (pomyślcie o wegetarianach / zjadaczach mięsa, demokratach / republikanach, markach samochodów, przepisach…) Wszyscy robią to, co robią, ponieważ wierzą, że to, co robią, jest właściwym sposobem.

Może się zdarzyć, że krytyka z twojej strony nie jest skierowana przede wszystkim, ale dzieje się to z drugiej strony i nic nie możesz na to poradzić. To ludzie dla ciebie.

Proponuję poruszyć temat, gdy nie ma terminu, w spokojnej atmosferze. Porozmawiaj ze swojego doświadczenia, w sposób, w jaki byłeś pod wrażeniem i jak wydajniej się czujesz teraz. Nigdy nie porównuj Nigdy nie mów „jest lepiej”, ponieważ byłoby to absolutne stwierdzenie, po prostu z prośbą o wyzwanie. Zawsze używaj opcji „Jestem bardziej produktywny w ten sposób”. W ten sposób druga osoba nie może odrzucić faktu, że rzeczywiście możesz być bardziej produktywny i nie wywierasz żadnej presji. Jeśli ten drugi podejmie temat, bądź delikatny i może zaoferujesz udostępnienie linku lub dwóch, Vimcasts to na przykład świetny zasób.

Nauka Vima jest naprawdę trudnym zadaniem, zwłaszcza biorąc pod uwagę niesamowitą ilość czasu, jaki poświęcasz na przygotowanie pierwszej konfiguracji. W tym czasie miałem w głowie tyle znaków zapytania i mniej więcej co sekundę wydawało się bezsensowne, a nawet wrogie. To przeciwieństwo intuicyjności. Albo ktoś się z tym upiera i robi się coraz bardziej „aha!” chwile lub po prostu upuszczę go, aby uzyskać bardziej podobny do Worda edytor. Cokolwiek działa.

W końcu naprawdę nie jest to warte żadnej debaty: wszyscy po prostu wykorzystują to, co wykonuje zadanie. Na tym polega piękno kodu źródłowego: jest uniwersalny.


7

Pierwszy raz użyłem vi w klasie „wprowadzenie do Uniksa”. Nauczyciel nie znał tego zbyt dobrze i przedstawił to w bardzo niezręczny sposób. Musieliśmy zapamiętać wystarczająco dużo, aby się obejść, jeśli kiedykolwiek utknęliśmy w systemie, w którym nie zainstalowano niczego innego. Po tym semestrze nie obejrzałem się po raz drugi. W ten sposób nie ewangelizujesz vi, i myślę, że tak wiele osób miało pierwsze doświadczenia.

Kilka lat później uczęszczałem na korporacyjne zajęcia ustawiczne o Perlu. Instruktor używał vima w swoich demonstracjach i oferował pomoc ludziom z boku, mimo że nie był to główny cel zajęć.

Nieoficjalne motto Perla to TMTOWTDI (istnieje więcej niż jeden sposób, aby to zrobić). Gdy klasa zadawała pytania, instruktor dokonywał zmian, aby pokazać alternatywy, szybciej niż mógł opisać zmiany słowami . Byłem przyzwyczajony do tego, że potrafiłem czytać kod podczas edytowania, ale dla niego edytowanie odbywało się za pomocą szeregu klawiszy, po czym nastąpiło wyjaśnienie, w porównaniu z lodowcem. Gdyby nie musiał przestać nam wyjaśniać zmiany, już przeszedłby do następnego zadania.

Mam kilka podobnych okazji do zademonstrowania vima:

  • Spotkania Scruma
  • Programowanie w parach
  • Rozmowy techniczne
  • Prezentacje oprogramowania

Myślę, że pokazanie ludziom jego potencjału po tym, jak się nauczysz, zainspiruje ich do przełamania początkowej niezręczności.


Myślę, że porównanie wrażeń stworzonych przez dwie bardzo różne ekspozycje na vi jest bardzo cenną lekcją. Myślałem o tym wiele razy, odkąd to przeczytałem ... zapadło mi w pamięć. Dziękuję Ci.
Wildcard

6

To wewnętrzne ruchy sprawiły, że moje oczy zamieniły się w pływające serca dla Vima. Oprócz .powtarzania i poprzedzania rzeczy liczeniem, pokazywanie ruchów wewnętrznych jest zwykle jedną z pierwszych rzeczy, które pokazuję / udostępniam, gdy ktoś pyta mnie o vima. ci(lub gUi>lub diw.

g;i g,przeskakiwanie do edytowanych miejsc jest zwykle dobre dla poszerzenia oka lub dwóch.


2

Chociaż vima szanowany rodowód w historii komputerów, polecam skupić się na vim. Jest to w pełni funkcjonalny edytor z niesamowitymi możliwościami, pasujący do dowolnego konkurenta. Jego jedyną wadą jest krzywa uczenia się; „Nastawienie Vima” i pamięć mięśni zajmuje trochę czasu. Myślę, że to jest warte wysiłku. Kiedy jesteś biegły, masz do dyspozycji dużą moc vim.

  1. Zademonstruj moc vimscript do automatyzacji nudnych zadań przetwarzania tekstu.
  2. Zainstaluj fajne wtyczki jak vim-airline, ponieważ każdy lubi dobry interfejs użytkownika.
  3. Wokół jest mnóstwo bezpłatnych samouczków, takich jak ten .
  4. vi/ vimjest zainstalowany na wszystkich systemach opartych na Uniksie; więc każdy profesjonalny sysdamin powinien mieć praktyczną wiedzę na ten temat.

Prawdziwym sednem mojego pytania jest „jak” w odniesieniu do punktu 1 twojej odpowiedzi. Czy miałeś jakieś doświadczenia z pokazywaniem tego innym lub byciem pokazywanym?
Wildcard,

Nie tyle demonstruję, ale rutynowo używam małych skryptów vima do czyszczenia tekstu, ale podobnie jak ty nie interesuję się od kolegów (wolą
wrzucać

0

Uwielbiam VIM, ale krzywa uczenia się jest stroma.

Każdy profesjonalista, który nie przyjął jeszcze VIM, prawdopodobnie nie zostanie przekonany do kłótni . Tylko z konieczności.

Słuchając osób, które twierdzą, że regularnie używają VIM, najczęstszym przypadkiem są administratorzy zarządzający wieloma maszynami * NIX zdalnie za pomocą interfejsu CLI za pośrednictwem SSH.

VIM jest dosłownie zainstalowany na prawie każdej * maszynie NIX na świecie.

VIM ma ponad 25 lat i pozostaje niezmieniony, odkąd zacząłem go używać w 1998 roku.


0

Poproś ucznia, aby zamienił dwa słowa za pomocą procesora Word ™…

… Następnie pokaż, w jaki sposób mistrz to robi vim. (Oto mapowanie, aby to zrobić; więcej tutaj .)

Na koniec pozwól uczniowi zastanowić się, czy do tej pory naprawdę pracował z edytorem tekstu.


1
Sprytne, ale klawisz Ctrl-Control usuwa słowo w prawie dowolnym edytorze Windows, a klawisz Alt-Backspace prawie w każdym edytorze Mac.
Wildcard,

@Wildcard Wątpiłem między usunięciem a wybraniem pierwszego pomysłu . Oczywiście masz całkowitą rację. Dlatego zmieniłem go z powrotem, aby wybrać.
Serge Stroobandt,

Nadal — Ctrl-Shift strzałki w lewo / prawo (lub Alt-Shift dla komputerów Mac). :)
Wildcard,

@Wildcard Myślę, że mam go teraz. Musiałem zrekonstruować moje wcześniejsze rozumowanie. ;)
Serge Stroobandt,

@Wildcard Dzięki za naleganie. Trudno mi było sobie przypomnieć, co dokładnie spowodowało, że dokonałem drastycznej zmiany gvim. Teraz dobrze pamiętam. Podczas pisania tekstu angielskiego jako obcego mówca zamieniał / przenosił słowa w zdaniu. Napisałem własne mapowania vimscript do robienia tego dokładnie.
Serge Stroobandt,

0

Vim zajmuje się także przeszacowaniem zwykłych plików tekstowych

W kontekście tworzenia dokumentów wartość vimnie polega tylko na jego wspaniałych umiejętnościach edycji tekstu. Vim jest także ścieżką do przywrócenia wartości wszechobecnego zwykłego pliku tekstowego i jego gwarancji ponadczasowej kompatybilności wstecznej.

Vim także koncentruje się wyłącznie na treści; nie formatować

Jeśli nie zajmujesz się edycją stron internetowych, oddzielenie treści od formatu może być pojęciem niszczącym paradygmat dla każdego zwykłego pracownika biurowego. Z tego powodu lubię pochwalić się gvimjako edytor Markdown w połączeniu z Pandoc i być może makefile.

Jest to również dobra demonstracja filozofii uniksowej lub GNU / Linuksa polegającej na łączeniu i przesyłaniu programów, które są wyjątkowo dobre w jednym.

Jako bonus zobaczysz, że podstawowe vimkombinacje klawiszy są używane w wielu innych programach GNU / Linux.


0

Ergonomia

Przy odpowiednim ustawieniu mogę pracować przez wiele godzin bez bólu ramion lub pleców.

Prawo konfiguracja ma inny przebieg dla każdego, ale przy użyciu vim w terminalu, mapowanie Escdo Capslocki wyłączanie myszy i klawiszy kursora jest początek dobre.

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.