Vim i Emacs: Cicho z przodu

Wśród święte wojny Najbardziej legendarną, o której wiemy, jest wojna wydawców. Vi / Vim przeciwko Emacsowi. Jest to szczególnie zabawne, ponieważ oba są wolnym oprogramowaniem o bardzo dużych możliwościach.

To sięga wiele lat wstecz. Emacs został opracowany przez Richarda Stallmana w latach siedemdziesiątych XX wieku i wydany około 35 lat temu. Vi jest mniej więcej w tym samym wieku, stworzona przez Billa Joy. Z drugiej strony Vim jest nieco nowszy i wynika z potrzeby stworzenia przez Brama Moolenara klona Vi dla Amigi w 1991 roku.

Jak retro! Wydawcy z epoki kamienia łupanego, kiedy życie było prostsze. I nadal ich używamy, ponieważ ewoluują i dostosowują się do czasów. Vim i Emacs używają nowoczesnych interfejsów w GTK, mają własne języki rozszerzeń, menedżery pakietów; między innymi, które umieściły je wśród redaktorów nowoczesny.

Do czego ich używam?

Postawmy całkowicie hipotetyczną okoliczność. Gúgol to matematyczne słowo, które definiuje jedynkę, po której następuje sto zer. Jak piszemy to w edytorze tekstu?

Pierwszym rozwiązaniem, które przychodzi na myśl, jest wpisanie jedynki i naciśnięcie klawisza 0, aż licznik kolumn ustawi mnie na 101, ponieważ 101 znaków powinno mierzyć to wyrażenie. Zakładamy, że edytujemy to w odpowiednim edytorze tekstu, który ma pasek stanu do wyświetlania tych rzeczy.

Teraz przychodzi mi do głowy prostsze rozwiązanie:

i1 ESC 100a0 ESC

Oczywiście to rozwiązanie wymaga Vima lub przynajmniej Vi. On comando jest całkiem proste i to tak, jakbyśmy mówili Vimowi: Będąc w trybie normalnym, wstaw 1 i powraca do normalnego trybu. Teraz wstaw po kursorze sto razy 0 i powraca do normalnego trybu. Vim zrealizuje nasze zamówienie bez pytania.

Złożoność

To rozwiązanie brzmi niezwykle skomplikowanie i rozumiem. Po pierwsze, ponieważ mamy do czynienia z pojęciem edytor modalny. Ale są przypadki, w których jest to znacznie bardziej przydatne, niż się wydaje.

Powiedzmy, że mamy listę zakupów. Idziemy do sklepu i chcemy napisać, co przywieziemy. Pamiętaj, że to coś hipotetycznego, nikt nie powinien zabierać komputera do sklepu na jedzenie. Tak czy inaczej, oto nasza lista:

1 banan 4 jabłka 2 kg cukru 1 litr wody

 

To bardzo prosta lista zakupów. Ale zamierzamy poczynić pewne ustalenia. Po pierwsze, myślę, że kilka więcej bananów nie byłoby złych. Ponieważ lubimy estetykę, zmienimy małe litery w jabłka zostawić ją jako Banan i zastąpimy nazwy jednostek ich skrótami.

Więc zacznijmy. Ponieważ chcemy wykonać kopię zapasową naszej oryginalnej listy, wykonujemy kopię za pomocą 4yy i wklejamy go poniżej za pomocą p. Naciśnij Ctrl-a kilka razy, aby zwiększyć liczbę bananów i przejdź do końca następnego słowa za pomocą e. Schodzimy do drugiej linii, robimy Fm aby dostać się do słowa „jabłka” i naciśnij ~ (AltGr-4 na mojej klawiaturze), aby litera zmieniła się na wersję wielką. Robimy j aby przejść do następnej linii i pojawi się w k z kilo z b. Wychodzimy z trybu normalnego wpisując cw i zapisując słowo zastępujące dla kilogramów, które będą kilogramami. Wciskamy ESC, wracając do normalnego trybu i znowu j zrobić to samo z Liter. Gotowy. Tak wygląda teraz nasza lista.

3 Banany 4 Jabłka 2 kg cukru 1 L wody

Moc

Podsumujmy powyższe działanie w ten sposób:

4yy G p 2Ctrl-A e Fm ~ jb cw kg ESC jb cw L ESC

Szanowałem niektóre przestrzenie, aby było to zrozumiałe, ale zwykle się tak nie robi. Taka kolejność robota sprawia, że ​​dużo myślimy o jego użyteczności. Ale z pewnością jest to szybsze niż poruszanie się za pomocą myszy, wybieranie, kopiowanie, wklejanie, usuwanie i tak dalej.

Redaktorzy z tak długą historią jak Vim czy Emacs mogą robić takie rzeczy, ponieważ są rozwijani od lat i mają bardzo jasne pomysły, jak to robić.

Nauka krzywych

Tak, są strome. Ale po to są inicjatywy takie jak Cream, które zapewnia całkowicie gotowe do użycia środowisko Vim od razu po wyjęciu z pudełka, bez konieczności zmagania się z trybami i innymi rzeczami, oraz trybem guru, rozszerzeniem Emacsa, które - o ile wiem - pomaga początkującym.

Tryb guru jest częścią Emacs Prelude, zbioru rozszerzeń co ci to ułatwi jeśli chcesz się uczyć.

Rozszerzenia

Ponieważ są one bardziej rozpowszechnionymi edytorami niż wiele współczesnych edytorów i mają własne języki rozszerzeń, możesz znaleźć motywy kolorów, wtyczki i nie tylko. Istnieją takie interesujące rzeczy, jak:

Wydaje się, że programowanie rozszerzeń w Emacs Lisp jest łatwiejsze (lub przyjemniejsze) niż w VimScript. Chodzi mi o to, że jest to język funkcjonalny interpretowany przez jądro stworzone do tego celu, przeciwko językowi imperatywnemu stworzonemu do konfigurowania i rozszerzania.

Konkluzja

Spójrz! Nic Cię to nie kosztuje, oba są darmowym oprogramowaniem dystrybuowanym za darmo. Muszą znajdować się w repozytoriach wszystkich dystrybucji znanych człowiekowi, a nawet można je znaleźć w szkodliwych zastrzeżonych systemach. Niewiele więcej można prosić.

I wreszcie, jeśli byłeś zaskoczony, dlaczego w tytule umieściłem e przed Emacsem zamiast y, to dlatego, że dla mnie brzmi lepiej. Coś w rodzaju / í-macs /. Udało mi się uniknąć problemów z pisownią, zmieniając pozycję, ale naprawdę lubię, aby Vim to robił 😀


Treść artykułu jest zgodna z naszymi zasadami etyka redakcyjna. Aby zgłosić błąd, kliknij tutaj.

27 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Zgnilizny87 powiedział

    Używam tylko nano i tylko do edycji niektórych plików 0.0

    1.    anty powiedział

      Jest to głównie argument za ich wykorzystaniem. Widzę, że wielu ludzi woli ich nie wypróbowywać i zacząłem pisać coś, co ich zachęciło. Otóż ​​to.

      (Wiem, że to słaby przedmiot)

      1.    Damian Rivera powiedział

        To wcale nie jest leniwe, emacs i vim to świetne edytory tekstu, wolę je (vim) zamiast IDE

        pozdrowienia

        1.    anty powiedział

          Dziękuję Ci. Teraz, kiedy o tym myślę, wydaje mi się, że przypadkowo podałem miarkę. „Dystrybucja”, o której wspomniałem, wygląda tak, jakby została właśnie wydana dzisiaj.

    2.    KZKG ^ Gaara powiedział

      ahahaha zdarza mi się to samo, z nano zostałem 😀

  2.   eolandro powiedział

    Cóż, ostatnio musiałem edytować plik przez telnet w punkcie dostępowym z dd-wrt i musiałem pamiętać o vi.

  3.   msx powiedział

    1. " jest wojna wydawców. »
    BŁĄD!
    Vim to edytor, Emacs to gotowy do użycia zderzacz hadronów na twoim komputerze, wiesz!

    2. Używanie Cream (ajjj) lub jakiegokolwiek „pomocnika” dla Vima lub Emacsa jest tym samym, co instalowanie Manjaro i udawanie, że zainstalowałeś i używasz Arch - z możliwym zastrzeżeniem, że pomocnik nie zmienia istoty Vima lub Emacsa a Manjaro to Manjaro, ale nie Arch.

    Jeśli naprawdę chcesz dać czadu z Emacsem, jest kilka fajnych stron:
    http://emacsrocks.com/
    http://www.masteringemacs.org/
    http://batsov.com/prelude/
    http://lisperati.com/casting.html

    1.    anty powiedział

      Emacs to interpreter Lispa z dodatkowymi funkcjami do edycji tekstu.
      Krem może być wszystkim, co chcesz, ale jest tam, aby startery nie zderzały się bezpośrednio z modalną ścianą edycji.
      Emacs jest na początku nieco łatwiejszy, ponieważ tak, napisz do pierwszego

  4.   Annubis powiedział

    [tryb falmewar włączony]

    Emacs, ten system operacyjny, który 35 lat później nadal nie ma dobrego edytora tekstu 😛

  5.   Xykyz powiedział

    „Vim i Emacs”. To „e” w tytule (i gdzieś w tekście) jest nadużywane ...

    1.    Xykyz powiedział

      A tak przy okazji, używam już vima do wszystkiego. Zacząłem go używać w zeszłym roku i teraz stał się dla mnie niezbędny. Ma również tę zaletę, że vi jest preinstalowany we wszystkich (lub przynajmniej prawie we wszystkich), co jest prawie takie samo w obsłudze, więc wiedząc, jak go używać, możesz edytować pliki w dowolnej dystrybucji, niezależnie od tego, czy ma X11, czy nie.

      Wypróbowałem Emacsa, ale wydawały się niewygodne kombinacje klawiszy, więc skupiłem się na Vimie

    2.    anty powiedział

      Wyjaśnił to już na dole. Dla mnie, czego należy użyć e ponieważ fraza brzmi jak / vim i i-macs /, zauważając, że y zmienia się na e, gdy następne słowo zaczyna się od dźwięku i.
      Jednak o wiele bardziej elegancko było odłożyć go do tyłu i uniknąć problemów, ale małe eksperymentowanie nikomu nie zaszkodzi.

      1.    Xykyz powiedział

        Okej, nie przeczytałem całego artykułu z powodu braku czasu haha.

        I tak to nadal błąd ortograficzny, choć brzmi lepiej.

        1.    anty powiedział

          W porządku. Nic więcej niż dziwne krytykowanie bez zakończenia czytania.
          Mam nadzieję, że możesz mi wybaczyć ten brak. Wygląda na to, że w recenzji też to przeszli, więc muszą się ze mną zgodzić, ale należy przejrzeć jakąś wzmiankę z RAE na obce słowa. Nie można ich przetłumaczyć.

          1.    Xykyz powiedział

            Tak, nie dokończyłem tego, przyznaję się do błędu, ale ostatnio nie mam czasu i nie mogę być w pobliżu tyle, ile bym chciał. Właściwie to niezwykle dziwne, że w końcu mogłem dziś tu być przez kilka chwil.

            Jeśli chodzi o słowa obce, spójnik „i” nie jest słowem obcym, mimo że emacs nim jest. Z tego, co rozumiem (czego również nie mam teraz czasu na weryfikację), emacs powinien czytać emacsa, bez względu na to, ile czytamy po angielsku. W przeciwnym razie trudno byłoby zastosować zasady pisowni, ponieważ jeśli mówisz po hiszpańsku, nie musisz mówić po angielsku ani po niemiecku, a zatem nie musisz wiedzieć, jak te słowa są wymawiane w tych językach.

            Zresztą to nie była krytyka, tylko komentarz i od teraz mówię, że zawsze lubię Wasze artykuły 😉

        2.    anty powiedział

          Dziękuję Ci. Opinie i konstruktywna krytyka służą nam wszystkim.

  6.   diazepan powiedział

    Nie lubię ich używać, ale na kursie zaawansowanego programowania funkcyjnego musieliście stworzyć edytor typu Vim, ale w haskell.

  7.   Tyo100 powiedział

    Wolę vi lub vim, ponieważ jest najbardziej uniwersalny, ponieważ działa tak samo w każdym systemie operacyjnym i wszystkie * nix go obejmują i przez wszystko mam na myśli wszystkich od GNU / Linux, HP-UX, Solaris, AIX, BSD do skróconych wersji Linuksa jako dd-wrt.

  8.   Abimael Martell powiedział

    Programuję w 100% z VIM (Ruby, PHP, Javascript, Coffescript, CSS i więcej)
    tutaj jest dystrybucja dla programistów ruby, jest bardzo kompletna i zawiera wiele przydatnych rzeczy, pozdrowienia (https://github.com/carlhuda/janus)

    1.    Damian Rivera powiedział

      To, co mówię (powyżej), używam vim tylko dla mono, java, perl, bash i python tylko, że nieinterpretowane języki muszą używać terminala do kompilacji, we FreeBSD używam (i używam) dużo VI, które jest natywnym edytorem, ale również instaluje ee i joe bardzo dobrze (podobnie jak nano). W Gentoo dobrą rzeczą jest to, że zawiera nano, ale już skompilowałem Vima i bardzo mi się podoba! To najlepszy edytor jaki istnieje i zmodyfikowany do Twoich potrzeb jest doskonałym narzędziem do administrowania systemem

      pozdrowienia

  9.   Matias (@ W4t145) powiedział

    Vim Vim Vim!, Na zawsze, działa na wszystko i wszędzie, nigdy tego nie zmieniam

  10.   nano powiedział

    Ahm, nie wiem, jestem leniwy i używam Sublime xD

  11.   Daniel Rojas powiedział

    Zawsze używam Vima, uwielbiam to i uważam to za bardzo praktyczne i wygodne 😀

  12.   Dragnell powiedział

    Po prostu vim, niezbędny na co dzień.

  13.   Guido rolon powiedział

    ZASADY VIM! ale «ed» SKAŁY !!!!,

  14.   vim powiedział

    Vim orange pisze dobrze vim cristal pisze normal, vim, vim, vim ...

  15.   jogurblanco powiedział

    Powinieneś poznać różnice między „ponieważ”, „dlaczego”, „dlaczego” i „dlaczego”. Mężczyzna, w całym tekście nie podałeś ani jednego.