>  기사  >  백엔드 개발  >  Vim에서 Python을 작성하는 모범 사례

Vim에서 Python을 작성하는 모범 사례

高洛峰
高洛峰원래의
2017-02-09 10:56:111603검색

먼저 사진을 게시해 보겠습니다.

用 Vim 写 Python 的最佳实践

일부 소규모 Python 프로젝트의 경우 vim을 사용하는 것이 좋습니다. 이 기사의 내용은 Zhihu에 대한 내 답변을 편집한 것입니다. Vim에서 Python을 작성하는 가장 좋은 방법은 무엇입니까? , 다음 콘텐츠는 Zhihu의 이전 답변, 특히 주로 vim8에 중점을 둔 답변에 대한 보충 자료입니다. 더 많은 콘텐츠를 원하시면 이 질문에 대한 Zhihu의 답변 중 일부를 확인하실 수 있습니다.

구문 검사

vim8을 사용하면 구문 검사 대신 비동기 감지 w0rp/ale을 사용할 수 있습니다. 더 이상 flycheck를 부러워할 필요도 없고 구문 검사로 인해 막힐 필요도 없습니다. .

에일의 개인화 구성은 사실 좀 까다롭습니다. 일반적으로 기본을 사용해도 충분하지만 저는 화려한 것을 좋아해서 한번 시도해 보았습니다. 관련된 내용은 매우 자세할 수 있습니다. space-vim: 구문 검사를 직접 보면 일반 구성을 이해할 수 있습니다. 주요 목적은 ale에서 제공하는 상태 표시줄 콘텐츠를 다시 추출하여 표시하는 것입니다. 구문 오류가 없으면 상태 표시줄에 표시되지 않습니다. 경고나 오류가 있으면 다른 색상으로 구분할 수 있습니다.

用 Vim 写 Python 的最佳实践

用 Vim 写 Python 的最佳实践구문 향상

vim의 Python 내장 강조 기능이 약간 약하고 self도 강조 표시되지 않습니다. me Up, 이것은 python-mode/python-mode를 통해 향상될 수 있습니다: 用 Vim 写 Python 的最佳实践

    hi pythonSelf            ctermfg=174 guifg=#6094DB cterm=bold gui=bold
자세한 내용은 여기에서 space-vim을 볼 수 있습니다: python 레이어

python의 구문/python.vim에서 -mode 여기서는 vim에 포함된 Syntax/python.vim보다 더 자세한 하이라이트 그룹을 볼 수 있습니다. 색상표에 따라 하이라이트 스타일을 수정하면 됩니다. 이것은 터미널 256 색상 비교 차트입니다. 256 터미널 색상 및 이에 상응하는 24비트(또는 유사)입니다. 이것은 GUI 색상 비교 차트입니다. 완전한 HTML 트루 컬러 차트입니다.

이것의 장점은 원하는 효과를 완전히 사용자 정의할 수 있다는 점이지만, 모든 Vim 테마에 적합하지 않을 수 있다는 단점도 있습니다. 테마를 전환하면 이러한 Python 사용자 정의 하이라이트가 약간 맞지 않을 수 있습니다. 인기 있는 vim 테마만 따져봐도 두 자리 수는 있을 것 같은데, 쿨톤도 있고, 웜톤도 있고, 파란색이 주를 이루는 색상도 있고, 다재다능한 색상도 찾기 쉽지 않을 것 같습니다. 하지만 모두가 좋아하는 테마가 몇 개 밖에 없을 수도 있으니 직접 선택하세요...

사실 python-mode는 vim을 사용하여 python을 작성하는 많은 기능을 포함하는 약간의 걸작입니다. 관심이 있으신 분은 "한 번의 움직임으로 세계를 정복"하는 데 활용해 볼 수 있습니다. 하지만 지금은 이 부분만 마음에 든다.

코드 형식 지정

yapf를 설치한 후

에서 현재 파일 형식을 다음과 같이 지정할 수 있습니다.

autocmd FileType python nnoremap <LocalLeader>= :0,$!yapf<CR>

자동 완성

저는 주로 vim을 사용하기 때문에 YouCompleteMe를 사용합니다. 실제 백엔드는 앞서 언급한 jedi-vim을 사용합니다. ycmd를 사용하는 사람들은 deoplete를 사용해 보세요.<LocalLeader>=

가져오기 정렬

다양한 가져오기가 좀 지저분하지 않나요? timothycrosley/isort를 사용하여 정리하세요:

autocmd FileType python nnoremap <LocalLeader>i :!isort %<CR><CR>
원클릭 작업

이것은 skywind3000/asyncrun.vim을 통해 향상될 수 있습니다. 실제로 이전

으로 바꾸세요. , 여전히 주의해야 할 몇 가지 작은 사항이 있습니다.

많은 사람들의 원클릭 작업은 다음과 같습니다.

...
exec "!g++ % -o %<"
exec "!time ./%<"
...
!위의 AsyncRun!

으로 직접 바꿀 수 있나요? 대답은 '아니요'입니다. 이전 효과를 얻으려면 다음과 같아야 합니다.

exec "AsyncRun! g++ -stdc++11 % -o %<; time ./%<"

여러 명령을 연결하려면 세미콜론을 사용하고(linux) 여러 명령을 연결하려면 &를 사용하세요. 여기.

!구체적이고 완전한 vim 구성은 여기 있습니다: >>> space-vim (글이 좋다고 생각하시면 github에 가서 별점을 주셔도 됩니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.