Vim에서 특정 파일 형식에 대해서만 로컬 일치를 설정하는 방법은 무엇입니까?


3

에서 나는 로컬 구성으로 설정할 수 있습니다 :

 setlocal number

특정 파일 형식에 대해서만 로컬 일치를 설정하려면 어떻게해야합니까?

나는 이것을 사용한다 :

 autocmd! BufEnter *.py,.vimrc,*.sh,*.c* :match ColorColumn /\%>80v.\+/

그러나 동일한 세션에서 다른 파일 형식의 파일을 열면 일치 ColorColumn합니다.

답변:


3

이것은 더 이상 저자에게는 유용하지 않을 수 있지만 다음을 넣습니다 .vim/ftplugin/python.vim.

if exists('+colorcolumn')
    setlocal colorcolumn=81
else
    au! BufEnter <buffer> match ColorColumn /\%81v.*/
endif

ftplugin에 있기 때문에 python 파일에서만 발생하며 BufEnter는 python 파일이있는 버퍼에 로컬로 유지합니다.


1

나는 이것을 해결했다.

augroup longLines
    autocmd! BufEnter *.py,.vimrc,*.sh,*.c* :match ColorColumn /\%>80v.\+/                      
augroup END

실제로 세부 사항에 대한 귀하의 질문을 이해하지 못했지만 귀하가 요청한 것을 정확하게 수행하지는 않습니다.
Rook

내 질문은 많은 파일을 열면 일부 파일에서만 일치를 활성화하는 것입니다.
juanpablo

"많은 파일"?? 특정 파일 형식의 파일 또는 확장명 또는 ...? 파일 유형은 autocmd FileType, 버퍼를 열어 BufEnter에 의해 활성화됩니다. 원하는 것에 따라 다릅니다. 좀 더 설명해 주시겠습니까?
Rook

많은 파일, 일부 * .py, 일부 * .c, 일부 * .txt
juanpablo

내 대답을 참조하십시오. 그게 당신이 원하는 것입니까?
Rook

1

파이썬 이나 C 파일 형식이 열려 있을 때 강조 표시가 활성화됩니다 (다른 파일을 자유롭게 추가하십시오. 어떤 파일 형식 * .sh 확장자가 속하는지 몰랐습니다).

augroup LongLines
    autocmd!
    autocmd FileType * match none
    autocmd FileType python,c,sh match ColorColumn /\%>80v.\+/
augroup END

* .sh는 파일 sh유형 인 bash 파일입니다.
juanpablo

@juanpablo-sh를 포함하도록 답변을 업데이트했습니다.
Rook
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.