Vim та Emacs: все тихо спереду

Серед священні війни Найбільш легендарне, про яке ми знаємо, - це війна видавців. Vi / Vim проти Emacs. Це особливо цікаво, оскільки вони обидва є безкоштовним програмним забезпеченням з дуже високими можливостями.

Це сягає багатьох років тому. Emacs був розроблений Річардом Столлманом у 35-х, випущений приблизно 1991 років тому. Ві - приблизно одного віку, створена Біллом Джоєм. З іншого боку, Вім є нещодавнішим і виникає внаслідок необхідності Брему Муленару створити клон Vi для Аміги в XNUMX році.

Як ретро! Видавці з кам’яного віку, коли життя було простішим. І ми продовжуємо їх використовувати, оскільки вони еволюціонують і пристосовуються до часу. Vim та Emacs використовують сучасні інтерфейси в GTK, вони мають власні мови розширень, менеджери пакетів; серед іншого, що ставить їх серед редакторів сучасний.

Для чого я їх використовую?

Поставимо цілком гіпотетичну обставину. Гуголь - математичне слово, яке визначає слово, за яким слідують сто нулів. Як ми пишемо це в текстовому редакторі?

Перше рішення, яке спадає на думку - набрати одиницю та натискати клавішу 0, доки лічильник стовпців не встановить мені 101, оскільки 101 символ повинен вимірювати цей вираз. Ми припускаємо, що редагуємо це у компетентному текстовому редакторі, який має рядок стану для відображення цих речей.

Тепер я можу придумати більш просте рішення:

i1 ESC 100a0 ESC

Звичайно, для цього рішення потрібен Vim або принаймні Vi. Він команда досить просто, і це ніби ми говоримо Віму: Перебуваючи в нормальному режимі, встав 1 і повертається до нормального режиму. Тепер вставте після курсору сто разів 0 і повертається до нормального режиму. Vim виконає наше замовлення без питань.

Складність

Це рішення звучить надзвичайно складно, і я його розумію. По-перше, тому що ми маємо справу з поняттям a модальний редактор. Але бувають випадки, коли це набагато корисніше, ніж здається.

Скажімо, у нас є список покупок. Ми збираємося піти до магазину і хочемо написати, що збираємося привезти. Пам’ятайте, що це щось гіпотетичне, ніхто не повинен брати комп’ютер у магазин, щоб їсти за їжею. У будь-якому випадку, це наш список:

1 банан 4 яблука 2 кіло цукру 1 літр води

Це дуже простий список покупок. Але ми збираємось домовитись. По-перше, я думаю, що ще кілька бананів було б нормально. Оскільки нам подобається естетика, ми змінимо малу літеру на яблука залишити її як Банан і ми замінимо назви одиниць їх скороченнями.

Тож давайте почнемо. Оскільки нам потрібна резервна копія нашого оригінального списку, ми робимо копію за допомогою 4yy і ми вставляємо його нижче з p. Натисніть Ctrl-a пару разів, щоб збільшити кількість бананів і перейти до кінця наступного слова з e. Спускаємось до другого рядка, робимо a Fm щоб перейти до слова яблука та натиснути ~ (AltGr-4 на моїй клавіатурі), щоб буква змінилася на верхню регістр. Ми робимо j щоб спуститися до наступного рядка, і ми з’явимось у k з фунти з b. Ми виходимо із звичайного режиму, набравши текст cw і написання замісного слова на кілограми, яке буде кг. Натискаємо ESC, повертаємося до звичайного режиму і знову j зробити те саме з Літр. Готові. Ось так виглядає наш список зараз.

3 банани 4 яблука 2 кг цукру 1 л води

Влада

Давайте підсумуємо вищезазначені дії в цьому:

4рр G p 2Ctrl-A e Fm ~ jb cw кг ESC jb cw L ESC

Я поважав деякі місця, щоб зробити це зрозумілим, але зазвичай це не робиться. Таке замовлення робота змушує нас багато думати про його корисність. Але це швидше зробити це, ніж рухатись за допомогою миші, вибирати, копіювати, вставляти, видаляти тощо.

Редактори, доки Vim або Emacs можуть робити подібні речі, оскільки вони розробляються роками і мають дуже чіткі уявлення про те, як це робити.

Криві навчання

Так, вони круті. Але саме для цього призначені такі ініціативи, як Cream, яке забезпечує повністю готове до використання середовище Vim прямо з коробки без необхідності боротися з режимами та іншим, а також режим guru, розширення Emacs, яке - наскільки я знаю - допомагає новачкам.

Режим гуру є частиною Emacs Prelude, колекції розширень що полегшує вам якщо ви хочете навчитися.

Розширення

Оскільки вони є більш розповсюдженими редакторами, ніж багато сучасних редакторів, і мають власні мови розширень, ви можете знайти кольорові теми, плагіни тощо. Є такі цікаві речі, як:

Здається, легше (або приємніше) програмувати розширення в Emacs Lisp, ніж у VimScript. Я маю на увазі, що це функціональна мова, інтерпретована ядром, створеним для цього, проти імперативної мови, створеної для налаштування та розширення.

Висновок

Поглянь! Вам це нічого не коштує, і те, і інше - це безкоштовне програмне забезпечення, яке поширюється безкоштовно. Вони повинні бути у сховищах усіх розподілів, відомих людині, і їх можна знайти навіть у зловмисних запатентованих системах. Попросити не набагато більше.

І нарешті, якщо ви були здивовані, чому я поставив перед заголовком e перед заголовком E замість y, це тому, що мені це звучить краще. Щось на зразок / í-macs /. Я зміг врятувати себе від орфографічних проблем, змінивши позицію, але мені дуже подобається, щоб Вім це робив 😀


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  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". Те, що "е" в назві (і десь у тексті), використовується неправильно ...

    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.   Тіо100 - сказав він

    Я віддаю перевагу 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 я використовую (і використовую) a багато VI, який є рідним для редактора, але також дуже добре встановлює ee та joe (схоже на nano), в Gentoo хороша річ полягає в тому, що він приносить nano, але я вже скомпілював vim, і мені це дуже подобається! Це найкращий редактор із модифікованих відповідно до ваших потреб, який є ідеальним інструментом для системного адміністрування

      привіт

  9.   Матіас (@ W4t145) - сказав він

    Vim Vim Vim!, Назавжди, це працює на все і де завгодно, я ніколи його не змінюю

  10.   нано - сказав він

    Ах, я не знаю, я лінивий і використовую Sublime xD

  11.   Даніель Рохас - сказав він

    Я завжди використовую Vim, мені це подобається, і я вважаю це дуже практичним і зручним 😀

  12.   Драгнелл - сказав він

    Просто vim, важливий у моєму повсякденному житті.

  13.   Гвідо ролон - сказав він

    vim ПРАВИЛА! але «ed» КАЧКИ !!!!,

  14.   натиск - сказав він

    Vim апельсин пише прекрасні vim cristal пише normal, vim, vim, vim ...

  15.   йогурбланко - сказав він

    Ви повинні вивчити різницю між "тому", "чому", "чому" і "чому". Чоловік, у всьому тексті ви не дали жодного.