Python용 Vim 자동완성

Fariba Laiq 2023년6월21일
  1. 파이썬용 빔
  2. Python용 Vim 자동완성
Python용 Vim 자동완성

Vi Improved의 줄임말인 Vim은 Python에서 개발 환경으로 자주 선호되는 강력한 텍스트 편집기입니다. 이 기사에서는 Vim과 Python용 자동 완성 기능을 살펴봅니다.

파이썬용 빔

Vim은 전 세계 개발자들에게 서비스를 제공해 왔으며, 끊임 없이 변화하는 기술 발전의 세계에서 상당히 훌륭한 위업입니다. Vim은 기능과 관련하여 특정 학파를 따르는 것으로 알려져 있으며, 이는 키보드의 효율성이라는 용어로만 가장 잘 설명할 수 있습니다.

즉, Vim은 펜과 종이를 가진 작가처럼 소프트웨어 개발자가 개발 중에 스크롤하거나 선택할 옵션을 찾아야 하는 것과 같은 수많은 다른 방해 요소에 의해 주의가 산만해지지 않고 코드를 효율적으로 작성할 수 있어야 한다는 아이디어를 기반으로 만들어졌습니다. . 개발자에게 키보드는 펜입니다.

Vim은 구조화된 명령 언어를 따르며 그 안에서 작동하는 것은 처음에는 위협적일 수 있습니다. Vim과 같이 산만하지 않은 환경에서 궁극적으로 프로그래밍 기술을 마스터하기 전에 익숙해져야 할 핵심 명령이 많이 있습니다.

그러나 명령은 논리적이고 이해하기 쉬운 스택에 존재하므로 훨씬 빨리 익숙해집니다.

빔의 기능

Vim과 Python은 강력한 조합을 이루며 많은 소프트웨어 개발자가 선호합니다.

Vim은 제공할 플러그인이 많은 IDE로 설정하기 쉽습니다. 이는 소프트웨어 개발자가 Vim을 사용자 지정하고 개발 요구에 가장 적합한 환경을 만드는 데 도움이 됩니다.

이 기사에서 Vim을 IDE로 가장 잘 활용하는 데 사용할 수 있는 모든 기능을 다룰 수는 없지만 실제로 가장 수요가 많은 기능 목록을 제공할 수 있습니다.

  1. 분할 레이아웃

    현재 파일 바로 아래에서 sp <파일 이름>을 사용하여 새 파일을 열 수 있습니다.

  2. 코드 폴딩

    현재 완전히 보기에 중요하지 않은 클래스나 메서드를 축소할 수 있습니다.

  3. 버퍼

    Vim은 버퍼를 사용하여 최근에 연 파일에 쉽게 액세스할 수 있도록 합니다. b <버퍼 이름 또는 번호>를 사용하여 파일을 열거나 ls를 사용하여 모든 버퍼를 나열하십시오.

  4. UTF-8 지원

    이 스크립트를 사용하여 Vim이 인코딩에 UTF-8을 사용하는지 확인할 수 있습니다. set encoding=utf-8.

  5. 불필요한 공백 표시

    Vim과 같은 편집기를 사용하면 개발할 때 추가 공백이 있을 수 있습니다. Vim이 이 공백에 플래그를 지정하여 쉽게 찾아 제거할 수 있습니다.

    au BufRead,BufNewFile *.py,*.pyw,*.c,*.h match BadWhitespace /\s\+$/
    
  6. 자동 들여쓰기

    Python이 개발 언어로 사용됨에 따라 들여쓰기는 개발 단계의 중요한 부분입니다. 자동 들여쓰기는 개발자가 추가 들여쓰기 또는 들여쓰기 없음으로 인한 오류에 대해 덜 걱정하도록 도와줍니다.

    때때로 메서드 정의가 한 줄보다 오래 지속되면 자동 들여쓰기가 작동하지 않습니다. 다음과 같이 indentpython.vim을 설정하여 이에 대응할 수 있습니다.

    Plugin 'vim-scripts/indentpython.vim'
    
  7. 구문 확인

    최신 IDE의 특징은 모든 개발 언어의 구문을 유지하는 능력입니다. 구문 플러그인을 추가하고 pep8 기능을 추가하기 위한 flake8을 추가하여 Vim에 대해 이를 설정할 수 있습니다.

    구문:

    Plugin 'vim-syntactic/syntactic
    

    플레이크8:

    Plugin 'nvie/vim-flake8' #adds pep8
    
  8. 펩8

    Vim에 대한 pep8 검사를 설정하여 코딩 표준을 계속 검토할 수 있습니다.

Python용 Vim 자동완성

Python에서 자동 완성 기능을 사용할 수 있도록 하는 최고의 플러그인은 YouCompleteMe입니다. YouCompleteMe가 작동하기 위해 Jedi와 같은 다양한 다른 자동 완성 기능을 사용하는 것은 사실이지만 최신 Python 버전에는 최고의 플러그인입니다.

Vundle을 사용하여 다음과 같이 환경에 설치하고 설정할 수 있습니다.

Bundle 'Valloric/YouCompleteMe'

모든 OS 유형에 대한 광범위한 문서에서 전체 설치 지침을 찾을 수 있습니다.

64비트 Linux 시스템에서 설정하는 방법은 다음과 같습니다.

  1. 다음 명령을 실행하여 모든 완료 패키지를 설치합니다. 다음 명령은 Vundle, CMake, Vim 및 Python을 통해 YCM 플러그인을 설치합니다. 이러한 패키지가 이미 설치되어 있으면 다시 설치되지 않습니다.

    apt install build-essential cmake vim-nox python3-dev
    
  2. 이제 다음 명령을 사용하여 mono-complete, go, node, java 및 npm을 설치합니다.

    apt install mono-complete golang nodejs default-jdk npm
    
  3. 이제 다음과 같이 YCM을 컴파일하기만 하면 됩니다.

    cd ~/.vim/bundle/YouCompleteMe
    python3 install.py --all
    

설치는 매우 간단하지만 다음과 같이 사용자 정의할 수 있습니다.

let g:ycm_autoclose_preview_window_after_completion=1
map <leader>g  :YcmCompleter GoToDefinitionElseDeclaration<CR>

이 스크립트는 자동 완성을 완료하면 창이 사라지고 스크립트의 두 번째 줄에 GoTo 정의에 대한 바로 가기가 만들어집니다.

작가: Fariba Laiq
Fariba Laiq avatar Fariba Laiq avatar

I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.

LinkedIn