vim 에서 python 개발을 위한 편집 Develop Tip

리눅스, 맥, 윈도우 등에서 파이썬 개발을 하는데 주로 PyCharm을 이용합니다.
문제는 그래픽 환경이 아니라 터미널 환경일 때에는 이 PyCharm을 이용하기 힘들다는 것입니다.

결국은 터미널 또는 docker 컨테이너에서 python 개발 시 VIM에서 사용할 만한 plugin 또는 IDE 등을 찾아보았는데,
일단은 다음의 것이 가장 알맞아 보입니다.
(일부 다른 IDE 설명이 있는데, 모두 VIM 7.x 버전이라 현재의 8.X 와는 차이가 있는 듯 합니다)

찾은 것은 다음 fisa vim config 라는 사이트의 내용입니다.

맥이나 리눅스에서 사용하는 방법은 간단합니다.

우선 필요 패키지 설치 방법입니다.

1) Ubuntu/Debian
sudo apt install curl vim exuberant-ctags git ack

혹시 ack 패키지가 없다면,

/etc/apt/sources.list 에서
deb http://archive.ubuntu.com/ubuntu bionic main
deb http://archive.ubuntu.com/ubuntu bionic-security main
deb http://archive.ubuntu.com/ubuntu bionic-updates main

와 같은 식으로 되어 있는지 확인하고

deb http://archive.ubuntu.com/ubuntu bionic main universe
deb http://archive.ubuntu.com/ubuntu bionic-security main universe
deb http://archive.ubuntu.com/ubuntu bionic-updates main universe
와 같이 universe 추가로 수정 후 설치


2) Mac
brew install vim ctags git ack

다음에는 필요 python package 입니다.

pip install pep8 flake8 pyflakes isort yapf
(시스템 파이썬에 설치하려면 sudo 를 앞에 붙입니다)

이제 ${HOME}/.vimrc 의 내용을 다음과 같이 넣어줍니다.

(기존에 이미 있었으면 .vimrc.org 로 변경)
mv ~/.vimrc ~/.vimrc.org
wget -O ~/.vimrc  https://raw.github.com/fisadev/fisa-vim-config/master/.vimrc 

위와 같이 하고 VIM을 처음 띄우면 필요한 설치를 마무리 하게 됩니다.

이제 파이썬 스크립트를 하나 열어보면,

위와 같이 열리는 것이 보입니다. 아직까지는 하단의 상태바가 하나 생긴것 빼고는 차이점을 모르겠군요.

자세한 상세 기능은 해당 사이트를 참조하시고, 다음은 간단히 파악한 것들입니다.

우선은 symantic sensitive help가 가능합니다. 오타의 오류를 많이 줄여 주겠네요..
(문제는 PyCharm 처럼 인덱싱 하는데 시간이 많이 안 걸릴까 하는 걱정이..)

 
,e 를 누르면 위와 같이 하단에 모든 하위폴더를 포함한 파이썬 파일목록이 나오고 대충 (퍼지) 입력하여 해당 파일을 열 수 있습니다.
엔터 대신 Control+t 를 눌러 탭으로 나오게 할 수 있습니다. 탭 사이의 이동은 Control+Shift Left / Right 또는 '-' 로 할 수 있습니다.

,g 키를 누르면 심볼을 찾아갈 수 있습니다.

,c 키를 눌러 vim 명령을 찾아 실행할 수 있습니다.

,f 키를 누르면 퍼지 검색이 가능합니다. "ctm=6" 라고만 검색해도 "current_time = 16"를 찾아줍니다.

,m 키를 누르면 최근에 열었던 파일 목록을 보여줍니다. 그 중에서 선택해서 열 수 있습니다.

,we ,wg, ,wc ,wf, ,wm 은 각각 ,e ,g ,c ,f ,m 과 동일하지만 해당 커서에 있는 내용을 검색을 하고 찾아오려고 시도합니다.


,d 를 누르면 해당 변수, 함수, 클래스 등이 선언된 부분으로 점프를 합니다. ,D 를 누르면 새로운 탭이 열리면서 해당 내용이 보여집니다.
,o 를 누르면 해당 변수, 함수, 클래스를 사용한 내용을 보여줍니다.

F4 키를 누르면 위와 같이 우측에 심볼이 나타나고 특정 심볼을 선택하여 이동할 수 있습니다. - 키를 눌러 이동가능합니다.

F2 키를 누르면 상단에 TODO, FIXME 등이 나타나고 해당 항목을 눌러 이동할 수 있습니다.

F3 키를 누르면 왼편에 파일 목록 트리가 보여지고 선택할 수 있습니다.

,wr 키를 누르면 커서에 있는 단어를 모든 하위 폴더에서 ack 명령으로 결과를 찾아옵니다. ,r 명령은 ack 검색을 위한 창이 보입니다.

또한 이 확장을 이용하면서 가장 좋은 점은, PEP8 또는 pylint 와 같은 툴을 이용하여 자동으로 파이썬의 잘못된 부분이나
코딩 규칙을 어긴 부분을 찾아 준다는 것입니다.
(예전 기억에 일반 VI로만 파이썬을 개발하기 시작하신 분들이 수없이 많은 typo 오류 등이 나중에 그대로 있었다는...
 진작 알았더라면 강제적으로라도 이 플러그인을 적용했을 텐데 말이지요.. TT)
에러/경고 확인 시점은 매 저장할 때 입니다.

위에서와 같이 kk 라는 변수를 선언한 곳이 없는데 사용하면 오류가 발생하는데, 돌려보지 않고도
잘 찾아주네요. 수정하고 저장하면 없어집니다.

PEP8에 따르면 class, def 등은 그 앞에 2줄의 공백라인을 꼭 넣어야 합니다.
위에는 함수 위에 한줄만 있기 때문에 한줄 더 넣으라는 경고입니다.

위에서 F3 을 열은 상태에서 파일을 선택하면 창이 분할 되면서 열리기도하고, ,m ,e 등에서 Control t 로 열면 탭으로 열리는데,
- 키를 눌러 탭 또는 분할 된 곳을 찾아 갈 수 있습니다.

이제 디버그만 빼고는 아주 만족스럽게 VIM 으로만 파이썬 개발이 가능하게 되었습니다.


어느 분께는 도움이 되셨기를..



핑백

  • [지훈현서] vim 에서 python 개발을 위한 편집 - DEVBLOG - 개발자 메타블로그 2019-02-23 23:21:27 #

    ... ; 개발자 메타블로그 Menu DEVBLOG 소개 2019년 2월 23일 / 미분류 [지훈현서] vim 에서 python 개발을 위한 편집 원문 링크 vim 에서 python 개발을 위한 편집 미리보기 리눅스, 맥, 윈도우 등에서 파이썬 개발을 하는데 주로 PyCharm을 이용합니다.문제는 그래픽 환경이 아니라 터미널 환경일 때에는 ... more

덧글

  • 수피아 2019/08/27 23:22 # 삭제 답글

    우연히 왔는데 좋은 정보 얻어 갑니다.
  • 지훈현서아빠 2019/08/28 04:01 #

    도움이 되셨다니 저의 보람입니다~ ^^
댓글 입력 영역

구글애드텍스트