dev

vim으로 git 커밋 메시지 작성하기 (feat. 50/72 규칙 적용하기)

Wonny (워니)
Wonny (워니)·2022년 07월 29일 03:30

git commit with vim 1

위 이미지처럼 vim으로 git 커밋 메시지를 작성하고, 50/72 규칙을 따르도록 하이라이팅을 설정할 수 있다.

git 커밋 메시지 에디터를 vim으로 설정하기

git config --global core.editor "vim"
  • git config
    • git 관련 설정을 조회하고 변경할 수 있는 명령어
  • --global
    • 특정 저장소가 아닌 전역 설정을 관리하는 옵션
    • 이 옵션을 사용하는 경우 특정 저장소의 .git/config 파일이 아닌 ~/.gitconfig 혹은 $XDG_CONFIG_HOME/git/config 파일을 조회하거나 변경함
  • core.editor
    • 메시지를 편집할 수 있는 commit 혹은 tag 등의 명령어가 사용하는 편집기에 대한 변수
    • 변수는 섹션과 키로 구성 (format: [섹션].[키])

위 명령어를 실행하는 경우 ~/.gitconfig 파일에 다음과 같은 설정이 추가된다.

[core]; editor = vim;

📌 git 커밋 메시지 에디터는 환경 변수 $GIT_EDITOR 값이 있으면 $GIT_EDITOR를 사용하고, 없는 경우에 core.editor에 설정된 값을 사용한다. 만일 core.editor 값도 없는 경우 $VISUAL, $EDITOR, 컴파일 시 선택한 기본값(일반적으로 vi) 순으로 사용한다.

vim에 50/72 규칙을 위한 하이라이팅 설정하기

syntax on highlight OverLength ctermbg=darkred ctermfg=white guibg=#FFD9D9 match OverLength /\%>72v.\+/
  • syntax on
    • 문법에 따른 하이라이팅 효과 적용 설정
    • 이 설정을 추가하는 경우 vim에서 커밋 메시지 작성 시 다음과 같은 규칙이 적용된다.
      • 커밋 메시지인 첫 번째 줄이 50자를 넘는 경우 초과한 글자들의 색이 바뀐다.
      • 커밋 메시지와 설명 사이는 한 줄 띄어둬야 하므로 커밋 메시지 바로 다음 줄에 텍스트를 입력하는 경우 배경색이 변경된다.
  • highlight OverLength ctermbg=darkred ctermfg=white guibg=#FFD9D9 / match OverLength /\%>72v.\+/
    • 한 줄에 72자가 넘어가는 경우 하이라이팅 해주기 위한 설정
    • 단, 이 설정을 적용하면 vim을 사용할 때 어떤 파일이든 한 줄에 72자가 넘어가는 경우에 하이라이팅된다. git 커밋 메시지를 작성하는 경우에만 하이라이팅하는 방법을 못 찾았다. 😭

References


dev
git
vim
© 2020 Wonny.