developer tip

Python 용 Vim 설정

optionbox 2020. 12. 7. 08:03
반응형

Python 용 Vim 설정


예를 들어 이와 같은 것이 있다면 똑똑한 탭이기 때문에 Python 용 Emacs 편집기를 정말 좋아합니다.

def foo():
    if bar:
         blah
         [b]eep

커서 (경고음의 b에 있음)에서 탭을 누르면 구문 오류를 일으키는 새 탭이 삽입되지 않지만 경고음이 울릴 수있는 수준을 전환합니다. 어쨌든 Vim에서이 효과를 얻을 수 있습니까?


일반적으로 vim은 매우 강력한 일반 언어 편집기입니다 (매크로는 이것을 확장하지만 지금은 무시하겠습니다). 이는 vim이 ed 위에 얇은 레이어이고 ed는 정규식을 말하는 라인 편집기에 지나지 않기 때문입니다. Emacs는 ELisp 위에 구축된다는 장점이 있습니다. 복잡한 문법을 ​​쉽게 구문 분석하고 위에서 공유 한 것과 같은 들여 쓰기 트릭을 수행 할 수있는 기능을 제공합니다.

솔직히 말해서, 내 vim 동굴에서 명상하는 것만으로도 즐겁기 때문에 emacs의 깊이로 뛰어들 수 없었습니다. 그 말로 시작합시다.

시작하기

야누스

초보자 에게는 기성품 Janus 플러그인 (fwiw, 이름은 Janus Vim이 등장하는 Star Trek 에피소드에서 따옴)을 설치하는 것이 좋습니다 . vim IDE에 대한 빠른 바로 가기를 원하면 비용에 가장 적합한 방법입니다.

나는 그것을 많이 사용한 적이 없지만 다른 사람들이 즐겁게 사용하는 것을 보았고 현재 설정은 오래된 Janus 빌드에서 많이 빌려 왔습니다.

Vim 병원체

그렇지 않으면 스스로 탐험 해보세요! vim 플러그인의 세계를보고 싶다면 vim 병원체를 설치하는 것이 좋습니다 .

일종의 패키지 관리자입니다. 일단 설치하면 디렉토리에 git clone패키지화 할 수 있으며 ~/.vim/bundle자동 설치됩니다. 더 이상 플러그인 설치, 유지 관리 또는 제거 문제가 없습니다!

GitHub 페이지에서 다음 스크립트를 실행하여 병원체를 설치할 수 있습니다.

mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -so ~/.vim/autoload/pathogen.vim \
    https://raw.github.com/tpope/vim-pathogen/HEAD/autoload/pathogen.vim

유용한 링크

내가 발견하고 즐겼던 vim 확장에 대한 링크는 다음과 같습니다.


2013 년 여름 경에 도착한 사람들을 위해이 스레드 중 일부는 구식이라고 생각합니다.

나는 병원체보다 Vundle을 추천하는 이 하우투따랐다 . 하루 사용 후 플러그인 설치가 사소하다는 것을 알았습니다.

klen / python-mode 플러그인은 특별한 언급이 필요합니다. 그것은 다른 기능들 중에서 pyflakes와 pylint를 제공합니다.

저는 Valloric / YouCompleteMe를 막 사용하기 시작했고 그것을 좋아합니다. C-lang 자동 완성 기능이 있으며 python은 jedi 통합 덕분에 훌륭하게 작동합니다. 이 토론에 따라 jedi-vim을 대체 할 수 있습니다. / davidhalter / jedi-vim / issues / 119

마지막으로 제공된 / carlhuda / janus 플러그인을 탐색하는 것은 NerdTree, vim-fugitive, syntastic, powerline, ack.vim, snipmate ...와 같이 찾고 있는지 모를 수있는 유용한 스크립트에 대한 좋은 가이드입니다.

위의 모든 '{} / {}'는 github에서 찾을 수 있으며 Google에서 쉽게 찾을 수 있습니다.


다음을 귀하의 .vimrc

autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
autocmd BufRead *.py set nocindent
autocmd BufWritePre *.py normal m`:%s/\s\+$//e ``
filetype plugin indent on

자세한 지침을 참조하십시오.

저는 개인적으로 복잡한 작업을 수행 할 때 IdeaVIM 플러그인 과 함께 JetBrain의 PyCharm사용 하여 추가 항목을 간단하게 편집하여 충분 보입니다..vimrc


Python 개발을위한 Vim 플러그인 모음이 번들로 제공됩니다. http://www.vim.org/scripts/script.php?script_id=3770


Linux에서 저에게 도움이 된 것은 John Anderson의 (sontek) 가이드였으며이 링크에서 찾을 수 있습니다 . 그러나 나는 속이고 그의 Git repostiory에서 그의 쉬운 구성 설정을 사용했습니다.

git clone -b vim https://github.com/sontek/dotfiles.git

cd dotfiles

./install.sh vim

그의 구성은 오늘 현재 상당히 최신 상태입니다.


다시 : 죽은 "Vim을 최신 Python IDE로 전환"링크, 2013 년에 사본을 저장했습니다.이 사본을 PDF 사본과 함께 HTML 페이지로 변환했습니다.

http://persagen.com/files/misc/Turning_vim_into_a_modern_Python_IDE.html

http://persagen.com/files/misc/Turning_vim_into_a_modern_Python_IDE.pdf

Edit (Sep 08, 2017) updated URLs.


Some time ago I installed Valloric/YouCompleteMe and I find it really awesome. It provides you completion for file paths, function names, methods, variable names... Together with davidhalter/jedi-vim it makes vim great for python programming (the only thing missing now is a linter).


A very good plugin management system to use. The included vimrc file is good enough for python programming and can be easily configured to your needs. See http://spf13.com/project/spf13-vim/

참고URL : https://stackoverflow.com/questions/9172802/setting-up-vim-for-python

반응형