Рубрики
Uncategorized

Vim: от врага другу за 9 минут

Уроки от 3 лет интенсивного обучения TL; DR Использование VIM — это максимально продуманная продукция … Помечено производительностью, DevOps, Vim.

Уроки от 3 лет интенсивного обучения

TL; DR Использование VIM — это максимально намного, усиливая, приятный и вознагражденный инструмент, который вы когда-либо усыновляете. Этот пост был идеей, которую у меня было долгое время; Там есть буквально бесконечные части информации о VIM, и каждый раз, когда я начал писать, я думал, что я просто добавляю в хаос. Я чувствую, что стало слишком важно, чтобы игнорировать, слишком большую часть продуктивности, и, вероятно, лучший инструмент, который я когда-либо решил взять на себя обучение, и поэтому я делюсь своим процессом. Это самоуверенное сообщение о том, как я думаю, кто-то должен начать. Как я обычно предпочитаю получать твердые процедуры и фактические предметы действий, это то, что я пытался создать здесь, поэтому читатели не теряют в море информации.

В течение многих лет у меня был незнакомец. В одном из моих первых собеседостков в качестве юниора менеджер по рекрутированию хотел проверить мою ограниченную набор навыков и спросил, какова была моя любимая IDE. Мой ответ был чем-то вроде «Notepad ++». Само собой разумеется, это было не совсем то, что он ожидал. Он выкопал дальше и спросил: «Что вы думаете о Vim?» Я ответил: «Vim ?? Разве это не эта консоль, никто не знает, как выйти? » Короче говоря, я не получил работу …

Для меня Vim был этот редактор CLI Sysadmins, используемый в видео и своего рода хак-инструмент, используемый хипстерскими разработчиками по всему миру. » Почему кто-нибудь сделает это для себя? «- Я спросил себя и другие более чем в несколько раз, пытаясь понять, когда я встретил еще один восторженный пользователь. Я искренне хотел знать, почему люди говорят об этом так много, почему кто-нибудь его использует? Как любой может быть настолько мотивирован для использования и улучшения их потока с VIM непрерывно, когда это такой ужасный инструмент для использования. Что не так с современными редакторами?

Так что я попробовал это. Много. Я взял VIM для многих, много тестовых дисков. Я хотел доказать себе, я мог бы использовать его. Это был мой немезис, и я бы не принял поражение. Я добрался до того, я решил, что Vim — это Религия. Есть куча людей, которые в нем веруют со всеми своими сердцами и просто столько же противниками, как я, который не мог видеть свет. Поэтому я покинул погиб в сторону, но не мог не продолжать думать об этом, когда я продолжал замечать другие профессионалы по всему сообществам DEV, не говоря уже об этом. Черт возьми, даже на кремниевой долине [ S03E06 ] Борьба по поводу пробелов против вкладок и Vim против Emacs. «Действительно? «Я думал,« Vim против Emacs? », Люди не используют * стандартные * редакторы?

Реальные изменения произошли, когда я встретил одну из самых талантливых разработчиков Backenc, с которыми я когда-либо работал. Он был таким энтузиазмом о VIM, имел столько знаний, и главное, что быстро работал так быстро и плавно, я должен был знать, что он делал. Это приводит к началу моей «почему» …

Почему

  1. Vim — Всегда там На любом * Nix Machine, Mac и скоро даже Windows Machines. Вы всегда можете найти его в результате работы в вашей ОС. Vim ( или его предшественник VI ) уже установлены, поэтому, даже если вы не собираетесь использовать его для всего, вы, вероятно, хотите знать это довольно хорошо. Вы хотите, чтобы вы могли быстро установить ваши редактирование удаленных серверов.

  2. Это продуктивно Это Святой Грааль с использованием Vim; Как только вы освоите основы, вы станете так быстрее, вы действительно не сможете вернуться. Вы начнете искать эти быстрые ходы при написании сообщений или в чате онлайн. Написание любых кодов или редактирования блоков оно становится гладким и свободно свободно, как вы, вероятно, никогда не знали возможны.

  3. Интеграции VIM настолько мощный, у него есть интеграции сразу, что вы можете подумать, если. Я даже не оставляю его в Git Compary, толкать, просматривая историю и что нет. Взял его еще один шаг и создал мой поток решающих конфликтов слияния Право от Vim!

  4. Удивительность Не уверен, что я должен решить это как реальный фактор, но, честный, Vim — приятный инструмент. Каждый раз, когда я использую его, в том числе при редактировании этих строк, мне нравятся мои ярлыки, способности движения, макросы и повторяющиеся команды. Думать о себе в офисе, используя его; Ваши коллеги будут настолько впечатлены, они начнут просить ресурсы и советы. Я знаю, потому что это то, как я начал и как другие коллеги мои начали за мной. Мы все можем сказать одно и то же, после достижения среднеголового уровня: вы становитесь так Берегая быстрая другие редакторы перестают иметь смысл. Вы можете подумать быстро, работать быстро, и никогда больше не чувствую идиот.

  5. Это верно Руки вниз, сколько раз вы оказались редактированием более 20 местоположений в одном файле, поступив к мышью и снова, зная в своем сердце, что вы делаете, это либо неправильно? Сколько раз вы чувствовали, что вы тратите время на достижении кнопок UI или ищете правой кнопкой мыши, чтобы помочь вам сделать изменения? Для меня ответ был десятки, если не сотни раз, пока не решил поставить на него остановку.

  6. Это свет; Это Так что светло меньше всего занимает 10% ресурсов вашей машины. Ознакомьтесь с сравнением ниже, описывающим среднее потребление памяти популярных IDE:

Сравнение среднего потребления памяти Vims, взятых на несколько серверов Linux

Как

Честно говоря, Vim не самый доступный инструмент для принятия. Черт, это тяжело Отказ Vim имеет очень крутущую кривую обучения, но отдых гарантировал: если вы попробуете, не сдавайся и не будете последовательными, это 1000% вознаграждение.

Время против производительности IDE

Визуальный приведенный выше представляет собой простую демонстрацию своего опыта кривой обучения. С любой другой IDE, я стал полупродуктивным довольно быстро («Semi», только в ретроспективе, познавая, что может сделать Vim ..). Тем не менее, зеленая кривая VIM показывает мою стартовую борьбу, которая после некоторого времени превратилась в невероятный навык.

Как я это сделал?

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

  1. Получил Хороший маленький ноутбук Я мог нести вокруг

  2. Я купил Удивительный практичный VIM от DREW NEIL как в твердом переплете, так и для моего iPad, чтобы прочитать на ходу

  3. Каждую ночь перед сном я прочитал один совет — книга очень разумно построена так Легкое, медленное обучение

  4. IDES на моем Mac были удалены, не более VSCode или руки Pycharm, чтобы бежать назад. Это было в одиночестве

  5. Я зарегистрировался на « Овладение Vim быстро « Информационный бюллетень и следовал за ними на Twitter , где я постоянно изучал новые советы

  6. Я начал свой онлайн список советов, которые я узнал и подобрал на пути, который я поддерживаю по сей день Говорить о новых советах они бесконечны : Даже после многих лет вы обнаружите, что аплодируете другую функцию, о которой вы никогда не знали. Vim — бесконечная банка конфеты

Вращающая шутку на VIM … Не бросайте борьбу; это стоит того

Постепенное обучение

После нескольких дней чтения я медленно начал получать похвалы движения в Vim, используя знаменитый HJKL И научился искать и сохранять нажатия клавиш. Я начал понимать, как Vim действует . Какой самый быстрый и самый элегантный способ сделать все возможное. Я начал выходить из постели после прочтения совета, чтобы попробовать его и написать его в моем ноутбуке.

Дайвинг прямо в не может быть для всех. Если вы еще не готовы бросить все остальное и использовать VIM в одиночку, вы можете попробовать некоторые отличные интеграции для IDE; популярный — это Vscode’s V. я Режим который добавляет большую часть функциональности и способностей VIMS прямо в ваших любимых (и вскоре, чтобы вытеснить 😉) IDE. Я попробовал и было трудно найти 100% функциональности, к которым я привык, поэтому я пошел прямо к полному Vim.

Когда

Забавный вопрос, чтобы спросить, но — прямо сейчас. Вы можете запустить новый проект или начать новую работу; Это просто триггер, чтобы принять новый инструмент для меняющегося жизни. Ничего не должно быть драматичным; Вы можете забрать его, как вы идете. Пока вы согласуетесь и определены, в течение нескольких недель вы дойдете до пункта, обсуждаемого ранее, где больше не требуется другой инструмент. Вы будете пройти просьба просто продуктивной: вы будете быстрее в VIM, чем все остальное.

Кто

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

Независимо от того, ли вы в этом, DEVOPS, полный разработчик, случайный писатель сценариев (и сценаризма 😁) или аналитики данных: каждый может использовать VIM и наслаждаться его максимум. Я должен написать Python, Golang, Crystal, Tymdercript Bash и много текста (например, эти линии прямо сейчас). Там нет ситуации с редактированием текста, о которой VIM не является идеальным решением.

Настройка

К настоящему времени вы узнали, что Vim является одним из самых универсальных, настраиваемых инструментов. Не только у него бесконечные плагины, но вы также можете изменить файл конфигурации (.VIMRC) и может в значительной степени изменить все Отказ Наличие того, что вы можете захотеть начать Ваниль . Вот хорошее видео Это может сэкономить вам много установок плагинов, просто узнав встроенные способности VIM. Одно, что рекомендуется использовать, это Тим Папы ‘s VIM-разумный плагин .

Плагины

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

  • Они тяжелые на VIM: вы можете заметить отставание и более длительное время отклика с некоторыми высокообычными плагинами

  • Они могут противоречить с другими плагинами/конфигурациями: (обычно вы не заметите, что с популярными плагинами)

  • Они маскируют некоторые способности VIM. Вы устанавливаете плагин, который имеет довольно хорошую функциональность ванили в VIM — проверь себя перед запуском к каждому блестящему плагину

  • Они могут замедлять ваше склонность, принять их с уходом, медленно, и только тогда, когда вы чувствуете необходимость

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

  • TPOPE/VIM-разумный — разумные конфигурации, обсуждаемые выше в разделе «Настройка»

  • TPOPE/VIM-RUVE — Изменить/создавать/удалить окружение В VIM: «<» ([

  • TPOPE/VIM-комментарий — быстро прокомментируйте блоки кода

  • TPOPE/VIM-FUGITILE — Vim Git Integration — нет причин, чтобы когда-либо покинуть IDE!

  • VundleVim/Vundle.Vim — управляющий плагином

  • Valloric/YouCompleteme. — большая полезная интеграция для автозаполнения при производстве строк кода

  • W0RP/ALE — Базовый статический анализ кода

  • Airblade/Vim-gitgutter

  • Junegunn/Vim-Easy-Align — Выравнивание кода разделитель

  • Vim-Airline/Vim-Airline — полезный режим визуализации панели инструментов, количество слов, кодирование и т. Д.

  • Scroloose/Nerdtree — популярный, но редко использованный плагин, показывающий индексное дерево, как большинство IDES

  • Junegunn/fzf.vim. — лучшая замена для Nerdtree и в целом нахождение файлов на проектах

  • Airblade/Vim Corser — Устанавливает корня проекта независимо от того, где VIM был запущен из (полезных с FZF)

  • Python-Mode/Python-Mode — Анализ статического кода Python (соблюдая все PEP сразу, фантастический кусок аддона)

  • Jiangmiao/Авто-пары — автоматически и удобно генерировать пару открытия кронштейна или скобки

Вот и все, и спасибо за то, что сделали это далеко!

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

Большое благодаря Fuzzymidget Reddit пользователь, который предложил свою помощь в поправках стили и языка, комментируя Мой пост на подсчету r/vim. .

Я приглашаю вас взять заглянуть на мою собственную конфигурацию .vimrc, предложить изменения или принимать идеи.

Меня зовут Омер, и я инженер в Продро — Глобальная консультация, которая обеспечивает программное обеспечение надежным, безопасным и простым способом, приняв культуру DevOps. Дайте мне знать свои мысли в комментариях ниже, или связаться со мной прямо в Twitter @ ОМЕРГСР .

Редактировать [5 июля]:

С его разрешением, добавляя комментарий @russellbateman, который дает еще один угол и некоторые идеи, которые я не мог придумать самостоятельно:

Я использовал Vim/Vi за 35+ лет. Одной из проблем в (довольно религиозной) обсуждении редакторов является то, что фольклор только сравнивают редакторов. Vim/Vi не просто редактор; Это полный, бушующий текстовый процессор! Простые редакторы, даже действительно прекрасные, такие как Notepad ++, обычно не ходят очень далеко по дороге обработки текста. Они присутствуют только в качестве редакторов. До сравнительно недавно IDES, которые предложили совместимость VI, действительно предложили только глубокое лицо с кожей в режиме режима редактирования — эта часть VI, которая состоит из них. Они не предложили .Exrc или .vimrc поддержки, ни нажатия клавиатуры намного глубже, чем режим. Многие люди были и все же остаются озадачены озадаченным относительно того, почему кто-либо когда-либо будет достаточно масохистичным, чтобы выучить VIM/VI, чтобы они могли включить его в их IDE. К счастью, в том случае, если выставляя некоторые раздражающие практики с точки зрения интеграции, первоклассные IDes, такие как идея Intellij Jetbrains, более полной интеграции VIM, чем на более ранних попытках более длительных попыток озрева. Лично, и потому, что я выросший парень командной линии Unix, я не самый низкий Bashful о появлении консоли за пределами моей IDE, чтобы запустить VIM/GVIM, хотя я знаю, что эмуляция VI IDEA, вероятно, до него. Последнее, я вообще никогда не устанавливаю никаких плагинов, несмотря на распознавание их утилиты. Я не враждеб к плагинам, это то, что так же, как VI/VIM везде в настоящее время в настоящее время (и единственная игра в городе на свежеистовых системах Linux), плагины не вездесущие, поэтому я даже не Подумайте о них, пока не делаю что-то действительно специализируемое, не частое положение.

Оригинал: «https://dev.to/omerxx/vim-from-foe-to-friend-in-9-minutes-2np0»