Vim에서 긴 Git 커밋 메시지를 자동으로 래핑
Git을 사용하는 제 커밋 편집기는 Vim입니다. 나는 줄 바꿈을 기억하는 일을 끊임없이 잘하고 있으므로 긴 줄 이 생깁니다 ( 예를 들어이 답변 참조 ). 몇 가지 사용 방법이 git config
나 .vimrc
내가 빔이 자동으로 72 열에서 줄 바꿈 얻을 수있는 마법은?
이것을 당신의 .vimrc
:
au FileType gitcommit setlocal tw=72
다른 답변은이 문제를 완벽하게 해결하지만 Tim Pope의 fugitive.vim 을 설치하는 것이 좋습니다 .
fugitive.vim은 Vim에 Git 기능을 제공하는 훌륭한 플러그인입니다. 질문과 관련이 없지만 확인해 볼만한 기능이 많이 있습니다. 그러나 커밋 메시지를 적절한 길이로 유지하는 것을 기억하는데도 도움이 될 수 있습니다.
이것을 당신의 .vimrc
:
filetype indent plugin on
에서 여기 .
2018 업데이트
vim을 업데이트하면 제목의 처음 50자를 자동으로 강조 표시하고 72 자로 줄 바꿈합니다. git commit 파일을 편집하고 있음을 알고 있습니다.
Homebrew 설치
brew install vim
다음은 모든 편집기에서 작동하는 자동 래핑을위한 git 후크입니다. https://github.com/surabhigupta/AutoWrapSeventyTwo
이전 게시물의 여러 옵션이 작동하지만 다른 시스템간에 불일치를 발견했습니다.
Fedora 28 (최근에 F26에서 업그레이드 됨)은 git-commit / git-tag 내부의 버전이 .virc 파일 (이상한 *)을 가리키는 것으로 나타났기 때문에 간단하게 ~ / .vi m rc를 ~ /에 복사했습니다 . virc [제외, 아래 참조].
brew의 vim 8.0을 사용하는 macOS 10.13.4는 다음과 같이 /usr/share/vim/vim80/ftplugin/gitcommit.vim에서 잘 작동합니다 . : verbose : set tw =? .
vim 7.4 (git version 1.8.3.1)가있는 CentOS 7.4는 어떤 이유로 제공된 gitcommit.vim의 텍스트 너비 줄을 사용하지 않는 것처럼 보였으므로 빠르고 더러운 해결 방법을 찾았습니다. 여러 파일) ~ / .vimrc :
nmap <F2> :set textwidth=72<CR>
inoremap <F2> <Esc>:set textwidth=72<CR>a
그것은 충분히 잘 작동하는 것 같고 기억하기 쉽습니다. 어쨌든 나는 대부분 거기에서 뽑아 냈고 git 및 vim의 이전 버전을 더 이상 엉망으로 만들었습니다.
그렇지 않으면 (일시적으로) Abe Voelker의 답변 후 Chip Hogg의 제안 을 받았습니다. autocmd FileType gitcommit setlocal textwidth = 72
나는 그것이 git-commit 내부에서 큰 차이를 만들지 않는다고 생각하지만 안전하는 것이 더 낫습니다 (특히 그 라인이 vimrc 전체에 걸쳐 복사되는 경우). 많은 예제 vimrcs 에서처럼 Filetype은 물론 on으로 설정됩니다.
* 하지만 여전히 vim의 눈금자가 표시되지 않는 이유가 궁금해서 컴파일 타임에 + cmdline_info (: version 이후에 표시됨)를 설정해야 함을 알리는 : help ruler를 살펴 보았습니다. git-commit 외부의 vim에서 : ver를 실행하면 다른 설정과 컴파일 된 시간이 다른 것으로 나타났습니다. 이는 git이 사용자 대신 vim의 시스템 복사본을 호출했을 가능성이 있음을 시사합니다.
그래서 제가 처음에해야 할 일은 git config --global core.editor "vim" 을 실행 하는 것이 었습니다. 단, 중복 단계라고 생각했기 때문에 실행하지 않았습니다. 모든 git 설치에서이 작업을 먼저 수행하면 처음부터 많은 번거 로움을 줄일 수 있습니다!
다른 답변 외에도를 사용 gqip
하여 편집하는 동안 단락 서식을 다시 지정하십시오.
참고 URL : https://stackoverflow.com/questions/11023194/automatically-wrap-long-git-commit-messages-in-vim
'IT TIP' 카테고리의 다른 글
목록 항목 내에서 div를 사용할 수 있습니까? (0) | 2020.12.03 |
---|---|
Entity Framework로 단일 열을 선택하는 방법은 무엇입니까? (0) | 2020.12.03 |
다른 스레드에 영향을주지 않고 node.js에서 스레드를 잠자는 방법은 무엇입니까? (0) | 2020.12.03 |
무결성 제약 위반 : 1452 하위 행을 추가하거나 업데이트 할 수 없습니다. (0) | 2020.12.03 |
'요소'초기화는 '케이스'레이블에서 건너 뜁니다. (0) | 2020.12.03 |