vim을 사용하여 다양한 XML 파일을 편집해야하는 경우가 있습니다. vim은 수백 줄을 포함하는 구성 파일부터 최대 2GB 크기의 프로덕션 데이터 파일까지 크기가 다양합니다. 큰 파일을 다룰 때 구문 강조를 활성화하는 것은 물론 매우 나쁜 생각이므로 파일이 임계 값보다 큰 경우 비활성화하고 싶습니다.
쉘에서 vim을 시작할 때 구문이 활성화 되기 전에autocommand
명령이 실행 되기 때문에 구문 강조 표시를 비활성화 하기 위해 직접 사용 하여이 작업을 수행 할 수 없었습니다 .
" this autocmd has no effect except for the echo:
autocmd Filetype xml if getfsize(@%) > 1000000 | echom '!' | syntax off | endif
전역에서 구문 강조 표시를 비활성화 한 다음 xml 이외의 다른 모든 파일 유형에 대해 다시 설정하고 파일이 임계 값보다 크지 않으면 파일 유형 xml에 대해 다시 설정할 수 있다는 해결 방법을 찾았습니다.
syntax off
autocmd Filetype * syntax off
autocmd Filetype * if &ft != 'xml' | syntax enable | endif
autocmd Filetype xml if getfsize(@%) < 1000000 | syntax enable | endif
이것은 작동하는 것처럼 보이지만 잘못된 느낌으로 더 많은 파일 형식과 조건 에서이 작업을 수행하려고하면 관리 할 수 없게됩니다. 또한 모든 버퍼에 영향을줍니다. 특정 조건에서 하나의 버퍼에서 구문 강조 표시를 비활성화하는 올바른 방법은 무엇입니까?