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

Среди священные войны Самая легендарная из известных нам - это война издателей. Vi / Vim против Emacs. Это особенно интересно, потому что оба они являются бесплатными программами с очень большими возможностями.

Это происходит много лет назад. Emacs был разработан Ричардом Столлманом в 35-х годах, выпущен примерно 1991 лет назад. Ви примерно того же возраста, созданная Биллом Джоем. Vim, с другой стороны, появился недавно и возник из-за того, что Брэму Муленару нужно было создать клон Vi для Amiga в XNUMX году.

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

Для чего я их использую?

Приведем вполне гипотетическое обстоятельство. Гугол - это математическое слово, определяющее единицу, за которой следует сотня нулей. Как это написать в текстовом редакторе?

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

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

i1 ЭКУ 100a0 ЭКУ

Конечно, для этого решения требуется Vim или хотя бы Vi. Он команда это довольно просто, и это как если бы мы говорили Vim: находясь в нормальном режиме, вставьте 1 и вернется в нормальный режим. Теперь вставьте после курсора сто раз 0 и вернется в нормальный режим. Vim без вопросов выполнит наш заказ.

Сложность

Это решение кажется чрезвычайно сложным, и я его понимаю. Во-первых, потому что мы имеем дело с концепцией модальный редактор. Но бывают случаи, когда это гораздо полезнее, чем кажется.

Допустим, у нас есть список покупок. Мы идем в магазин и хотим написать, что мы собираемся привезти. Помните, что это нечто гипотетическое, никто не должен брать компьютер в магазин за едой. Во всяком случае, это наш список:

1 банан 4 яблока 2 кг сахара 1 литр воды

Это очень простой список покупок. Но мы собираемся кое-что сделать. Во-первых, думаю, неплохо было бы еще несколько бананов. Поскольку нам нравится эстетика, мы изменим нижний регистр в яблоки оставить ее как банан и мы заменим названия единиц их сокращениями.

Итак, приступим. Поскольку нам нужна резервная копия нашего исходного списка, мы делаем копию с помощью 4yy и мы вставляем его ниже с помощью p. Нажмите Ctrl-a пару раз, чтобы увеличить количество бананов и перейти к концу следующего слова с помощью e. Спускаемся на вторую строчку, делаем Fm чтобы перейти к слову «яблоки», нажмите ~ (AltGr-4 на моей клавиатуре), чтобы буква сменилась на заглавную. Мы делаем j перейти к следующей строке, и мы окажемся в k из кг con b. Выйдем из нормального режима, набрав cw и напишите слово, заменяющее килограммы, то есть кг. Нажимаем 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, которое, насколько мне известно, помогает новичкам.

Guru-mode является частью 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.    КЗКГ ^ Гаара сказал

      ахахаха со мной то же самое, с нано я остаюсь

  2.   Эоландро сказал

    Ну, недавно мне нужно было отредактировать файл по telnet в точке доступа с dd-wrt, и мне пришлось запомнить vi.

  3.   MSX сказал

    1. " идет война издателей. »
    ОШИБКА!
    Vim - это редактор, Emacs - это готовый к использованию адронный коллайдер на вашем компьютере!

    2. Использование Cream (ajjj) или любого другого «помощника» для Vim или Emacs аналогично установке Manjaro и притворству, что вы установили и используете Arch - с возможной оговоркой, что помощник не меняет сущность Vim или Emacs, а Manjaro - это Манджаро, но не Arch.

    Если вы действительно хотите поработать с Emacs, есть несколько интересных сайтов:
    http://emacsrocks.com/
    http://www.masteringemacs.org/
    http://batsov.com/prelude/
    http://lisperati.com/casting.html

    1.    анти сказал

      Emacs - это интерпретатор Лиспа с добавленными функциями для редактирования текста.
      Cream может быть чем угодно, но он есть, чтобы стартеры не врезались прямо в стену модального редактирования.
      Emacs сначала несколько проще, потому что да пишите первому

  4.   Annubis сказал

    [режим falmewar ВКЛ]

    Emacs, та операционная система, в которой 35 лет спустя по-прежнему отсутствует хороший текстовый редактор 😛

  5.   Хыкыз сказал

    «Vim и Emacs». Буква "е" в названии (и где-то в тексте) используется неправильно ...

    1.    Хыкыз сказал

      И, кстати, уже для всего использую vim. Я начал использовать его в прошлом году, и теперь он стал для меня незаменимым. Он также имеет то преимущество, что vi предустановлен во всех (или, по крайней мере, почти во всех), что почти одинаково в обращении, поэтому, зная, как его использовать, вы можете редактировать файлы в любом дистрибутиве, независимо от того, имеет он X11 или нет.

      Я пробовал Emacs, но они казались неудобными комбинациями клавиш, поэтому я сосредоточился на Vim

    2.    анти сказал

      Он уже объяснил это до конца. Для меня что следует использовать e потому что фраза звучит как / vim и i-macs /, заметив, что y меняется на e, когда следующее слово начинается со звука i.
      Однако было гораздо элегантнее перевернуть все и избежать проблем, но небольшое экспериментирование никому не повредит.

      1.    Хыкыз сказал

        Хорошо, я не успел прочитать всю статью из-за нехватки времени, ха-ха.

        В любом случае это все еще орфографическая ошибка, даже если она звучит лучше.

        1.    анти сказал

          Все нормально. Не более, чем эту странную вещь, которую можно критиковать, не дочитав до конца.
          Надеюсь, вы меня извините за этот недостаток. Вроде в рецензии тоже прошли, так что надо со мной согласиться, но некоторую справку из РАЭ для иностранных слов надо пересмотреть. Они не переводятся.

          1.    Хыкыз сказал

            Да, не доделал, допускаю ошибку, но в последнее время у меня нет времени и я не могу находиться так много, как хотелось бы. На самом деле, очень странно, что в конце концов я мог пробыть здесь несколько минут сегодня.

            Что касается иностранных слов, союз «и» не является иностранным словом, хотя 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 и др.)
    вот раздача для программистов на ruby, она очень полная и имеет много полезного, привет (https://github.com/carlhuda/janus)

    1.    Дамиан Ривера сказал

      Это то, что я говорю (выше). Я использую vim для моно, java, perl, bash и python, только для неинтерпретируемых языков должен использоваться терминал для компиляции, во FreeBSD я использую (и использую) много VI, который является редактором родной, но также установите ee и joe очень хорошо (похоже на nano), в Gentoo хорошо то, что он включает nano, но я уже скомпилировал vim, и он мне очень нравится! Это лучший редактор, который есть и модифицированный под ваши нужды. Это идеальный инструмент для системного администрирования.

      привет

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

    Vim Vim Vim !, навсегда, он работает везде и везде, я его никогда не меняю

  10.   карликовый сказал

    Ахм, не знаю, я ленив и использую Sublime xD

  11.   Даниэль Рохас сказал

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

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

    Просто энергия, необходимая в моей повседневной жизни.

  13.   Гвидо Ролон сказал

    vim ПРАВИЛА! но «эд» СКАЛИ !!!!,

  14.   напор сказал

    Vim orange пишет отлично vim cristal пишет normal, vim, vim, vim ...

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

    Вы должны узнать разницу между «почему», «почему», «почему» и «почему». Мужик, во всем тексте ты не дал ни одного.