Vim и Emacs: Всичко тихо отпред

Сред свещени войни Най-легендарното, за което сме наясно, е издателската война. Vi / Vim срещу Emacs. Това е особено забавно, защото и двамата са безплатен софтуер с много високи възможности.

Това се връща много години назад. Emacs е разработен от Ричард Столман през 35-те години, издаден преди около 1991 години. Ви е приблизително на същата възраст, създадена от Бил Джой. Vim, от друга страна, е малко по-скорошен и произтича от необходимостта Bram Moolenar да създаде клонинг на Vi за Amiga през XNUMX г.

Колко ретро! Издатели от каменната ера, когато животът е бил по-прост. И ние продължаваме да ги използваме, защото те се развиват и адаптират към времето. Vim и Emacs използват модерни интерфейси в GTK, имат свои собствени езици за разширения, мениджъри на пакети; наред с други неща, които ги поставят сред редакторите модерен.

За какво ги използвам?

Нека сложим напълно хипотетично обстоятелство. Gúgol е математическа дума, която определя една, последвана от сто нули. Как да го напишем в текстов редактор?

Първото решение, което ми идва на ум, е да въведете едно и да натискате клавиша 0, докато броячът на колоните ме настрои на 101, защото 101 знака трябва да измерват този израз. Предполагаме, че редактираме това в компетентен текстов редактор, който има лента на състоянието за показване на тези неща.

Сега мога да измисля по-просто решение:

i1 ESC 100a0 ESC

Разбира се, това решение изисква Vim или поне Vi. Той comando е съвсем проста и сякаш казваме на Vim: В нормален режим, вмъкни 1 и се връща в нормален режим. Сега вмъкнете след курсора сто пъти 0 и се връща в нормален режим. Vim ще изпълни поръчката ни без съмнение.

Сложност

Това решение звучи изключително сложно и аз го разбирам. Първо, защото имаме работа с концепцията за a модален редактор. Но има случаи, когато е много по-полезно, отколкото звучи.

Да приемем, че имаме списък за пазаруване. Ще отидем до магазина и искаме да напишем какво ще донесем. Не забравяйте, че това е нещо хипотетично, никой не трябва да носи компютъра си в магазина, за да отиде за храна. Както и да е, това е нашият списък:

1 банан 4 ябълки 2 килограма захар 1 литър вода

Това е много прост списък за пазаруване. Но ние ще се договорим. Първо, мисля, че още няколко банана няма да са лоши. Тъй като ни харесва естетиката, ще сменим малките букви в ябълки да я остави като банан и ние ще заменим имената на единиците с техните съкращения.

Така че нека да започнем. Тъй като искаме архивиране на оригиналния ни списък, правим копие с 4yy и го поставяме по-долу с p. Натиснете Ctrl-a няколко пъти, за да увеличите броя на бананите и да преминете към края на следващата дума с e. Слизаме на втория ред, правим a Fm за да стигнете до думата ябълки и натиснете ~ (AltGr-4 на клавиатурата ми), така че буквата да се промени в горната си версия. Ние правим j за да слезем до следващия ред и ние се появяваме в k на килограма с b. Излизаме от нормалния режим, като напишем cw и написване на думата за замяна на килограми, което ще бъде kg. Натискаме ESC, връщаме се в нормален режим и отново j да направя същото с Литър. Готов. Ето как изглежда нашият списък сега.

3 банани 4 ябълки 2 кг захар 1 л вода

Силата

Нека обобщим горното действие в това:

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

Уважавах някои пространства, за да го направя разбираем, но обикновено не се прави. Тази поръчка на робот ни кара да мислим много за неговата полезност. Но със сигурност е по-бързо да направите това, отколкото да се движите с мишката, да избирате, копирате, поставяте, изтривате и т.н.

Редактори с толкова дълга история като Vim или Emacs могат да правят подобни неща, защото са разработени от години и с много ясни идеи как да се правят нещата.

Криви на обучение

Да, те са стръмни. Но за това са предназначени инициативи като Cream, която предоставя напълно готова за използване Vim среда веднага, без да се налага да се борим с режими и други неща, и guru-mode, разширение на Emacs, което - доколкото знам - помага на начинаещи.

Режимът на гуру е част от Emacs Prelude, колекция от разширения какво ви улеснява ако искате да научите.

Разширения

Тъй като те са по-широко разпространени редактори от много съвременни редактори и имат свои собствени езици за разширения, можете да намерите цветни теми, приставки и други. Има такива интересни неща като:

Изглежда, че е по-лесно (или по-приятно) да програмирате разширения в Emacs Lisp, отколкото във VimScript. Искам да кажа, това е функционален език, интерпретиран от ядро, създадено за това, срещу императивен език, създаден за конфигуриране и разширяване.

Заключение

Погледни! Не ви струва нищо, и двете са безплатен софтуер, разпространяван безплатно. Те трябва да бъдат в хранилищата на всички дистрибуции, известни на човека, и дори могат да бъдат намерени в злонамерени собственически системи. Няма какво повече да се иска.

И накрая, ако бяхте изненадани защо сложих e пред Emacs в заглавието вместо y, това е, защото ми звучи по-добре. Нещо като / í-macs /. Успях да си спестя правописните проблеми, като промених позицията, но много ми харесва Vim да го направи 😀


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   Гниене87 каза той

    Използвам само nano и само за редактиране на някои файлове 0.0

    1.    анти каза той

      Това е най-вече аргумент за използването им. Виждам, че много хора предпочитат да не ги опитват и започнах да пиша нещо, за да ги насърча. Това е.

      (Знам, че е слаб елемент)

      1.    Дамян Ривера каза той

        Изобщо не е мързелив, emacs и vim са чудесни текстови редактори, аз ги предпочитам (vim) вместо IDE

        поздрави

        1.    анти каза той

          Благодаря ти. Сега като се замисля, мисля, че случайно дадох лъжичка. „Разпределението“, което споменавам, изглежда сякаш току-що беше пуснато днес.

    2.    KZKG ^ Гаара каза той

      ахахаха и на мен ми се случва същото, с нано ми остана 😀

  2.   еоландро каза той

    Е, наскоро трябваше да редактирам файл от telnet в точка за достъп с dd-wrt и трябваше да запомня vi.

  3.   MSX каза той

    1. " има издателска война. »
    ГРЕШКА!
    Vim е редактор, Emacs е готов за използване адронен ускорител на вашия компютър, знаете ли!

    2. Използването на Cream (ajjj) или всякакъв вид „помощник“ за Vim или Emacs е същото като инсталирането на Manjaro и преструването, че сте инсталирали и използвате Arch - с възможното предупреждение, че помощникът не променя същността на Vim или Emacs и Манджаро е Манджаро, но не Арх.

    Ако наистина искате да го разтърсите с Emacs, има няколко страхотни сайта:
    http://emacsrocks.com/
    http://www.masteringemacs.org/
    http://batsov.com/prelude/
    http://lisperati.com/casting.html

    1.    анти каза той

      Emacs е интерпретатор на Lisp с добавени функции за редактиране на текст.
      Кремът може да бъде каквото пожелаете, но той е там, за да не се забият стартерите директно в стената на модалния редактор.
      Emacs е малко по-лесен в началото, защото да, пиши на първия

  4.   Анубис каза той

    [режим falmewar ON]

    Emacs, тази операционна система, която 35 години по-късно все още няма добър текстов редактор 😛

  5.   xykyz каза той

    „Vim и Emacs“. Това "e" в заглавието (и някъде в текста) е злоупотребено ...

    1.    xykyz каза той

      И между другото, използвам vim за всичко вече. Започнах да го използвам миналата година и сега той стана незаменим за мен. Той също така има предимството, че vi е предварително инсталиран във всички (или поне в почти всички), което е почти същото при обработката, така че знаейки как да го използвате, можете да редактирате файлове във всяка дистрибуция, независимо дали има X11 или не.

      Опитах Emacs, но изглеждаха неудобни комбинации от клавиатури, затова се фокусирах върху Vim

    2.    анти каза той

      Той вече го обясни до дъното. За мен какво трябва да се използва e защото фразата звучи като / vim и i-macs /, забелязвайки, че y се променя на e, когато следващата дума започва със звука i.
      Въпреки това беше много по-елегантно да го поставите назад и да избегнете проблеми, но малко експериментиране не вреди на никого.

      1.    xykyz каза той

        Добре, не успях да прочета цялата статия поради липса на време хаха.

        Така или иначе все още има правопис, колкото и да звучи по-добре.

        1.    анти каза той

          Всичко е наред. Нищо повече от това странно нещо, което да критикувате, без да завършите четенето.
          Надявам се да можете да ме извините за тази липса. Изглежда, че и при прегледа са го приели, така че трябва да се съгласят с мен, но трябва да се преразгледат някои препратки от RAE за чужди думи. Те не са преводими.

          1.    xykyz каза той

            Да, не го завърших, признавам грешката, но напоследък нямам време и не мога да бъда наоколо толкова, колкото бих искал. Всъщност е изключително странно, че в крайна сметка днес можех да бъда тук за няколко мига.

            Що се отнася до чуждите думи, съвпадът „и“ не е чужда дума, въпреки че emacs е. От това, което разбирам (което също нямам време да проверя сега) emacs трябва да чете emacs, независимо колко го четем на английски. В противен случай би било трудно да се приложат правилата за правопис, защото ако говорите испански, не е нужно да говорите английски или немски и следователно не е нужно да знаете как се произнасят тези думи на тези езици.

            Както и да е, това не беше критика, а само коментар и от сега ви казвам, че винаги харесвам вашите статии 😉

        2.    анти каза той

          Благодаря ти. Обратната връзка и конструктивната критика ни служат на всички.

  6.   диазепан каза той

    Не обичам да ги използвам, но в курс за усъвършенствано функционално програмиране трябваше да направите редактор от тип Vim, но в haskell.

  7.   Tyo100 каза той

    Предпочитам vi или vim, защото е най-универсален, тъй като работи еднакво във всяка операционна система и всички * nix го включват и под всичко имам предвид всички от GNU / Linux, HP-UX, Solaris, AIX, BSD до съкратени версии на Linux като dd-wrt.

  8.   Абимаел Мартел каза той

    Програмирам на 100% с VIM (Ruby, PHP, Javascript, Coffescript, CSS и др.)
    ето дистрибуция за рубин програмисти, тя е много пълна и има много полезни неща, поздрави (https://github.com/carlhuda/janus)

    1.    Дамян Ривера каза той

      Това, което казвам (по-горе), използвам vim за mono, java, perl, bash и python само, че неинтерпретираните езици трябва да използват терминала за компилация, във FreeBSD използвам (и използвам) много VI, който е редакторът роден, но също така инсталирайте ee и joe много добре (подобно на nano), в Gentoo хубавото е, че носи nano, но вече компилирах vim и ми харесва много! Това е най-добрият редактор, който е модифициран според вашите нужди и е перфектен инструмент за системно администриране

      поздрави

  9.   Матиас (@ W4t145) каза той

    Vim Vim Vim!, Завинаги, работи за всичко и навсякъде, никога не го променя

  10.   Нано каза той

    Ах, не знам, мързелив съм и използвам Sublime xD

  11.   Даниел Рохас каза той

    Винаги използвам Vim, обичам го и го намирам за много практичен и удобен 😀

  12.   Драгнел каза той

    Просто vim, от съществено значение за всеки ден.

  13.   Гуидо ролон каза той

    vim ПРАВИЛА! но «ed» ROCKS !!!!,

  14.   Vim каза той

    Vim orange пише фин vim cristal пише нормално, vim, vim, vim ...

  15.   кисело мляко каза той

    Трябва да научите разликите между „защото“, „защо“, „защо“ и „защо“. Мъж, в целия текст не сте дали нито един.