【Python 환경 정비】탈 NeoBundle. 매우 편리한 보완 플러그인 jedi-vim의 환경을 dein으로 정돈해 쾌적하게 되는 설정까지 한다

jedi-vim 설정에 대한 기사는 많지만 NeoBundle이나 neocomplete와 맞춘 설정 기사뿐이었으므로 dein.vim 버전을 씁니다.

개요


  • jedi-vim 설정은 NeoBudle 대신 dein.vim에서 수행
  • jedi-vim을 저장할 때 팝업을 표시하지 않도록 설정
  • .을 치는 순간에 보완하는 중지
  • neovim으로 편안하게 Python 프로그래밍 가능

  • 환경




    품목
    버전


    OS
    OS X Yosemite

    파이썬
    Python2.7.10

    neovim
    NVIM 0.1.4


    jedi-vim 소개



    dein.vim에서 vim plugin 관리을 참조하여 dein_lazy.toml에 jedi-vim 설정을 작성했습니다.

    최소 설정



    최소한의 설정이 좋다고 하는 분은 이쪽의 설정을 복사해 주세요. 개요대로 팝업이나 자동 보완을 없애고 싶은 분은 바라 보는 것만으로 두십시오.
    조금 잡담이지만 플러그인 설치 후 설정 파일을 다시 작성해도 설정이 반영되지 않아 곤란합니다. 누군가를 아는 분이라면 가르쳐 주시면 다행입니다. 현재는 플러그인 설정을 다시 쓸 때마다 플러그인 본체를 지우고 재설치하고 있습니다 (;_;)

    dein_lazy.toml
    [[plugins]]
    repo = 'davidhalter/jedi-vim'
    on_ft = 'python'
    

    이 설정을 작성한 후 hogehoge.py를 neovim에서 열면 jedi-vim 설치가 시작될 것이라고 생각합니다.
    :h jedi라든지 제대로 help가 표시되면 설치할 수 있다는 것입니다.
    이 설정에서도 충분히 편리하다고 생각합니다.
    단지, 조금 불편하다고 느끼는 케이스가 있어, 간단한 코드로 설명합니다.

    test.py
    import pandas as pd
    
    list. #この補完はすぐさま候補がでてきて嬉しい
    
    pd. #pandasなどだと補完候補を提示してくるまですごく時間がかかってストレス
    

    Pandas를 사용하는 경우가 많기 때문에 어떻게 하고 싶다고 하는 것으로, 보완은 자동이 아니라 자신의 타이밍으로 개시하도록(듯이) 하고 싶었습니다. 그리고 최소한의 설정이라면 보완 후보를 이동할 때마다 화면 상반부에 그 후보의 설명문(영어)이 표시됩니다. 솔직히 보지 않는다고 생각했기 때문에 이것도 지우고 싶습니다.
    최소한의 설정 후에는 이런 느낌이 됩니다.


    빨간색 테두리 안이 팝업입니다.



    numpy라든지의 보완도 꽤 걸립니다.
    pandas [B] 라는 사람은 deoplete에 의한 보완 후보입니다. 파일에서 기존 단어가 후보로 나옵니다.

    팝업 없음. 자동 완성 없음 설정



    오리지널 리포지토리davidhalter/jedi-vim의 README를 참고로 설정해 보았습니다.

    dein_lazy.toml
    [[plugins]]
    repo = 'davidhalter/jedi-vim'
    on_ft = 'python'
    hook_add = '''
      let g:jedi#use_tabs_not_buffers = 1 #補完で次の候補に進むときにtabを使えるという設定にしたつもりですができませんでした。
      let g:jedi#popup_select_first = 0 #1個目の候補が入力されるっていう設定を解除
      let g:jedi#popup_on_dot = 0 # .を入力すると補完が始まるという設定を解除
      let g:jedi#goto_command = "<leader>d"
      let g:jedi#goto_assignments_command = "<leader>g"
      let g:jedi#goto_definitions_command = ""
      let g:jedi#documentation_command = "K"
      let g:jedi#usages_command = "<leader>n"
      let g:jedi#rename_command = "<leader>R" #quick-runと競合しないように大文字Rに変更. READMEだと<leader>r
      autocmd FileType python setlocal completeopt-=preview #ポップアップを表示しない
    '''
    

    이 설정을 작성한 후 적절한 파이썬 파일을 열면 설치가 시작됩니다.
    보완하고 싶은 타이밍에 (컨트롤 + 스페이스)를 입력하면 보완 후보가 표시되도록 했습니다.
    팝업도 더 이상 표시되지 않습니다.

    ↓이런 느낌↓


    pd.rea 까지 입력하고 나서 를 누르면 이렇게 되어 이미지입니다.
    팝업도 나오지 않았고, 도중까지 치고 후보수가 줄어들기 때문인지 별로 기다리지 않았습니다.

    보통 Vim을 사용했을 무렵에는 최소한 밖에 설정하지 않았고, 매회 pd.에서 기다리고 있어 고통이었습니다만 이번에 해소할 수 있어서 좋았습니다.
    jedi-vim을 사용하고 있어, 자동 보완에 고민하고 있는 분, 읽어도 하지 않는 팝업으로 편집 화면이 흔들리고 곤란하고 있는 분은 꼭 해 보세요.

    참고



    dein.vim에서 vim plugin 관리

    davidhalter/jedi-vim

    [vim] python 완성 플러그인 "jedi-vim"을 편안하게하는 방법 (jedi-vim + neocomplete)

    좋은 웹페이지 즐겨찾기