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.