В этой статье-заметке рассмотрю ещё один менеджер плагинов - PlugVim.
И с помощью него установлю обозреватель файловой системы для Vim - NERDTree. И Vim-devicons - добавляет значки типов файлов в плагины Vim, такие как: NERDTree, vim-airlines, CtrlP, unite, Denite, lightline, vim-startify и многие другие.
Зачем ещё один менеджер плагинов? Я бы и сам не ставил столько если бы все плагины запускались с любого менеджера, но это не так. Не всегда плагины могут корректно установиться через Vundle например, а в другом менеджере всё норм. Не знаю почему, не разбирался, но если это работает, то я не лезу 😄
Например, в прошлой статье плагин vim-css-color устанавливал с помощью minpac, так как ни с Vundle ни с PlugVim он не запустился.
Установка PlugVim происходит аналогично менеджерам, которые уже рассматривали. Скопируйте и вставьте в консоль код ниже.
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
Если последовали моему предложению из прошлой статьи по разделению кода конфигурационного файла .vimrc на отдельный файлы, то в папке vimconfig создайте файл plug-vim.vimrc и вставьте код ниже:
plug#begin('~/.vim/plugged')
" Плагины
call plug#end()
Импортируйте файл plug-vim.vimrc в main.vimrc.
PlugVim установлен можно добавлять плагины.
В файле plug-vim.vimrc ниже закоментированной строки " Плагины добавьте код ниже:
Plug 'preservim/nerdtree' " дерево каталогов
Plug 'ryanoasis/vim-devicons' " стилизация для разного типа файлов и другого интерефейс
Сохраните и примените настройки, или просто перезайдите в Vim.
Для установки плагинов с помощью PlugVim введите команду в Vim :PlugInstall. Появиться окно состояния установки, убедитесь что записанные в plug-vim.vimrc плагины есть в списке и стоит метка Already installed.
Под настроим установленные плагины.
NERDTree.
В папке vimconfig создайте файл nerdtree.vimrc, и сразу импортируйте его в main.vimrc, как делали до этого. (source /полный/путь/до/файла/nerdtree.vimrc)
Если вдруг не понятно что за файлы создаются и где, отправная точка применения метода разделения файлов описал в прошлой статье, в следующих статьях будет только такой подход к настройкам.
В nerdtree.vimrc вставьте код ниже:
autocmd vimenter * NERDTree " Старт nerdtree при запуске vim
nnoremap <C-t> :NERDTreeToggle<CR> " скрыть/открыть - Сtrl+t
NERDTree на минималках настроен.
Vim-devicons.
В папке vimconfig создайте файл devicons.vimrc и его импортируйте в главном файле main.vimrc. (source /полный путь до файла/devicons.vimrc).
И вставьте в файл код ниже:
" активирует плагин
let g:webdevicons_enable = 1
" активирует применение иконок для аирлайн
let g:airline_powerline_fonts = 1
" применяет соответсвующие иконки при закрытой диретории и октрытой
let g:DevIconsEnableFoldersOpenClose = 1
" включает подсветку значка директории с использованием точного соответствия
let g:NERDTreeHighlightFolders = 1
После всех действий по такой настройке в explorer должен выглядеть как-то так. На картинке ниже есть иконки, которых нет ни в одном шрифте, который может использовать плагин devicon.
Секрет других иконок тут только в том, что в шрифт можно добавить или заменить те, или иные значки шрифта на желаемый. Об этом расскажу в следующем посте. Если интересно - лайк)
Цвета для расширений файлов и каталогов можно задать так:
Это конечно уже вкусовщина пошла, но помимо приятного восприятия, постепенно получаешь контроль над всеми нюансами твоего индивидуального редактора кода.
На этом все :)
Если было интересно - подписывайся.
P.S. Пост долго висел не реализованным, времени очень мало уделять блогу, но мысли часто посещают что нужно продолжать. Это нужно в первую очередь для себя :) и возможно кому-то эти посты тоже пригодятся, так что - продолжение следует)
P.P.S Не давно открыл для себя глобальные плагины для vim а точнее для nvim - это LunarVim и NvChad. Это уже самодостаточные, расширяемые и быстрые оболочки типа как IDE. Поэтому смысл писать о настройке vim почти отпала, так как есть все готовое))
Я пользуюсь LunarVim и поэтому следующие посты будут уже опираясь на это расширение.