Pull to refresh

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

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

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.