dev
vim으로 git 커밋 메시지 작성하기 (feat. 50/72 규칙 적용하기)
Wonny (워니)·2022년 07월 29일 03:30
위 이미지처럼 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