Всем привет! В этой статье я буду описывать процесс, от установки nvim до готового минимального конфига.
Установка
github на котором лежит инструкция по установке nvim на любую ОС.
macOS/OSX
brew install neovim
Arch Linux
sudo pacman -S neovim
Debian
sudo apt-get install neovim
Ubuntu
sudo apt install neovim
Fedora
sudo dnf install -y neovim python3-neovim
Настройка nvim
В самом начале следует выбрать язык на котором будет написан конфиг. Есть 2 языка на которых пишут конфиг для nvim-a, это Lua и VimScript. В силу своей сложности конфиг написанный на Lua трудно модифицируется без опыта написания подобных конфигов, поэтому конфиг будет написан на VimScript. VimScript легок в освоении и конфиги легко модифируются.
Конфиг nvim будет храниться в файле - init.vim на пути ~/.config/nvim.
cd
mkdir ~/.config/nvim
cd ~/.config/nvim
touch init.vim
Откройте init.vim .
Системные настройки:
syntax on
set number
set mouse=a " enable mouse
set encoding=utf-8 " кодировка
set noswapfile " указание на то, чтобы не генерить swapfile
set scrolloff=7
set tabstop=4 " 1 tab = 4 space
set autoindent " копмирование текущих отступов при переходе на новую строку
set fileformat=unix
filetype indent on " load filetype-specific indent files
Так, а теперь следует сделать nvim более привлекательным, нужно добавить плагинов, а значит нужен менеджер плагинов, я буду использовать vim-plug(есть много других менеджеров плагинов, например vundle, отличий практически нету).
Установка vim-plug(https://github.com/junegunn/vim-plug):
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
Во второй части конфига есть coc.nvim(https://github.com/neoclide/coc.nvim), он требует наличия Node на компьютере.
Часть конфига с плагинами:
call plug#begin()
" Тема для NVIM
Plug 'sonph/onehalf', { 'rtp': 'vim' }
" файловый мененджер.
Plug 'preservim/nerdtree'
" плагин для отображения статуса работы
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
"Plug 'tamton-aquib/staline.nvim'
"Plug 'https://github.com/adelarsq/neoline.vim'
" поддержка языков
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'python-mode/python-mode', { 'for': 'python', 'branch': 'develop' }
call plug#end()
" Start NERDTree and leave the cursor in it.
autocmd VimEnter * NERDTree
colorscheme onehalfdark
let g:airline_theme='onehalfdark'
" lightline
" let g:lightline = { 'colorscheme': 'onehalfdark' }
Для установки всех плагинов нужно ввести команду - :PlugInstall, тогда все плагины будут установлены и после этого нужно перезапустить редактор, чтобы изменения вступили в силу.
Для установки LSP сервера для Python, С++, Rust следует ввести следующие команды.
:CocInstall coc-pyright
:CocInstall coc-clangd
:CocInstall coc-rust-analyzer
На этом у меня все.
Если после этой статьи у вас остались вопросы, то есть чат - https://t.me/rust_tools, в нем можете задать вопрос туда, там скорее всего вам ответят.