터미널환경에서 vim으로 파이선 코딩할 때 평소 VSCODE같은 IDE에 익숙해져 있다면 상대적인 불편함을 느낀다. 불편함을 없애보자.
먼저 언어 서버 설치가 필요하다.
pip3 install python-language-server
"~/.vim" 경로에 "coc-settings.json"파일을 만들고 다음 내용을 넣는다.
{
"languageserver": {
"python": {
"command": "python3",
"args": ["-m", "pyls"],
"filetypes": ["python"],
"settings": {
"python.analysis.typeshedPaths": ["./typeshed"],
"python.jediEnabled": false
}
}
}
}
이미 node와 yarn이 있다면 넘어간다.
brew install node yarn
vimrc파일에 다음과 같이 플러그인 설정을 한다.
만약 본인만의 기존 설정이 있다면 8번째 라인부터 보면 된다.
1 set cursorline
2 set nu
3 syntax on
4 set mouse=a
5 set clipboard=unnamed " use OS clipboard
6 set backspace=indent,eol,start
7
8 " vim-plug 플러그인 선언
9 call plug#begin('~/.vim/plugged')
10
11 " coc.nvim 추가
12 Plug 'neoclide/coc.nvim', {'branch': 'release'}
13
14 call plug#end()
15
16 inoremap <silent><expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"
17 let g:coc_config_home = $HOME . '/.vim'
":w"저장하고 ":PlugInstall"로 플러그인을 설치한다.
설치가 끝나고 터미널을 재시작하면 py확장자 파일은 자동으로 적용된다.

만약 위와 같이 버전 이슈가 발생한다면 vim이 python3 지원이 안되서일 가능성이 높다.
터미널에서 vim --version를 입력해서 패키지에 "-python3"만보이고 "+python3"나 "+python3/dyn"가 안보인다면 해당 문제가 맞다.
which vim
vim의 설치경로가 /usr/bin/vim이라면 맥 기본 내장 vim이라서 "+python3"를 지원하지 않는다. brew vim을 사용해야한다.
brew install vim
이제 터미널을 재시작하고 "+python3"가 있는지 확인한다. 안되면 vim에서 :PlugInstall을 한번더 해본다.
brew upgrade vim
그렇지 않다면 먼저 패키지매니저로 vim을 업데이트를 시도한다.
만약 brew에서 권한문제가 발생한다면 소유자와 폴더 권한을 현재 계정으로 변경한다.
sudo chown -R $(whoami) $(brew --prefix)/*
sudo chmod -R g+w $(brew --prefix)/*
brew upgrade vim을 다시 시도해준다.
그럼 터미널에서 "echo $PATH"를 하였을 때 우선순위가 일반적으로 brew의 bin이 우선순서에 있더라도
MacOS는 SIP라는 보안기능 때문에 "/usr/bin/vim"의 내장vim이 강제된다.
여기서 SIP를 조작하려면 전원을 끄고 부팅모드에서 작업해야 하기때문에 번거로울 수 있다.
그래서 대안은 "vim"대신 "vim2"라던지 본인이 원하는 명령어로 작동하도록 설정하는 것이다.
sudo ln -s /opt/homebrew/Cellar/vim/9.1.0100/bin/vim /opt/homebrew/bin/vim2
"sudo ln -s" + "brew로 설치한 vim위치" + "brew의 bin경로/원하는 명령어 이름" 이렇게 지정하면 바로 사용할 수 있다.
vimrc 수정 후 기존 vim에서 잘 사용되다가 vim8이상으로 업그레이드하면서 BackSpace와 일부 키가 작동하지 않을 수 있다.
vimrc에 다음 내용을 추가한다.
set backspace=indent,eol,start