Vim install plugin linux

Как установить плагины Vim в Linux

Большинство дистрибутивов Linux имеют предустановленный VIM 8+. Редактор Vim 8 имеет встроенную поддержку плагинов. И теперь вы можете легко установить плагины Vim с дополнительной поддержкой.

Поддержка плагинов помогает добавлять, обновлять, удалять пакеты и управлять ими. Vim может изначально загружать сторонние пакеты без помощи какого-либо менеджера плагинов.

В этой статье мы покажем, как устанавливать плагины Vim вручную и с помощью менеджера плагинов.

Вас может заинтересовать:

Установка плагинов Vim

Давайте посмотрим, как установить плагины Vim вручную, это рекомендуемый метод для Vim 8+

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

/.vim/pack/ /. Когда Vim запустится, он загрузит все плагины, хранящиеся в файле /.vim/pack/my-plugins/start. Вы можете дать каталогу любое имя например my-plugins .

Создайте каталог для хранения плагинов Vim:

Если вы не хотите, чтобы плагин Vim запускался автоматически при запуске, создайте подпапку opt в каталоге плагинов ( ‘ my-plugins ‘) и добавьте туда пакет.

Пакет, добавленный в opt, может быть загружен в память с помощью:

Например, давайте установим два плагина Vim – NERDTree и Vim Airline.

/.vim/pack/my-plugins/start/NERDTree/
$ git clone – depth 1 https://github.com/preservim/nerdtree.git

/.vim/pack/my-plugins/start/NERDTree/ $ mkdir -p

/.vim/pack/my-plugins/start/Airline/
$ git clone – depth 1 https://github.com/vim-airline/vim-airline.git

Установка плагина Vim с помощью менеджера плагинов

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

Популярными менеджерами плагинов являются Vim-plug, Vundle, Pathogen, dein.vim и VAM.

Давайте проверим, как установить плагины vim с помощью vim-plug.

Шаг 1: Установка vim-plug

Для установки vim-plug используйте следующую команду

/.vim/autoload/plug.vim – create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Шаг 2: Создайте файл

Сделать это можно коандой:

Шаг 3: Добавьте плагины для установки в файл

Добавьте имя и расположение каждого плагина, который будет установлен между plug#begin и plug#end ().

call plug#begin()
Plug ‘preservim/NERDTree’
Plug ‘vim-airline/vim-airline’
Plug ‘https://github.com/ap/vim-css-color’
call plug#end()

Шаг 4: Установка плагинов

Откройте Vim в терминале и введите:

Чтобы обновить один плагин, введите:

Заключение

В этой статье мы показали, как установить плагины Vim вручную и с помощью менеджера плагинов.

Источник

How to Easily Install Vim plugins

Most Linux distribution is now preinstalled with VIM 8+ version. Vim 8 has built support for packages. You can now easily install Vim plugins with this added support.

Package support helps to add, update, remove and manage packages. Vim can natively load third-party packages without the help of any plugin manager.

In this tutorial, you learn how to install Vim plugins manually and using a plugin manager.

Install Vim plugins

Let’s check how to install Vim plugins manually, this is recommended method for Vim 8+

By default, Vim expects each plugin to be stored in the

/.vim/pack/ /. When Vim starts, it will load all plugins stored in /.vim/pack/my-plugins/start. You can give any name for the directory my-plugins .

Create the directory to store Vim plugins:

If you don’t want the Vim plugin to start automatically at the start, create a subfolder opt under the plugin directory ( here ‘ my-plugins ‘) and add package there.

The package added in opt can be loaded to memory by:

For example, let’s install two Vim plugins — NERDTree and Vim Airline.

Install Vim plugin using a plugin manager

Plugin Managers is still useful because of its features. Plugin manager has features such as updating, disabling plugins make it easy to manage vim plugins.

Popular plugin managers are Vim-plug, Vundle, Pathogen, dein.vim, and VAM.

Let’s check how to install vim plugins using vim-plug.

Step 1: Install the vim-plug

Step 2: Create

Step 3: Add plugins to install in

Add the name and location of each plugin to be installed between the plug#begin and plug#end() lines.

Step 4: Install Plugins

Open Vim on your terminal and type:

To update a single plugin, type:

Conclusion

In this tutorial, we learned how to install Vim Plugins manually and using a plugin manager.

If you have any feedback and suggestion please comment below.

Источник

Vim Install Plugins

With stable and robust plugin support and a large community behind, Vim is the golden text editor you should start learning right now!

Vim plugins

Despite being a robust text editor, Vim doesn’t pack all the possible features possible. That’s why programs allow the usage of plugins. This is especially true to every well-known text editor. Plugins improve the functionality of the editor with various additional features that are not native to the editor.

In the case of Vim, there are a number of plugins available for all sorts of purpose. In fact, plugins are one of the strongest points of Vim. There are TONS of plugins out there to improvise Vim.

Installing Vim plugin

There are basically 2 different ways of installing a Vim plugin.

Manual installation

In this method, you have to manually grab the plugin from the web and put it in the target directory. Then, you have to update the vimrc file manually so that Vim always loads the plugin whenever you start Vim. If you update vimrc when Vim is running, it won’t load the updated file. Either restart Vim or tell Vim to reload the vimrc file.

There are different forms of Vim plugins. It can be either a “.vim” file, a Vimball file or, a set of directories with the expected structure (plugin/*, syntax/*, etc.). It depends on the plugin you’re going to install. If it’s a “.vim” file, put it into “.vim/plugin” directory. If it’s a Vimball file, we have to use Vim to install it. If it comes as the third type, it’s a bit tough to manually set all the files and folders with proper vimrc configuration.

Let’s get started with my favorite one. It’s actually a great way of theming the Vim editor. Check out the Vimrc by amix.

At first, make sure that your system has git installed. I’m running Manjaro Linux, an Arch-based distro with awesome look and fine-tuning. If you’re running any other distro, check out how to install Git on Linux.

As the GitHub page suggests, run the following command for completing the installation.

Источник

How To Install And Use Vim-plug Plugin Manager In Linux

When there were no plugin managers, the Vim users had to manually download the Plugins distributed as tarballs and extract them in a directory called

/.vim . It was OK for few plugins. When they installed more plugins, it became a mess. All plugin files scattered in a single directory and the users couldn’t find which file belongs to which plugin. Further more, they could not find which file they should remove to uninstall a plugin. This is where Vim plugin managers comes in handy. The plugin managers saves the files of installed plugins in separate directory, so it is became very easy to manage all plugins. We already wrote about Vundle a few months ago. Today, we will see yet another Vim plugin manager named «Vim-plug».

Vim-plug is a free, open source, very fast and minimalist vim plugin manager. It can install or update plugins in parallel. You can also rollback the updates. It creates shallow clones to minimize disk space usage and download time. It supports on-demand plugin loading for faster startup time. Other notable features are branch/tag/commit support, post-update hooks, support for externally managed plugins etc.

Install Vim-plug in Linux

Installing Vim-plug is very easy! All you have to do is to open your Terminal and run the following command:

The Neovim users can install Vim-plug using the following command:

How To Use Vim-plug Plugin Manager

1. Installing Plugins

To install plugins, you must first declare them in Vim configuration file as shown below. The configuration file for ordinary Vim is

/.vimrc and the config file for Neovim is

/.config/nvim/init.vim . Please remember that when you declare the plugins in configuration file, the list should start with call plug#begin(PLUGIN_DIRECTORY) and end with call plug#end() .

For example, let us install «lightline.vim» plugin. To do so, add the following lines on top of your

After adding the above lines in vim configuration file, reload by entering the following command:

Or, simply reload the Vim editor.

Now, open vim editor:

Check the status using command:

And type following command and hit ENTER to install the plugins that you have declared in the config file earlier.

2. Update Plugins

To update plugins, run:

After updating the plugins, press d to review the changes. Or, you can do it later by typing :PlugDiff .

3. Review Plugins

Some times, the updated plugins may have new bugs or no longer work correctly. To fix this, you can simply rollback the problematic plugins. Type :PlugDiff command and hit ENTER to review the changes from the last :PlugUpdate and roll each plugin back to the previous state before the update by pressing X on each paragraph.

4. Removing Plugins

To remove a plugin delete or comment out the plug commands that you have added earlier in your vim configuration file. Then, run :source

/.vimrc or restart Vim editor. Finally, run the following command to uninstall the plugins:

This command will delete all undeclared plugins in your vim config file.

5. Upgrade Vim-plug

To upgrade vim-plug itself, type:

As you can see, managing plugins using Vim-plug is not a big deal. It simplifies the plugin management a lot easier. Now go and find out your favorite plugins and install them using Vim-plug.

Источник

Делаем из Vim-а конфетку

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

(Статья рекомендуется к последовательному прочтению, но для вашего удобства ниже приведено оглавление)

Давайте определимся с терминологией

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

Рабочая среда — это набор программ для разработки ПО. Например, он может содержать компилятор, интерактивную консоль, редактор раположения GUI элементов, дебаггер и прочее. Редактор — это лишь маленький кусочек этого пазла.

IDE — это вся рабочая среда, сосредоточенная в одном месте. Конечно, есть программы наподобии Emacs (далее Емакс), где вы сами вольны вставить в неё всё, что вам угодно при должном умении, однако чаще всего это уже готовый, собранный за вас пакет.

Зачем мне нужен тогда Вим, если за меня всё сделает IDE?

Раньше весомым аргументом была его раскладка, так как она для многих удобнее современных Емаксо-подобных многокнопочных комбинаций клавиш для навигации и редактирования текста. Однако, благодаря Neovim и другим проектам, таким как VSCodeVim, она есть буквально везде.

Однако есть ещё один более весомый аргумент — производительность. В IDE часто имеется огромное количество функциональности, которым вы не пользуетесь, и фоновых процессов, которые сильно нагружают систему. Даже если ваш Макбук не орёт как истребитель от PyCharm или у вас не лагает скроллинг в Visual Studio (что невозможно, врунишки вы мои), а однопоточность Емакса не напоминает о первом Crysis или S.T.A.L.K.E.R., то всё равно встаёт вопрос энергопотребления и, как следствие, времени жизни батареи. Такое ПО в линукс сообществе характеризуют мемом термином «bloat».

У меня уже есть статья про все прелести этой программы. Однако она была написана человеком под впечатлением от новой игрушки с уровнем интеллекта второкурсницы (догадайтесь почему), что вылилось в настолько критично малое количество в ней смысла, что на её месте образовалась чёрная дыра. Ну хоть смешные картинки удались.

Что же я могу сказать про него сейчас, по прошествии года активного использования?

  1. Он очень быстрый. Ввиду особенностей его рендера, Вим имеет намного меньшую задержку, чем другие редакторы. После него другие редакторы кажутся неотзывчивыми, я уже молчу про выше упомянутые IDE.
  2. Его использование подобно прохождению третьего Dark Souls после первой части. Сначала сложно и непривычно, так как игра стала быстрее, и нельзя зачизить многие сложные моменты с помощью RPG составляющей, но потом приходит осознание того, что игра оказуалилась, и почти все боссы одолеваются со второй попытки.
  3. Он практически не тратит ресурсы и запускается даже на хлебушке, что очень хорошо сказывается на батарее.

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

В этой статье мы приведём Вим в удобоваримое состояние для серьёзной работы, а также научим его дружить с некоторыми сторонними программами для разработки. Учтите, что я буду рассказывать только про то, с чем мне довелось столкнуться лично, и если у вас интересные предложения, то добро пожаловать в комментарии.

Вставьте шутку про штепсель

Главным оружием для настройки нашего друга явлются плагины. По сути дела, это просто отдельные файлы с кодом на VimScript, которые исполняются при загрузке вашего файла настроек (

/.config/nvim/init.vim) командой source. Ручками скачивать всё это довольно больно, поэтому великие умы человечества придумали пакетные менеджеры… для Вима!

Главная задача пакетного менеджера — скачать указанные плагины с гитхаба, предоставить пользователю удобный интерфейс по управлению ими и, собственно, подключать их при загрузке Вима. Есть, конечно, минималистичные менеджеры по типу Pathogen (который занимается преимущественно только третьим), но мы настолько усложнять себе жизнь не будем.

Нашим подопечным сегодня выступит vim-plug. Но, прежде чем вы пойдёте его устанавливать, сначала нужно добавить пару строчек в ваш конфиг:

Эти команды вы чаще всего встретите в инструкциях по установке различных плагинов. Теперь давайте установим сам менеджер пакетов. Тут есть нужные команды для Vim и Neovim, но существует способ для его автоматического скачивания. Для этого добавьте следущие строчки в свой конфиг:

Тогда при следующем запуске Вима, менеджер будет автоматически установлен, но его команды работать не будут и вы увидите ошибку. Хочу также заметить, что у вас в системе должен стоять curl, а для Neovim нужно поменять

/.local/share/nvim/site . Прежде чем вы перезапустите ваш редактор, предлагаю также добавить в настройки следущие строчки. Не забудьте изменить этот код для Neovim аналогично прошлому разу:

С этого момента у вас всё должно работать. Далее мы будем добавлять плагины меж этих строк по следующей схеме:

Есть и другие способы добавления плагинов в vim-plug и они подробно описаны на странице менеджера, но в них, чаще всего, нет нужды. Также, как вы могли догадаться, поиск плагинов осуществляется в общем случае Гуглом или этой прелестью. Также про них можно узнать из тематических форумов/сабреддитов и таких статей, как эта.


Слишком сложно.

Красота требует настройки

Самая базовая и, вместе с тем, одна из самых важных модификаций для программы, в которой вы будете проводить более 90% своего рабочего времени — внешний вид. Если вы пользуетесь терминальным Вимом и уже настраивали консоль, то эти изменения должны отобразиться и на самом редакторе, но можно пойти и дальше. Начнём с выбора темы.

Так наш подопечный (MacVim) выглядит сейчас:

Выбор темы

Для Вима силами волонтёров было написано немеренно готовых тем. Из большинства популярных редакторов их давно уже всех портировали. Как по мне, главная отличительная особенность Sublime Text — его тема Monokai, которую мы сейчас вероломно апроприируем.

Теперь вы можете презагрузить ваш файл настроек (или сам Вим), и насладиться раскулаченным добром. Аналогично вы можете поставить себе и другие темы, такие как Darcula, Solarized Dark и.т.д.

Улучшенная строка состояния

Теперь давайте настроим наш status bar. Основная идея состоит в том, чтобы красиво показывать важную информацию по аналогии с tmux и панелями в WM на экране, касающуюся редактирования текста. Для этого давайте поставим Airline:

Про Powerline мы поговорим далее, но главное, чего мы этим добьёмся, — секции строки состояния будут выделяться не прямоугольниками, а стрелками. Про Keymap мы поговорим в секции про интеграцию русского языка, но эта комманда просто скроет его индикатор из строки статуса (аналог останется в строке команд). Символ \ue0a1 — это красивая альтернатива «ln», но также мною был опущен процентный показатель конца файла, ибо мне он показался излишним.

Вид Airline по умолчанию:

Вид после нашего вмешательства:

Шрифт и иконки

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

Но не спешите сейчас ставить полюбившийся вам шрифт из того списка. Во-первых, подобных шрифтов в природе больше и их можно патчить самому. Например, мой любимый — это Fira Code, который поддерживает лигатуры (о них можете почитать там же). Во-вторых, есть ещё один отличный плагин Devicons, который добавляет в Airline и Nerdtree (файловый проводник) удобные иконочки.

Но и они не работают.

Для того, чтобы все наши красивости заработали нам нужен не просто пропатченный на поддержку Powerline шрифт, но и совместимый с Nerd Font, благо такая вариация Fira Code имеется. Тут от системы к системе последовательность действий будет отличаться, но на MacOS с brew этот шрифт ставится в два счёта:

И подключим его так (в GUI. И да, «фура» тут намеренно):

Теперь все наши элементы кастомизации должны встать на место:

Стандартные опции

Таким образом мы осветили самые важные аспекты кастомизации внешнего вида Вим. Подробнее про работу этих плагинов можно почитать либо в их мануалах (через команду :help ) или на их страницах на гитхабе (ищутся в Гугл по имени из списка плагинов). Далее будут указаны другие полезные команды, а после этого мы перейдём к следующей большой теме:

Русский ферштейн?

Наверное, самый главный отталкивающий фактор в освоении Вима, с которым сталкиваются все русскоговорящие программные инженеры — Русский язык. Не то, чтобы у меня была какая-то неприязнь к великому и могучему, но она есть у нашего редактора, причём ко всем языкам, отличным от Английского.

Вим обходит системные драйвера клавиатуры и сам обрабатывает ввод. Хорошая новость состоит в том, что это делает его самым быстрым и отзывчивым редактором среди конкурентов. Плохая новость — он считывает не нажатие клавиши, а введённые символы. Результирует это в том, что команды нормального режима (и много что ещё) на других раскладках не работают.

Лекарство для этой болезни искали люди давно, так как вечно ручками дёргать язык ввода неудобно. Когда появились более близкие к системе штуки, такие как gVim и MacVim, они тоже не справились (и не особо пытались). Поэтому на данный момент есть пара костылей:

Langmap

Наверное, при поиске решения в интернете, вы натыкались на строчки подобного характера:

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

Keymap

Существует чуть более адекватный стандартный способ переключения раскладки:

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

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

Xkb-switch

Сие есть прекрасная консольная утилита для переключения раскладки в терминале. Сейчас мы в первый раз попробуем заставить Вим общаться с внешними программами. У Xkb-switch есть порты под три популярные операционные системы, но, как водится, здесь мы рассмотрим установку на MacOS. Для других систем вы можете найти инструкции на сайте плагина.

А теперь победным маршем добавим эти строчки в конфиг:

И все ваши проблемы решены. В основном потому что мы это сделали заранее. Помните строчку из настройки Airline, упоминавшую Xkb-switch? По дефолту наш статус бар показывает номер текущей раскладки, но (по крайней мере у меня) это заставляло скроллинг в Виме безбожно зависать вплоть до полной остановки работы, поэтому мы это просто отключили.

Теперь наш верный друг должен работать с разными раскладками как любой другой современный редактор. При переходе в режим вставки Xkb-switch будет переключать раскладку с английской, на последнюю, вами использованную и vice versa. Также он умеет автоматически адаптировать ваши сочетания клавиш под новые раскладки. Однако командный режим и режим замены снова за бортом.

Интегрируем дифференцируя

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


Размечтались.

Slime

Наверное, один из самых полезных плагинов для Емакса — это Slime. Суть его работы заключается в введении новой комбинации клавиш Ctrl-C-C, которой вы можете посылать куски кода в REPL вашего любимого языка программирования. Благо умельцы забрали это чудо к нам:

Теперь, когда вы выделите текст и настучите этот шорткат, Slime пойдёт искать терминал с работающим screens и спросит название вашей сессии и номер окна, после чего пошлёт в него ваш текст и исполнит. При желании, можете перенастроить её на работу с tmux и даже встроенным в Вим терминалом (да, в Виме есть терминал). Примеры перенастройки:

Jupyter

От посылочек с кодом в общем случае, давайте перейдём к более узкому. Jupyter — это бывший iPython, который предоставляет очень удобную консоль для исполнения питоновских команд с поддержкой рендера графиков и изображений в matplotlib. У него есть встроенный редактор notebook и чуть менее встроенный lab, но оба — довольно печальное зрелише.

Давайте сначала сгенерируем и настроим конфиг для… Нет, не для Вима, а для Jupyter:

Теперь найдите эту строчку

и раскомментируйте её, заменив False на True.

А теперь добавьте это в конфиг уже Вима для установки Jupyter-vim:

Теперь вы можете, открыв ваш код на Python (или на другом поддерживаемом языке), разбить его на блоки (начало блока обозначается символом ## или #%%) и подключиться к Jupyter. Для этого вам его нужно сначала запустить:

А в самом Виме вбить

Теперь по нажатию \X (если \ — ваш ) вы исполните в Jupyter блок кода, на котором у вас стоит курсор, а по нажатию \R вы прогоните весь файл. Больше сочетаний клавиш вы можете найти на сайте плагина.

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

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

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

LaTeX

Конечно, Вим можно использовать как средство написания кода, но он более универсален. Ответ «насколько» кроется в самом термине «текстовый редактор» — в нём можно редактировать текст (неожиданно, не так ли?). Это значит, что в нём можно написать курсовую или дипломную.

В чём пишут такие типы документов и, в принципе, научные работы? Правильно, в LaTeX! Конечно, этой технологии можно найти ещё море применений, но для всех них можно использовать наш программисткий блокнот. Поэтому давайте скачаем и установим Vimtex.

Теперь, если вы войдёте в файл с расширением .tex и введёте ll (или :VimtexCompile ), то у вас скомпилируется проект, предупреждения и ошибки отправятся в Quickfix и Location списки, а также откроется системный просмотрщик pdf.

Однако в MacOS её Preview не умеет автоматически обновлять документ при его изменении и на него приходится тыкать мышкой. В Линуксе очень любят программу Zathura, у которой схожие с Вимом элементы управления и есть возможность поменять цвета документа и элементов интерфейса, чтобы получить тёмную тему. Давайте её настроим:

Теперь попросим Vimtex использовать zathura по умолчанию:

С этого момента в Linux у вас должна по умолчанию открываться ваша новая программа для просмотра pdf. Однако в системе для любителей сорта макинтош такой важный функционал не завезли, поэтому вам придётся её запусткать ручками: сворачиваем Vim нажатием , вводим zathura имя_файла.pdf & и возращаемся в Вим — fg .

Если вы хотите такие же цвета, то добавьте эти строчки в

/.config/zathura/zathurarc (учтите, что это инвертирует даже в вложенные изображения)

Markdown

К сожалению, у LaTeX есть несколько небольших проблем. Он слишком комплексный для относительно простых задач и довольно медленно компилируется. Но наши мольбы об идеале услышали боги вёрстки и сотворили такую прекрасную вещь как Markdown.

Markdown (также известный как «та штука с гитхаба») — это очень простой язык разметки, который мановением волшебной палочки компилируется в HTML. Он очень удобен для написания больших текстов с незамысловатым форматированием (как эта статья). К счастью, фанатов у него много, поэтому и плагинов для Вима под него — море.

Давайте рассмотрим плагин Livedown. Его главная задача — представлять из себя vimtex для markdown. По сочетанию клавиш он открывает ваш файл в браузере и далее продолжает его обновлять при каждом сохранении исходников. Но сначала вам придётся установить Nodejs и пакет для него:

А это добавьте в конфиг:

Теперь при введении команды ld (или ваш вариант) вы можете включать плагин или выключать. Кстати, он также умеет отображать HTML файлы, но он всё ещё думает, что они на markdown написаны, так что ожидайте некоторые «странности» вёрстки.

Как уже упоминалось, плагинов для markdown в Виме — великое множество. Мне также довелось пощупать чудо по имени Markdown-preview. Он исполняет те же функции, что и Livedown, но умеет скроллить скомпилированный текст в зависимости от положения вашего курсора и закрывается при переключении буффера (а не по выходу из редактора). Мне лично он понравился меньше, но это уже вкусовщина.

Блиц раздел

Как и было обещано, мы рассмотрели некоторые важные аспекты рабочей среды, которые мы успешно (относительно) смогли связать с нашим любимым редактором. Насчёт других аспектов я с полной уверенностью говорить не могу, так как у меня с ними мало опыта, но на затравочку давайте пробежимся по некоторым интересным вещам:

Комментарии про отладку

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

Это не является минусом конкретно Vim, так как в том же Sublime Text дела обстоят не лучше. Хотя вам никто не мешает просто научиться ими пользоваться из консоли. Туториалов на эту тему полно, и сам процесс несложный.

Если вы заложник яблока, то используйте гайды для gdb, но сами туда подставляйте аналогичные команды из lldb с помощью этого сайта.

Уход за проектом

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

Про настройку проверки синтаксиса и непосредственного написания кода уже написано много статей, но могу посоветовать установить YouCompleteMe для автодополнения по табу, отключить у него проверку синтаксиса и поставить для неё Neomake:

Прыжки по тегам

У Вима есть встроенная комбинация клавиш , который позволяет вам перейти к имплементации выделенного термина. Однако для его работы нужны те самые тэги. Сгенерировать их можно терминальной командой ctags:

Если вам нужно перейти к объявлению этого термина, то вам поможет (у вас должен быть установлен YCM):

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

Асинхронные команды

Одним из недавних трендов программирования является асинхронность. Она позволяет одновременно выполнять несколько разных задач, но сама программа остаётся однопоточной.

Вим — однопоточная программа (ему можно, у него амбиции ниже). Поэтому, если на него слишком много плагинов, то он поползёт со скоростью улитки. Но начиная с версии 8 (ну и в NeoVim это тоже есть) в него добавили API для асинхронных вызовов. Теперь ваш линтер, работающий в реальном времени, не будет замедлять сам процесс редактирования текста.

Давайте в качестве нашего подопечного возьмём плагин AsyncRun. Он умеет запускать асинхронно терминальные программы как в Vim 8, так и в NeoVim (ну и всех их разновидностях).

Теперь по нажатию клавиши F3 вы будете прогонять рекурсивно в директории проекта ctags. Вы всегда можете посмотреть вывод запущенной через AsyncRun программы в окне Quickfix. Умышленно убить программу в заднем фоне можно с помощью команды AsyncStop .

Соответственно, вызывать zathura можно также асинхронно:

Интеграция с Git

Человечеством ещё не было придумано более удобного способа пользоваться Git, чем через терминал. Многие IDE пытались бороться с такой тенденцией, но либо упрощали процесс настолько, что терялись важные фичи, либо усложняли до безумия. Но для фанатов делать всё из-под Вим таки нашёлся плагин Fugitive, просто оборачивающий всеми любимые команды.

Однако, по аналогии с прошлым пунктом, можно пойти и дальше, добавив немного асинхронности. :Gfetch и :Gpush умеют пользоваться сторонними реализациями :Make , так что для нашей затеи вам понадобится лишь добавить эту строчку в свой конфиг:

Заключение

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

Надеюсь, что вы хорошо провели время, читая эту статью (написанную в NeoVim) и.

Ссылки на все плагины уже указаны в статье, но

  1. Мой конфиг, на котором основанна эта статья можно найти тут
  2. Ещё раз упомяну VimAwesome
  3. Также многие проблемы были решены пролистыванием Reddit
  4. В вики тоже много полезных лайфхаков для решения проблем без плагинов

Источник

Читайте также:  Как загрузить драйвер жесткого диска при установке windows 10
Оцените статью