среда, 5 декабря 2018 г.

Модернизация редактора VIM

Текстовый редактор vim в особом представлении не нуждается.


Возраст его приближается к тридцатилетию, а редактор vi (на котором он основан), давно перевалил за 40.
Кто-то умеет выходить из vim перезагрузкой, кто-то использует его для редактирования конфигов, а кто-то каждый день пишет на нем код.

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


Плагинов создано великое множество, в основном конечно для добавления удобств и комфорта в процессе разработки.

К слову, кроме классического vim есть несколько форк-проектов. Отличаются они очищенной кодовой базой и субъективно более быстрой работой.
Самый известный из них это Neovim (https://neovim.io/)
Есть так же набирающий популярность дистрибутив SpaceVim (https://spacevim.org/).
Но мы пойдем другим путем, и на стандартный vim из репозиториев попробуем навесить несколько полезных плагинов.

Для начала нужно добавить менеджер плагинов. Их тоже существует почти десяток. Самый простой и легковестный - это vim-plug.
Устанавливается одной командой:
$ curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim


Тут можно заметить, что создается каталог внутри .vim и с гитхаба загружается файл plug.vim

Теперь можно начинаться пользоваться.
Для этого нужно в ~/.vimrc добавить конфиг менеджера, с указанием какие плагины нужно будет скачать и установить:
" Указываем каталог куда будут загружаться все плагины
" При этом нельзя использовать название каталога типа 'plugin'
call plug#begin('~/.vim/plugged')

" При подключении каждого плагина нужно убедиться, что используются одинарные кавычки
Plug 'scrooloose/nerdtree', { 'on':  'NERDTreeToggle' }
Plug 'pearofducks/ansible-vim'
Plug 'itchyny/lightline.vim'

" инициализируем систему плагинов
call plug#end()


Здесь мы хотим подключить плагины добавляющие боковое дерево файлов (nerdTree), работу с плейбуками ансибла (ansible-vim) и плагин меняющий нижний статусбар (lightline).

Осталось перезапустить vim и выполнить команду :PlugInstall

Плагины установлены, но их нужно настроить.

Настройка боковой панели.
Дописать в ~/.vimrc
map <C-n> :NERDTreeToggle<CR>

Тем самым по Ctrl+N будет открываться и закрываться панель.
При желании можно сделать чтобы при любом запуске vim открывалась сразу и панель, но это не всегда удобно.

Настройка статусбара.
Добавить в ~/.vimrc
set laststatus=2


Настройка цветовой схемы.
Их тоже множество как и плагинов, но одна из самых комфортных для глаз - это solarized.
$ mkdir ~/.vim/colors
$ cd ~/.vim/colors/
$ wget https://raw.githubusercontent.com/altercation/vim-colors-solarized/master/colors/solarized.vim

Теперь нужно включить тему
$ vim ~/.vimrc

syntax enable
set background=dark
colorscheme solarized


Что в итоге?


Потратив совсем немного времени можно на порядок повысить уровень комфорта в текстовом редакторе vim.
Некоторые читатели могут заметить, что на каждом сервере vim не настроить, и зачем мол привыкать к такому окружению если постоянно приходится подключаться на удаленные серверы где будет в худшем случае только vi, либо в лучшем случае чистый vim.
Здесь можно привести несколько аргументов.
Во-первых на своей рабочей станции может выполнятся большая часть работы по написанию какого-либо кода (скрипты, ansible и что угодно), ну а если нужно поработать в редакторе без дополнительных обвесов, то переучиваться не нужно, просто не будет некоторого количества удобств.
Так же стоит напомнить, что в IT в последние годы наблюдается ситуация ухода от непосредственного взаимодействия с хостами вручную, происходит постепенный переход на различные системы управления конфигурациями.

Комментариев нет:

Отправить комментарий