특정 줄에 대해 vim의 텍스트 너비를 비활성화하려면 어떻게해야합니까?

jwir3

나는 한 textwidth80 자로 설정하고, 나는 75 개 문자로 설정된 gitcommit파일입니다.

문제는 우리 회사의 git 커밋에는 항상 커밋에 대한 일부 메타 데이터를 나타내는 마지막 줄이 있습니다 (버전 번호, 관련 티켓 등을 범프하는지 여부). 내가하고 싶은 것은이 마지막 줄의 텍스트 너비를 끄는 것입니다. 이 마지막 줄은 항상 "(patch)", "(minor)"또는 "(major)"(semver 자동 게시의 경우)로 시작합니다.

현재 내 구문 파일에서 다음을 사용하여이 메타 데이터 줄이 강조 표시되도록합니다.

syn match   autoPublishLine     "^\((patch)\|(minor)\|(major)\).*"
hi def link autoPublishLine             Special

이 작품은 난에 기대하지만, 내가 정말 좋아 할 것입니다 것은으로 그것은이 한 줄에 대한 단어를 포장하지 않도록,이 라인에 대한 textwidth 설정을 해제합니다.

내가 어떻게 할 수 있을지 아십니까?

잉고 카르 캇

빠른 해킹으로 'textwidth'커서가 움직일 때마다 값을 조정할 수 있습니다 .

:autocmd CursorMoved,CursorMovedI <buffer> let &l:textwidth = (getline('.') =~# '^\((patch)\|(minor)\|(major)\)' ? 0 : 75)

~/.vim/ftplugin/gitcommit_textwidth.vimGit 커밋 메시지에 자동으로 적용되도록 해당 명령을에 넣을 수 있습니다 .

대안

패턴의 중복을 방지하기 위해 내 OnSyntaxChange 플러그인을 사용하면 :autocmd기본 구문 그룹의 변경 사항에 반응 하는를 설정할 수 있습니다 . 기본적으로 위의 솔루션처럼 작동하지만 훨씬 더 정교한 수준에서 작동합니다.

call OnSyntaxChange#Install('AutoPublish', '^autoPublishLine$', 1, 'a')
autocmd User SyntaxAutoPublishEnterA setlocal textwidth=0
autocmd User SyntaxAutoPublishLeaveA setlocal textwidth=75

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

특정 이벤트에 대한 UFW 로깅을 비활성화하려면 어떻게해야합니까?

분류에서Dev

bash의 특정 줄에 긴 텍스트를 추가하려면 어떻게해야합니까?

분류에서Dev

특정 포트에 대한 로컬 호스트 액세스를 일시적으로 비활성화하려면 어떻게해야합니까?

분류에서Dev

Nixos의 Apache 서비스 구성에서 PHP를 활성화하려면 어떻게해야합니까?

분류에서Dev

gvim의 창 너비를 텍스트 80 열과 줄 번호를 표시하는 데 필요한 열로 설정하려면 어떻게해야합니까?

분류에서Dev

JTextPane의 텍스트 강조 표시를 완전히 비활성화하려면 어떻게해야합니까?

분류에서Dev

내 NSTextView에서 자동 텍스트 교체를 비활성화하려면 어떻게해야합니까?

분류에서Dev

특정 장면의 오디오를 비활성화하려면 어떻게해야합니까?

분류에서Dev

데비안에서 노트북 설정을 활성화하려면 어떻게해야합니까?

분류에서Dev

텍스트 입력 필드에 자동 너비 / 길이를 설정하려면 어떻게해야합니까?

분류에서Dev

특정 태그 (예 : AbsListView, GestureDetector, endeffect)에 대한 Android의 내부 로깅을 비활성화하려면 어떻게해야합니까?

분류에서Dev

html 안에 javascript의 특정 텍스트를 표시하려면 어떻게해야합니까?

분류에서Dev

VIM에서 특정 분할 화면에 대해서만 마우스를 활성화하려면 어떻게합니까?

분류에서Dev

(Notepad ++) 해당 줄에 특정 단어가있는 텍스트를 바꾸려면 어떻게해야합니까?

분류에서Dev

명령 줄에서 Putty의 Pageant를 비활성화하려면 어떻게해야합니까?

분류에서Dev

Eyeshot Vb.net에서 텍스트 엔티티의 너비를 측정하려면 어떻게해야합니까?

분류에서Dev

특정 프로젝트에서`Initializing JS / TS Language Features`를 비활성화하려면 어떻게해야합니까?

분류에서Dev

"하드웨어 스위치에 의해 비활성화 된 무선 네트워크"를 수정하려면 어떻게합니까?

분류에서Dev

고정 너비없이 UILabel (UIViewRepresentable을 통해)에 텍스트를 줄 바꿈하려면 어떻게해야합니까?

분류에서Dev

범위에 대한 ng-click 이벤트를 비활성화하려면 어떻게해야합니까?

분류에서Dev

컨트롤의 너비를 현재 장치의 너비로 설정하려면 어떻게해야합니까?

분류에서Dev

Microsoft Office 2013의 특정 이메일 계정에서 새 메일 아이콘을 비활성화하려면 어떻게해야합니까?

분류에서Dev

상태 비 저장 서비스의 특정 복제본에 도달하려면 어떻게해야합니까?

분류에서Dev

이 코드에서 텍스처를 비활성화하려면 어떻게해야합니까?

분류에서Dev

특정 문자 앞의 한 줄에서 텍스트 문자를 제거하려면 어떻게해야합니까?

분류에서Dev

특정 문자 앞의 한 줄에서 텍스트 문자를 제거하려면 어떻게해야합니까?

분류에서Dev

텍스트 영역에 특정 텍스트를 표시하려면 어떻게해야합니까?

분류에서Dev

Cloud Run 컨테이너에서 서비스 계정 키를 구성하려면 어떻게해야합니까?

분류에서Dev

계정에 대한 SSH 로그인을 비활성화하려면 어떻게해야합니까?

Related 관련 기사

  1. 1

    특정 이벤트에 대한 UFW 로깅을 비활성화하려면 어떻게해야합니까?

  2. 2

    bash의 특정 줄에 긴 텍스트를 추가하려면 어떻게해야합니까?

  3. 3

    특정 포트에 대한 로컬 호스트 액세스를 일시적으로 비활성화하려면 어떻게해야합니까?

  4. 4

    Nixos의 Apache 서비스 구성에서 PHP를 활성화하려면 어떻게해야합니까?

  5. 5

    gvim의 창 너비를 텍스트 80 열과 줄 번호를 표시하는 데 필요한 열로 설정하려면 어떻게해야합니까?

  6. 6

    JTextPane의 텍스트 강조 표시를 완전히 비활성화하려면 어떻게해야합니까?

  7. 7

    내 NSTextView에서 자동 텍스트 교체를 비활성화하려면 어떻게해야합니까?

  8. 8

    특정 장면의 오디오를 비활성화하려면 어떻게해야합니까?

  9. 9

    데비안에서 노트북 설정을 활성화하려면 어떻게해야합니까?

  10. 10

    텍스트 입력 필드에 자동 너비 / 길이를 설정하려면 어떻게해야합니까?

  11. 11

    특정 태그 (예 : AbsListView, GestureDetector, endeffect)에 대한 Android의 내부 로깅을 비활성화하려면 어떻게해야합니까?

  12. 12

    html 안에 javascript의 특정 텍스트를 표시하려면 어떻게해야합니까?

  13. 13

    VIM에서 특정 분할 화면에 대해서만 마우스를 활성화하려면 어떻게합니까?

  14. 14

    (Notepad ++) 해당 줄에 특정 단어가있는 텍스트를 바꾸려면 어떻게해야합니까?

  15. 15

    명령 줄에서 Putty의 Pageant를 비활성화하려면 어떻게해야합니까?

  16. 16

    Eyeshot Vb.net에서 텍스트 엔티티의 너비를 측정하려면 어떻게해야합니까?

  17. 17

    특정 프로젝트에서`Initializing JS / TS Language Features`를 비활성화하려면 어떻게해야합니까?

  18. 18

    "하드웨어 스위치에 의해 비활성화 된 무선 네트워크"를 수정하려면 어떻게합니까?

  19. 19

    고정 너비없이 UILabel (UIViewRepresentable을 통해)에 텍스트를 줄 바꿈하려면 어떻게해야합니까?

  20. 20

    범위에 대한 ng-click 이벤트를 비활성화하려면 어떻게해야합니까?

  21. 21

    컨트롤의 너비를 현재 장치의 너비로 설정하려면 어떻게해야합니까?

  22. 22

    Microsoft Office 2013의 특정 이메일 계정에서 새 메일 아이콘을 비활성화하려면 어떻게해야합니까?

  23. 23

    상태 비 저장 서비스의 특정 복제본에 도달하려면 어떻게해야합니까?

  24. 24

    이 코드에서 텍스처를 비활성화하려면 어떻게해야합니까?

  25. 25

    특정 문자 앞의 한 줄에서 텍스트 문자를 제거하려면 어떻게해야합니까?

  26. 26

    특정 문자 앞의 한 줄에서 텍스트 문자를 제거하려면 어떻게해야합니까?

  27. 27

    텍스트 영역에 특정 텍스트를 표시하려면 어떻게해야합니까?

  28. 28

    Cloud Run 컨테이너에서 서비스 계정 키를 구성하려면 어떻게해야합니까?

  29. 29

    계정에 대한 SSH 로그인을 비활성화하려면 어떻게해야합니까?

뜨겁다태그

보관