• История Vim и руководство по его эффективному использованию

    • Перевод
    • Tutorial
    Примечание от переводчика: это первая часть монументальной (на самом деле монументальной) статьи о Vim и его возможностях от разработчика из Миннеаполиса и автора проекта PostgREST Джо begriffs Нельсона.

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




    Эта статья основана на исследовании истории Vim и прочтении его руководства пользователя от корки до корки. Надеюсь, эти заметки помогут вам открыть (или переоткрыть?) для себя основные функциональные возможности этого редактора, а также позволят отказаться от использования предупакованных файлов vimrc и более вдумчиво использовать плагины.



    Список литературы


    Чтобы выйти за границы привычных тем, я бы порекомендовал обзавестись бумажной копией этого руководства и емким карманным справочником. Я не смог найти печатную копию руководства пользователя для Vim, так что в итоге просто распечатал идущий вместе с редактором PDF-файл с помощью printme1.com. Он идет вместе с софтом в $VIMRUNTIME/doc/usr_??. В качестве удобного списка команд могу посоветовать справочник «Vi and Vim Editors Pocket».

    Содержание

    • История
    • Иерархия конфигурации
    • Сторонние плагины
    • Бекапы и откаты
    • Include и path
    • Редактирование и компиляция цикла
    • Диффы и патчи
    • Буфер ввода / вывода
    • Типы файлов
    • Не забывайте про мышь
    • Разное

    История


    Рождение vi


    Команды и функции Vi существуют уже более пятидесяти лет, начиная с редактора QED. Вот его таймлайн:
    Читать дальше →
    • +38
    • 14,6k
    • 5
  • Делаем из Vim-а конфетку

      Вы под давлением коллег или сокурсников из более успевающих групп решились на отчаянный шаг, способный разделить вашу жизнь на период "до" и "после" (прошли vimtutor), и теперь не знаете что делать с вашими новообретёнными способностями? А может вы всё ещё сидите в какой-нибудь IDE и в ус не дуете зачем вам "эти ваши программистские блокноты" и "какой-то там Vim"? Тогда присаживайтесь поудобнее и налейте себе лимонад, сейчас я вам всё по полочкам разложу.


      Читать дальше →
    • Поддержка 24-bit цветов в терминале в связке ssh + tmux + neovim

      • Tutorial


      На windows я всегда использовал SecureCRT для работы по ssh и горя не знал. Но тут мне в голову стукнуло, что надо попробовать 24-битный терминал и поработать по ssh, используя красивую тему для vim на удаленном сервере.
      Читать дальше →
      • +11
      • 5,8k
      • 2
    • Минимум один трюк Vim, про который вы не знали

      • Перевод
      • Tutorial
      Я уже восемь лет работаю в Vim и постоянно открываю что-то новое. Принято считать это достоинством Vim. Как по мне, так это недостаток открытости: куча скрытых функций спрятаны слишком глубоко.

      Вот говорят о красоте модального редактирования и текстовых объектах, но мне кажется, что суть Vim не в этом. Vim — это лоскутное одеяло из подсистем, под завязку забитых дополнительными инструментами. Только в обычном режиме редактирования более сотни комбинаций клавиш! Такая плотность инструментария в значительной степени объясняет, почему Vim настолько полезен. Если «показать все теги для ключевого слова» — это просто g], то этой командой будут пользоваться гораздо чаще.

      В системах с недостатком открытости приходится полагаться на руководства. Но для Vim их не так уж много. Есть статьи для новичков, такие как ciw (не путать с CIA, мануалом ЦРУ по Vim) и тому подобное. И есть статьи экспертов, которые погружаются в подсистемы. Но никто на самом деле не говорит об этих особых трюках, которые заставляют воскликнуть: чёрт побери, как мне это было нужно в течение последних шести лет!
      Читать дальше →
    • Современные IDE. Однозначно D, в какой-то степени E и уж точно не I

        Работаю я, значит, над своей исследовательской о сложностях поддержки легаси, и заметил один очевидный момент, который наглухо упускал из виду.


        У пользователей IDE, и разработчиков IDE есть проблемы с осознанным пониманием своих инструментов. Используются интуитивно и как попало. На удивление (приятное), такое использование почти не вступает в конфликт с незнанием, хоть и порождает соответствующие холивары на форумах.


        Сейчас разберем, как обстоят дела в разработке с инструментами, что не так с понятием "IDE", и какие инструменты уже должны были появиться, но пока не были разработаны.


        image

        Читать дальше →
      • Как я рисую иллюстрации для конспектов по математике в Inkscape

        • Перевод
        В прошлой статье я рассказал, как пишу конспекты по математике на LaTeX в Vim. В этой статье покажу, как создаются рисунки для этих конспектов с помощью Inkscape, а также расскажу о своём самодельном менеджере горячих клавиш.

        Некоторые примеры


        Во-первых, позвольте показать примеры некоторых рисунков. Они сделаны для комплексного анализа, дифференциальной геометрии, электродинамики и моей бакалаврской диссертации по эллиптическим кривым. Я рисовал их во время лекции — за исключением, конечно, моей диссертации — используя Inkscape, поэтому давайте начнём с этого.

        Читать дальше →
      • Как я пишу конспекты по математике на LaTeX в Vim

        • Перевод
        • Tutorial
        Некоторое время назад на Quora я отвечал на вопрос: как успевать записывать за лектором конспект по математике на LaTeX. Там я объяснил свой рабочий процесс по конспектированию в LaTeX с помощью Vim и Inkscape (для рисунков). Но с тех пор многое изменилось, так что я хочу опубликовать несколько постов в блоге с описанием нового процесса. Это первая из статей.

        Я начал использовать LaTeX для конспектирования во втором семестре курса математики, и с тех пор написал более 1700 страниц. Вот несколько примеров, как выглядит конспект:


        Читать дальше →
      • AdBlock похитил этот баннер, но баннеры не зубы — отрастут

        Подробнее
        Реклама
      • Антипаттерны Vim

        • Перевод
        • Tutorial
        Когда вы находитесь в состоянии потока, Vim серьёзно ускоряет редактирование, будь то написание кода, поэзии или прозы. Но поскольку кривая обучения слишком крута для текстового редактора, то очень легко сохранить вредные привычки с тех времён, когда вы только осваивали редактор. Vim настолько ускоряет работу, что искоренить эти привычки особенно трудно, ведь их можно даже не заметить. Но это того стоит. Перечислю некоторые из наиболее распространённых антипаттернов.
        Читать дальше →
      • Цифровой словарь от А до Я

          Одной из самых полезных программ на ПК и смартфоне в моем понимании является электронный словарь. В те стародавние времена, когда я учил иностранный язык, каждое слово приходилось искать в бумажном словаре. Эту тривиальную операцию я проделывал сотни раз, а некоторые зловредные слова приходилось смотреть снова и снова, так как я успевал забыть их значение. Как это было обидно! То ли дело сейчас, вжух и перевод перед глазами на экране монитора. История поиска, на случай, если искомое слово не перешло из области кратковременной памяти в долгосрочную.


          StarDict


          Давайте своими силами создадим электронный словарь для программ StarDict / GoldenDict. Для этого может понадобится много, или мало человеко-часов, в зависимости от качества исходного материала.

          Читать дальше →
          • +21
          • 5,7k
          • 6
        • Vim: поиск по документации на Javascript

            Обычно я работаю в Kate или Geany. Но иногда, как и всем людям, мне хочется освоить Vim. И каждый раз, примерно на второй минуте «освоения» возникает какой-нибудь совершенно дурацкий вопрос. Например, почему при нажатии стрелок (или клавиш jk) курсор скачет сразу через все строки абзаца?


            Как бы я ни старался свои вопросы формулировать, поиск каждый раз выдаёт мне примерно одни и те же сто сайтов с заголовками вроде «100 самых полезных команд Vim». И какой бы сайт я ни выбрал, на нём всегда не будет хватать именно той «команды», которая мне нужна как раз сейчас.


            Я подумал, как бы найти не сто, а вообще все команды Вим. И нашёл-таки страничку в сети, которая так и называлась: «Все команды Vim». И там действительно был очень большой список — штук шестьсот слов. Но не было указано, что эти команды делают, — просто список терминов. Меня так разозлила эта шутка, что я решил, наконец, почитать документацию и раз и навсегда составить свой собственный список «всех команд Vim». Результат на экране. Подробности ниже.



            Читать дальше →
          • Vim как эзотерический язык для редактирования текста

              Как часто мы ограничиваем понимание привычными шаблонами? Все наверняка знают, что vim — это текстовый редактор, со встроенным скриптовым языком. И сравнивают vim с другими редакторами, иногда даже с IDE.

              Мне в голову пришла аналогия, которая возможно несколько ближе к пониманию возможностей vim. Либо же это можно считать еще одной гранью функционала vim. Прошу простить за очередное повторение всеми измученной темы, но меня не оставляют равнодушными споры об этом «редакторе». Возможно среди вас тоже есть такие люди.
              Читать дальше →
            • Vim спустя 15 лет

              • Перевод


              Мои предыдущие посты об использовании Vim (1, 2) читатели приняли хорошо, и пришло время обновления. В Vim 8 появилось много очень нужной функциональности, а новые сайты сообществ вроде VimAwesome облегчили поиск и выбор плагинов. В последнее время я много работаю с Vim и организовал рабочий процесс исходя из максимальной эффективности, вот снимок моей текущей работы.


              Вкратце:


              • FZF и FZF.vim — для поиска файлов.
              • ack.vim и ag — для поиска файлов.
              • Vim + tmux — ключ к победе.
              • Благодаря асинхронности ALE — это новый Syntastic.
              • …И многое другое. Об этом ниже.
              Читать дальше →
            • Киллерфича в vim — это режимы? Серьёзно?

                Недавно вышла статья, которую вы наверняка читали, про то, что vim — хорош, а IDE — так себе, скорость набора текста не та.


                Напомню: главный посыл той статьи был в том, что главная киллер-фича вима — это режимы, благодаря которой всё остальное не важно. При этом автор согласился с тем, что в IntellijIdea и других IDE есть хоткеи и т.д., которыми вполне можно пользоваться. Но режимов то нет, поэтому вим.


                Далее автор предлагает для перемещения по словам вместо ctrl-стрелочка использовать последовательность Esc, e и потом возвращаться в режим редактирования i. Всё это потому, что неудобно удерживать ctrl.


                Я знаю, что статьи, рассматривающие vim в невыгодном свете, активно минусуют, но я должен выразить свою позицию.

                Читать дальше →
              • Киллер фича Vim

                  Если открыть вимом файл, перевести курсор в нужное место и начать печатать, то с текстом на экране будет происходить всё что угодно, кроме того, что пользователю хотелось сделать. Кратковременный приступ паники, перемешанной со злостью, пройдёт достаточно быстро, ведь файл пока никто не сохранял, так что можно просто отключить питание, включить компьютер обратно и погуглить.


                  Гуглим, выясняется, что для превращения вима в нормальный редактор нужно нажать i. Только сохранить поредактированный текст нельзя, перед этим надо несколько раз нажать эскейп, а потом набрать :w. А, чтобы его закрыть, нужно нажать эскейп, а потом набрать :q. Тяжёлое наследие прошлого. Ну, зато вим есть везде.


                  Но в какой-нибудь из статей, рассказывающей, как провести 5 минут в виме и остаться в живых, обязательно будет написано, что вим — лучший текстовый редактор в мире. И ещё выяснится, что люди в нём программируют. То есть, натурально, пишут код. То есть, на дворе 21 век, в любой момент можно скачать Visual Studio, Intellij Idea или, прости господи, Eclipse, а они пишут код в виме. Добровольно.


                  Читать дальше →
                • Разработка на скорости 450 слов в минуту

                  • Перевод
                  «Чего-то здесь не хватает». Спорим, такая мысль первой придёт в вашу голову, если увидите моё рабочее место в офисе. Здесь нет монитора и мыши. Есть только парень, который молотит по клавиатуре, глядя словно в пустоту.



                  Это всего лишь я, и мои коллеги гарантируют вам, что я обычно не опасен. Я программист в офисе компании Vincit в Тампере (Финляндия). И ещё я слепой. В этой статье хочу немного рассказать, как я работаю.
                  Читать дальше →
                • Почему я до сих пор использую Vim?

                  • Перевод
                  Vim — мой любимый редактор. Я начал его использовать много лет назад, когда перешел на Linux. Он пришелся мне по душе, так как я мог редактировать небольшие исходные файлы на своем четырехъядерном компьютере без необходимости долго ждать, пока он откроется.

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

                  Как вы думаете, сколько памяти нужно редактору, чтобы открыть следующий C файл?

                  #include <stdio.h>
                  int main() {
                    printf("Hello, world!\n");
                  }
                  Читать дальше →
                • Stack Overflow вывел из Vim уже больше миллиона пользователей

                  • Перевод
                  На днях один популярный вопрос на Stack Overflow отпраздновал свой юбилейный миллионный просмотр.



                  Ты не одинок, jclancy. За пять лет, которые прошли, с тех пор как был опубликован этот пост, больше миллиона других разработчиков постигла та же участь — они застряли в Vim и не могли выбраться без посторонней помощи. Не зря в IT сообществе столько шуток о том, как трудно найти выход из этого редактора.
                  Читать дальше →
                • Vim и переключение раскладок: о наболевшем

                    Всем привет. Я достаточно давно пользуюсь редактором Vim для редактирования очень разных текстов: правки конфигов, написания кода, в качестве внешнего редактора в браузере и почтовом клиенте…

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

                    Читать дальше →

                  Самое читаемое