#에서부터 git 제출 메시지의 주석을 시작합니다.다음으로 수정
개시하다
며칠 전,git의 제출 정보에
#
부터 시작하는 줄(부득이하게 노선 케이스에서 실행된 지령을 기록하려 하였는데...)을 추가하여 제출 정보에서 그 부분이 사라지는 실태를 초래하였다.조심하지 않다.뭐, 본인은 안 좋지만 이것만 있는 게 아니라
#
부터 시작하는 줄을 쓰고 싶어요(예를 들어 Markedown으로 쓰고 싶어요?)내 생각에도 있을 것 같아. 조사해 봤는데git의 config를 만들어서 평어를 바꾸고 문자를 시작하는 것 같아서 해봤어.참고로 편집자가 정보를 제출할 때도 네오비엠의 설정을 수정할 테니 저와 사귀세요.commentChar 변경
git의 설정 변경 자체는 매우 간단하다.
.gitconfig
에 다음과 같은 내용을 추가하면 된다.~/.gitconfig
[core]
commentChar = ";"
시작 문자는 무엇입니까?이 점에 관해서 (나는 다시는 같은 실태를 하고 싶지 않다) 내가 좀 생각해 봤는데, ;
나는 매우 좋다고 생각한다.분호의 평론이 자꾸 그립네요.이 상태
git commit
에서 편집기는 다음과 같이 열립니다.좋은 평어;
가 시작된다.좀 신선하지만 금방 익숙해질 것 같아요.gitcommit
; Please enter the commit message for your changes. Lines starting
; with ';' will be ignored, and an empty message aborts the commit.
;
; On branch gitcommit
; Your branch is up to date with 'origin/gitcommit'.
;
; Changes to be committed:
; modified: *******
;
neovim 설정 변경
그러면
#
시작된 제출 메시지는 잘 쓰여졌지만, 제출 메시지를 편집할 때 일어서는 네오임의 하이라이트 설정#
은 평어로 처리했고, 반대로;
는 평어로 처리하지 않았다.신경 안 쓰면 괜찮겠지만 어떻게든 신경 쓰니까 이쪽도 좀 바꿔봐요.2022-04-03 보충
당초에 나는syntax 파일을 덮어써서 대응했지만 @4513echo선생님이 내게 준 평론은 나에게 적당한 운행 시간 파일을 알려주었기 때문에 주로 거기에 설정되었다.감사합니다.미니 모델을 직접 처리하고 싶은 사람은 아래로 스크롤하세요.
tpope/git-vim 가져오기
당신이 나에게 알려준 점심 서류 한 세트는 ↓의 것이다.자세히 보면 필가
gitcommit.vim
와 같은 분이다.신.기대했던 대로 움직이는 듯한 내용을 대충 읽었다.내 경우 플러그인 관리자dein.vim를 사용했기 때문에
dein.toml
파일에 다음과 같은 내용을 추가했다.눈 깜짝할 사이.내용상git에서 파일 한 세트를 가져와서 runtimepath
에 넣으면 됩니다.dein.toml
[[plugins]]
repo = 'tpope/vim-git'
주석이 문자를 시작하는 줄을 발견하면 이렇게 ↓의 느낌을 받기 때문에 대응#
과;
뿐만 아니라 대응#;@!$%^&|:
도 한다.택시를 타다.let s:comment = escape((matchstr(getline(s:l), '^[#;@!$%^&|:]\S\@!') . '#')[0], '^$.*[]~\"/')
gitcommit.뷰 변경
!
2022-04-03 보충
보통 전항의 서류를 이용하는 것이 좋다고 생각합니다.최소값을 어떻게든 지원하고 싶다면 아래 내용을 참고하세요.
neovim에서 메시지를 편집할 때
filetype
는gitcommit
이기 때문에 하이라이트 설정은 runtimepath
내syntax/gitcommit.vim
에 기술하면 적용됩니다.neovim이 설치된 디렉터리에서 기본 파일을 모두 빌려주고 수정합니다.~/.config/nvim/syntax/gitcommit.vim
" Vim syntax file
" Language: git commit file
" Maintainer: Tim Pope <[email protected]>
" Filenames: *.git/COMMIT_EDITMSG
" Last Change: 2019 Dec 05
if exists("b:current_syntax")
finish
endif
syn case match
syn sync minlines=50
if has("spell")
syn spell toplevel
endif
syn include @gitcommitDiff syntax/diff.vim
syn region gitcommitDiff start=/\%(^diff --\%(git\|cc\|combined\) \)\@=/ end=/^\%(diff --\|$\|;\)\@=/ fold contains=@gitcommitDiff
syn match gitcommitSummary "^.*\%<51v." contained containedin=gitcommitFirstLine nextgroup=gitcommitOverflow contains=@Spell
syn match gitcommitOverflow ".*" contained contains=@Spell
syn match gitcommitBlank "^[^;].*" contained contains=@Spell
if get(g:, "gitcommit_cleanup") is# "scissors"
syn match gitcommitFirstLine "\%^.*" nextgroup=gitcommitBlank skipnl
syn region gitcommitComment start=/^; -\+ >8 -\+$/ end=/\%$/ contains=gitcommitDiff
else
syn match gitcommitFirstLine "\%^[^;].*" nextgroup=gitcommitBlank skipnl
syn match gitcommitComment "^;.*"
endif
syn match gitcommitHead "^\%(; .*\n\)\+;$" contained transparent
syn match gitcommitOnBranch "\%(^; \)\@<=On branch" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
syn match gitcommitOnBranch "\%(^; \)\@<=Your branch .\{-\} '" contained containedin=gitcommitComment nextgroup=gitcommitBranch skipwhite
syn match gitcommitBranch "[^ ']\+" contained
syn match gitcommitNoBranch "\%(^; \)\@<=Not currently on any branch." contained containedin=gitcommitComment
syn match gitcommitHeader "\%(^; \)\@<=.*:$" contained containedin=gitcommitComment
syn region gitcommitAuthor matchgroup=gitCommitHeader start=/\%(^; \)\@<=\%(Author\|Committer\):/ end=/$/ keepend oneline contained containedin=gitcommitComment transparent
syn match gitcommitNoChanges "\%(^; \)\@<=No changes$" contained containedin=gitcommitComment
syn region gitcommitUntracked start=/^; Untracked files:/ end=/^;$\|^;\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUntrackedFile fold
syn match gitcommitUntrackedFile "\t\@<=.*" contained
syn region gitcommitDiscarded start=/^; Change\%(s not staged for commit\|d but not updated\):/ end=/^;$\|^;\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitDiscardedType fold
syn region gitcommitSelected start=/^; Changes to be committed:/ end=/^;$\|^;\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitSelectedType fold
syn region gitcommitUnmerged start=/^; Unmerged paths:/ end=/^;$\|^;\@!/ contains=gitcommitHeader,gitcommitHead,gitcommitUnmergedType fold
syn match gitcommitDiscardedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitDiscardedFile skipwhite
syn match gitcommitSelectedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitSelectedFile skipwhite
syn match gitcommitUnmergedType "\t\@<=[[:lower:]][^:]*[[:lower:]]: "he=e-2 contained containedin=gitcommitComment nextgroup=gitcommitUnmergedFile skipwhite
syn match gitcommitDiscardedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitDiscardedArrow
syn match gitcommitSelectedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
syn match gitcommitUnmergedFile ".\{-\}\%($\| -> \)\@=" contained nextgroup=gitcommitSelectedArrow
syn match gitcommitDiscardedArrow " -> " contained nextgroup=gitcommitDiscardedFile
syn match gitcommitSelectedArrow " -> " contained nextgroup=gitcommitSelectedFile
syn match gitcommitUnmergedArrow " -> " contained nextgroup=gitcommitSelectedFile
syn match gitcommitWarning "\%^[^;].*: needs merge$" nextgroup=gitcommitWarning skipnl
syn match gitcommitWarning "^[^;].*: needs merge$" nextgroup=gitcommitWarning skipnl contained
syn match gitcommitWarning "^\%(no changes added to commit\|nothing \%(added \)\=to commit\)\>.*\%$"
hi def link gitcommitSummary Keyword
hi def link gitcommitComment Comment
hi def link gitcommitUntracked gitcommitComment
hi def link gitcommitDiscarded gitcommitComment
hi def link gitcommitSelected gitcommitComment
hi def link gitcommitUnmerged gitcommitComment
hi def link gitcommitOnBranch Comment
hi def link gitcommitBranch Special
hi def link gitcommitNoBranch gitCommitBranch
hi def link gitcommitDiscardedType gitcommitType
hi def link gitcommitSelectedType gitcommitType
hi def link gitcommitUnmergedType gitcommitType
hi def link gitcommitType Type
hi def link gitcommitNoChanges gitcommitHeader
hi def link gitcommitHeader PreProc
hi def link gitcommitUntrackedFile gitcommitFile
hi def link gitcommitDiscardedFile gitcommitFile
hi def link gitcommitSelectedFile gitcommitFile
hi def link gitcommitUnmergedFile gitcommitFile
hi def link gitcommitFile Constant
hi def link gitcommitDiscardedArrow gitcommitArrow
hi def link gitcommitSelectedArrow gitcommitArrow
hi def link gitcommitUnmergedArrow gitcommitArrow
hi def link gitcommitArrow gitcommitComment
"hi def link gitcommitOverflow Error
hi def link gitcommitBlank Error
let b:current_syntax = "gitcommit"
이처럼'행수의#
'(정규적 표현의/^#/
와'행수의#
이외의(정규적 표현의/^[^#]/
'등) 부분을 대략적으로;
로 바꿨다.이 파일을 홈 페이지 아래 ~/.config/nvim/syntax/gitcommit.vim
에 설정하면 이 파일을 우선적으로 사용합니다.vim 이런 데 좋은데.끝말
네오비엠의 하이라이터도 예뻐져서 스트레스 없이 메일을 보낼 수 있어요.대단히 기쁘다.
Reference
이 문제에 관하여(#에서부터 git 제출 메시지의 주석을 시작합니다.다음으로 수정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/a24k/articles/20220402-git-commentchar-nvim텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)