Neovim을 오랜만에 업데이트하면서 발생한 문제들과 해결 과정을 정리했습니다.
업데이트 과정
먼저 Homebrew를 통해 Neovim을 최신 버전(stable 0.10.2)으로 업데이트했습니다.
brew upgrade neovim brew info neovim
업데이트 후 이전 버전과 관련된 오류가 발생하여 다음과 같이 정리했습니다.
brew cleanup neovim brew autoremove
기존 플러그인도 완전히 제거합니다.
rm -rf ~/.vim/plugged rm -rf ~/.local/share/nvim
하지만 플러그인 재설치(:PlugInstall) 후 오류가 계속되었습니다.
:checkhealth
명령어로 확인해보니 환경변수 문제였습니다. echo $VIM으로 확인해보니 이전 버전인 /usr/local/Cellar/neovim/0.4.4/share/nvim을 가리키고 있었습니다.brew info neovim
으로 현재 설치된 버전을 확인하고 .zshenv에 올바른 경로를 설정했습니다.export VIM=/usr/local/Cellar/neovim/0.10.2_1/share/nvim
set modifiable
다음과 같은 오류가 발생했습니다:
paste: Error executing lua: vim/_editor.lua:0: Vim:E21: 바꿀 수 없음, 'modifiable'이 꺼져있습니다^@stack traceback:^@^ I[C]: in function 'nvim_put'^@^Ivim/_editor.lua: in function <vim/_editor.lua:0>
이는 현재 버퍼가 "modifiable" 속성이 꺼져 있는 상태에서 텍스트를 붙여넣으려고 할 때 발생하는 오류입니다.
:set modifiable
명령어로 해결할 수 있습니다.vim.lsp
모듈 설정
LSP 설정 및 설치
Neovim 0.10.2는 내장 LSP 클라이언트를 지원하지만, 이를 사용하기 위해서는 몇 가지 추가 설정이 필요합니다.
플러그인 설치
LSP 설정을 위해 가장 널리 사용되는
nvim-lspconfig
플러그인을 설치합니다. vim-plug를 사용하고 있으므로, .vimrc에 다음 내용을 추가합니다.call plug#begin('~/.vim/plugged') Plug 'neovim/nvim-lspconfig' call plug#end()
그리고 :PlugInstall 명령어로 플러그인을 설치합니다.
기본 LSP 설정 추가
init.vim에 다음과 같이 기본적인 LSP 설정을 추가합니다.
lua << EOF require('lspconfig').pyright.setup{} require('lspconfig').tsserver.setup{} EOF
init.vim의 위치는 다음 명령어로 확인할 수 있습니다.
:echo stdpath('config')