VIM 코딩 필수 플러그인, indentLine 과 Black

VIM 사용시 추천하는 플러그인

앞의 Vundle 포스트에선 VIM에서 확장기능 관리 기능을 제공하는 Vundle을 살펴봤다. 쉽게 확장을 설치하고 업데이트 할 수 있는 능력이 생겼으니, 개인적으로 코딩에 추천하는 플러그인 목록을 살펴보고 이거다 싶은 건 골라서 설치해보자. 😊


IndentLine : 들여쓰기 기준선 표시

만약 VIM에서 코딩을 자주 하고 있다면, 그리고 Python과 같이 들여쓰기에 민감한 언어를 쓴다면 눈이 편해지는 IndentLine 확장을 설치해보자. 호불호가 갈릴 수 있겠지만, 절대 지나치거나 틀릴 수 없도록 들여쓰기 기준선을 명확하게 화면에 표시해준다.

들여쓰기 기준선은 아래 스크린샷 처럼 점선(¦)으로 표시되지만, 맘에들지 않는다면 .vimrc 파일에서 설정으로 좀 더 취향껏 꾸며볼 수도 있다. 단, ascii 문자 범위에 속하지 않은 아래 예시와 같은 글자를 기준선으로 사용하고자 할 경우에는 파일 인코딩이 UTF-8인 경우 가능하다.

" 가이드 지정
let g:indentLine_char = '¦'
" 또는 가이드 문자 목록 지정
let g:indentLine_char_list = ['|', '¦', '┆', '┊']
들여쓰기 가이드 적용 예 (출처:github.com/Yggdroot/indentLine)

black : 코드 포맷팅 자동화

코드 작성시 어떤 ‘형식‘을 선호하는지 혹은 따라야 하는지는 끝이 없는 토론 주제다. 개인마다 선호하는 괄호 표기법이 있고, 심지어는 연산자 주위의 공백 여부나, 갯수, 위치로도 의견이 갈린다. 상황이 이렇다 보니, 명확한 가이드나 대비책이 없이 다수가 함께 코딩하는 경우에는 줄 바꿈이나 공백 하나로도 지옥도가 펼쳐질 수 있다.

오랜 경험에 기반한 명확한 기준이 있고, 문서화까지 완료해 놨으며, 타인의 오류를 일일이 잡아줄 시간까지 있다면 너무나도 좋겠지만.. 현실은 그렇지 않다. 혼자 작성하는 코드에서도 명확한 기준 없이 손 가는대로 코딩하고 있다면, 속편하게 코드 포맷팅 자동화 도구 black을 고려해보자.

파이썬 파일에 black 스타일을 자동으로 적용하고자 한다면, .vimrc 파일에 다음 항목을 추가한다. 확장자가 .py인 파일은 black에 의해 자동 포매팅 된다.

augroup black_on_save
  autocmd!
  autocmd BufWritePre *.py Black
augroup end
  • 공식 문서 : https://black.readthedocs.io/en/stable
  • VIM 외 다른 에디터, Git action과 연동하기 : https://black.readthedocs.io/en/stable/integrations/index.html

blackVIM 플러그인 형태만이 아니라 로컬에 바이너리가 설치된 형태로 커맨드라인에서 직접 실행할 수 있다.

# black 설치
pip install --upgrade black
# 직접 실행
black FILENAME|DIR
# 파이썬 모듈 실행
python -m black FILENAME|DIR

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.