개요

VIM으로 Python 개발 시 사용하는 PyMode, NERDTree 등의 단축키를 정리하여 공유한다.

Jedi

  • Ctrl + Space : 자동완성
  • leader + g : code로 jump
  • leader + d : definition으로 jump
  • shift + K : 관련 PyDoc 출력
  • leader + n : usage search
  • :Pyimport OS : 파이썬 패키지 소스코드로 이동

PyMode

  • Ctrl + c -> g : 코드 jump
  • shift + K : Document
  • \ + r : 파이썬 코드 실행
  • Ctrl + c -> rd : documentation
  • Ctrl + c -> ro : organize import
  • Ctrl + c -> rr : refactoring rename
  • \ + n : usage

NERDTree

NerdTree는 트리구조로 현재 디렉토리 기준 파일 리스트를 File Explorer형식으로 보여주는 플러그인이다.

아래와 같이 Trigger한다.

: NERDTree
  • o : open in prev window
  • go : preview
  • t : open in new tab
  • T : open in new tab silently
  • i : open split
  • s : open vsplit
  • cd : pwd위치 바꾸기
  • C : 파일 브라우저에서 root 경로 바꾸기
  • q : NERDTree 종료
  • R : refresh

vim-gutter

vim-gutter는 git과의 Integration으로 HEAD 리비전 대비 바뀐 코드를 간단하게 표시해준다.

  • :GitGutterDisable : 비활성화
  • :GitGutterEnable : 활성화
  • [c : jump to prev change
  • ]c : jump to next change

fastfold

fastfold는 메서드/클래스 단위로 코드를 fold/unfold 할 수 있게 만드는 플러그인이다.

  • visual mode 에서 selection 후 zf
  • unfold는 zd

Pydocstring

Pydocstring은 파이썬에서 document를 손쉽게 할수 있는 주석을 Generation 해주는 플러그인이다.

defclass line에서 :Pydocstring

sonictemplate

soictemplate은 간단하게 예약어를 통해 코드 스니펫을 생성해내는 플러그인이다.

:Template 이후 Tab

airline

vim 하단에 passive로 statur bar 표시하는 플러그인이다. 알록달록한게 이뻐서 개발감성을 올려준다.

FZF-VIM

FZF-VIM을 파일검색/코드검색 등을 빠르게, Fuzzy하게 찾아주는 플러그인으로써 주요기능은 아래와 같다.

이중에서 쓸만하다고 생각되는 기능은 아래에서 소개한다.

Files

VIM에서 Fuzzy File Search를 해줌

  • ctrl + p or :Files : 파일 Fuzzy 검색

Buffers

  • Buffers : 버퍼 리스트

Ag 코드검색

  • Ag 패턴 : ag로 코드검색

Rg 코드검색

  • Rg 패턴 : RigGrep으로 코드검색

Lines 검색

  • Lines 쿼리 : 버퍼에서 line검색

히스토리

  • History : 입력한 커맨드 히스토리

Colors

  • colors : Syntax Highlight 색상선택

Surround

Hello World

커서를 Hello에 위치하고 ysiw" 입력 하면 아래로 바뀜

"Hello" World

반대로 없앨때는 ds"

Hello World

Tagbar

:Tagbar 입력

북마크

북마크 하기

:Bookmark 이름

사용시에는 대문자 B 입력

VI Window Split

  • Ctrl + W, S : 수평 Split
  • Ctrl + W, v : 수직 Split
  • Ctrl + W, Q : 창 하나 닫기
  • Ctrl + W, Ctrl+W : Window간 전환
  • Ctrl + W, J (xor K, H, L) : 인접한 창으로 전환

Window resize

리사이즈를 아래와 같이 수행하면 된다.

:resize 60
:vertical resize 60