Vim으로 Python 코딩하기

JaeGu Jeong·2024년 2월 19일
post-thumbnail

목적

터미널환경에서 vim으로 파이선 코딩할 때 평소 VSCODE같은 IDE에 익숙해져 있다면 상대적인 불편함을 느낀다. 불편함을 없애보자.

pyls 설정

먼저 언어 서버 설치가 필요하다.

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
      }
    }
  }
}

coc.nvim 의존성 설치

이미 node와 yarn이 있다면 넘어간다.

brew install node yarn

vimrc 설정

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확장자 파일은 자동으로 적용된다.

python 버전 에러 발생

만약 위와 같이 버전 이슈가 발생한다면 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경로/원하는 명령어 이름" 이렇게 지정하면 바로 사용할 수 있다.

BackSpace키가 먹통일 때

vimrc 수정 후 기존 vim에서 잘 사용되다가 vim8이상으로 업그레이드하면서 BackSpace와 일부 키가 작동하지 않을 수 있다.
vimrc에 다음 내용을 추가한다.

set backspace=indent,eol,start
profile
BackEnd Developer

0개의 댓글