개요
VIM으로 Python 개발 시 사용하는 PyMode
, NERDTree
등의 단축키를 정리하여 공유한다.
Jedi
Ctrl
+Space
: 자동완성leader
+g
: code로 jumpleader
+d
: definition으로 jumpshift
+K
: 관련 PyDoc 출력leader
+n
: usage search:Pyimport OS
: 파이썬 패키지 소스코드로 이동
PyMode
Ctrl
+c
->g
: 코드 jumpshift
+K
: Document\
+r
: 파이썬 코드 실행Ctrl
+c
->rd
: documentationCtrl
+c
->ro
: organize importCtrl
+c
->rr
: refactoring rename\
+n
: usage
NERDTree
NerdTree는 트리구조로 현재 디렉토리 기준 파일 리스트를 File Explorer형식으로 보여주는 플러그인이다.
아래와 같이 Trigger한다.
o
: open in prev windowgo
: previewt
: open in new tabT
: open in new tab silentlyi
: open splits
: open vsplitcd
: 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 해주는 플러그인이다.
def
나 class
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에 위치하고 ysiw"
입력 하면 아래로 바뀜
반대로 없앨때는 ds"
Tagbar
:Tagbar
입력
북마크
북마크 하기
사용시에는 대문자 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
리사이즈를 아래와 같이 수행하면 된다.