macOS로 전환하고 나서 nvim
에 대한 플러그를 제대로 설정을 안해놔서 조금 수정을 했다.
.vimrc
의 설정을 그대로 nvim
에서 불러들이는 방식을 쓰는터라...
lua
로 갈아타야지 하면서, 여전히 vimscript
로만 처리하고 있다. (게으름....)
lua
가 정신없이 업데이트되던 시기는 아니라고 하지만, 설정이 자주 바뀌는건 좋아하지 않는 터라.
우선 code syntax highlight가 영 안되어서 가독성이 떨어지는 문제만 일단 해결하고 넘어감
nvim-treesitter
와gruvbox
를vim-plug
로 추가함.
nvim에서는 Lua 와 packer.vim을 쓰는 게 좋다고 하는데...
제대로 살펴볼 시간이 없네. ㅠㅠ
init.vim
현재의 ~/.config/nvim/init.vim 은 다음과 같음:
" Vim의 런타임 경로를 설정. ~/.vim과 ~/.vim/after 디렉토리를 포함.
set runtimepath^=~/.vim runtimepath+=~/.vim/after
" Vim의 패키지 경로를 런타임 경로와 동일하게 설정.
let &packpath = &runtimepath
" 기존의 .vimrc 파일을 적용시킴 (vim과 호환성).
source ~/.vimrc
" Vim 플러그인 관리자인 vim-plug를 사용하여 플러그인을 관리.
" ~/.config/nvim/init.vim 또는 init.lua 파일에 추가.
call plug#begin('~/.vim/plugged')
" nvim-treesitter 플러그인을 추가. 이는 트리시터 기반의 하이라이팅을 제공.
" 'do': ':TSUpdate'는 플러그인 설치 후 트리시터를 업데이트.
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
" gruvbox 컬러 테마를 추가.
Plug 'morhetz/gruvbox'
call plug#end()
" 배경을 어둡게 설정. 이는 gruvbox 테마와 좋은 궁합임.
set background=dark
" 설정된 테마를 적용.
colorscheme gruvbox
" Lua 코드 블록을 시작합니다. 이는 Neovim에서 Lua 스크립트를 실행할 수 있게 합니다.
lua << EOF
" nvim-treesitter의 설정을 구성합니다.
require'nvim-treesitter.configs'.setup {
" 트리시터 파서가 설치될 언어 목록을 지정합니다.
ensure_installed = {"python", "c", "cpp", "markdown"}, -- Python을 포함한 언어 설치
highlight = {
" 문법 하이라이팅을 활성화합니다.
enable = true,
" 추가적인 Vim 정규식 하이라이팅은 비활성화합니다.
additional_vim_regex_highlighting = false,
},
}
EOF
" 마우스 지원을 활성화.
set mouse=a
" 클립보드를 시스템 클립보드와 동기화.
set clipboard=unnamedplus
" 줄 번호를 표시합니다.
set nu
주요 참고사항:
Runtime Path
설정:- Vim의 런타임 경로와 패키지 경로를 설정하여
- 사용자 정의 설정을 포함.
runtimepath
:- vim에서 사용하는 script, plugin 등의 설정 파일들.
- vim이 시작할 때나
:source
명령으로 로드됨.
packpath
: (패키지패스)- vim 8 이후 도입된 패키지 관리시스템에서 사용됨.
pack/*/start
또는pack/*/opt
밑에 패키지(=plugin)를 로드할 때 이용되는 위치.- 패키지들이 놓이는 path를 의미함.
vim-plug
:- 가장 기본적인 Vim 플러그인 관리자를 사용하여
nvim-treesitter
와gruvbox
테마를 설치 및 관리.
- 테마 설정:
gruvbox
테마를 적용하고 배경을 어둡게 설정.
- lua 스크립트 부분
lua << EOF
와EOF
사이는 Lua 스크립트로 작성되는 부분임 :init.lua
가 아닌init.vim
에서 쓰려면 이 방법을 써야함.nvim-treesitter
설정:- 트리시터를 사용한 하이라이팅을 여러 언어에 대해 설정함.
- 편집 설정:
- 마우스 사용,
- 시스템 클립보드와의 통합,
- 줄 번호 표시 등의 기능을 활성화.
위의 설정은 패키지 관리시스템을 딱히 이용하고 있지는 않음:
모두 기본적인vim-plug
만 사용함.
참고사항
^=
: 맨앞에 추가.+=
: 맨뒤에 추가.Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
Plug
는 뒤에 놓이는 플러그인을 설치하라는 명령어임.{}
는 이 설치 task에 추가적인 옵션을 지정함.'do'
키는 설치 후 실행할 명령어임을 의미.':TSUpdate'
값은nvim-treesitter
플러그인의 명령어으로 트리시터 파서를 업데이트하라는 명령어임.
이후, Treesitter
의 실제 강조할 언어들에 대한 파서는 nvim을 실행 후 :TSInstall python
등으로 설치해준다.
- 최신 버전으로의 업데이트는
:TSUpdate python
과 같은 형태로 해주면 됨::TSUpdate all
을 해주면 설치된 모든 언어파서를 업데이트함. - 주의할 점은
TSInstall all
은 피할 것: 너무 많은 언어파서가 설치됨.
같이보면 좋은 자료
https://github.com/nvim-treesitter/nvim-treesitter
2024.01.01 - [utils] - [vim] Neovim 설치 : A Project that seeks to extend Vim.
'utils' 카테고리의 다른 글
[vim] 마우스 설정 (0) | 2025.01.20 |
---|---|
[vscode] gcc 사용한 C/C++ 프로젝트 환경 구축. (1) | 2025.01.19 |
[summary] vscode (0) | 2025.01.17 |
[vscode] Debug 사용법 요약: Python + launch.json (3) | 2024.10.09 |
[Utils] homebrew (0) | 2024.09.08 |