Как стать автором
Обновить

Начало перехода на темную сторону силы

Всем привет! В этой статье я буду описывать процесс, от установки 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, в нем можете задать вопрос туда, там скорее всего вам ответят.

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.