Neovim, vim-plug 설정
작성일:
Neovim 설치 및 vim-plug 설정으로 개발, 운영 환경 구성
Neovim
- https://github.com/neovim/neovim
- Vim-fork focused on extensibility and usability
Neovim install
- 플랫폼 별 패키지 설치 방법
# macos
$ brew install nvim
# windows
$ choco install neovim
# linux (ubuntu)
$ sudo apt install neovim
# linux (centos)
$ sudo yum install neovim
vim-plug install
- Neovim 에 Plugin 지원을 위한 확장 툴 : vim 도 지원
- https://github.com/junegunn/vim-plug
vim의 Vumdle과 같은 Minimalist Vim Plugin Manager
Unix, Linux 설치 스크립트
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'
Windows (PowerShell) 설치 스크립트
iwr -useb https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim |`
ni "$(@($env:XDG_DATA_HOME, $env:LOCALAPPDATA)[$null -eq $env:XDG_DATA_HOME])/nvim-data/site/autoload/plug.vim" -Force
init.vim : 설정파일
- vim 의
.vimrc
에 해당하는 neovim 의 설정 파일 (하위 호환성) - 플러그인 정보:
call plug#begin
와call plug#end()
사이에 패키지 정의 - 설정 파일의 기본 경로
- Linux :
~/.config/nvim/init.vim
- Windows :
~\AppData\Local\nvim\init.vim
- Linux :
call plug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree'
Plug 'preservim/tagbar'
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'vim-airline/vim-airline'
Plug 'frazrepo/vim-rainbow'
call plug#end()
" .vimrc 설정 추가
...
.vimrc
설정 부분은 vim 과 동일
Plugin 설치
init.vim
파일에 Plugin 설치 정보 세팅 후:PlugInstall
명령으로 설치 (탭 자동완성 지원)
TIP:
Ctl + w + w
: 창 전환
주요 Plugin 리스트
preservim/nerdtree
- https://github.com/preservim/nerdtree
- A tree explorer plugin for vim
:NERDTreeToggle
명령으로 실행 (토글)nmap <F9> :NERDTreeToggle
: F9 Keymap
preservim/tagbar
- https://github.com/preservim/tagbar
- Vim plugin that displays tags in a window, ordered by scope
nmap <F8> :TagbarToggle
: F8 Keymap
- ctags 모듈 추가 설치 필요
# sudo apt install universal-ctags
# choco install universal-ctags
$ brew install universal-ctags
Xuyuanp/nerdtree-git-plugin
- https://github.com/Xuyuanp/nerdtree-git-plugin
- A plugin of NERDTree showing git status
vim-airline/vim-airline
- https://github.com/vim-airline/vim-airline
- lean & mean status/tabline for vim that’s light as air
frazrepo/vim-rainbow
- https://github.com/frazrepo/vim-rainbow
- Rainbow brackets for Vim
개인용 세팅
call plug#begin('~/.vim/plugged')
Plug 'preservim/nerdtree'
Plug 'preservim/tagbar'
Plug 'Xuyuanp/nerdtree-git-plugin'
Plug 'vim-airline/vim-airline'
Plug 'frazrepo/vim-rainbow'
Plug 'arcticicestudio/nord-vim'
Plug 'tpope/vim-fugitive'
call plug#end()
nmap <F9> :NERDTreeToggle
nmap <F8> :TagbarToggle
let g:rainbow_active = 1
colorscheme nord
" vim config
set ts=4
set shiftwidth=4
set autoindent
set cindent
set nu
set hlsearch
set showmatch
set noswapfile
set ruler
set laststatus=2
" set mouse=a
if has("syntax")
syntax on
endif
댓글남기기