내가 택하는 클래스는 탭 문자 대신 두 칸으로 코드를 제출해야합니다. .vimrc
에 autocmd가 있는데,이 클래스의 할당에 사용 된 디렉토리 내에서 2 개의 공백 긴 탭을 사용합니다.Makefile에 대해 vim autocmd 덮어 쓰기
autocmd BufNewFile,BufRead ~/path/to/dir/* set tabstop=2 shiftwidth=2 expandtab
그러나, 나는 메이크업 탭 문자를 필요로하기 때문에 디렉토리에 메이크가 expandtab
옵션을 사용하지 않습니다.
.vimrc
다른 autocmd를 만들어이 작업을 수행하려면 : 첫 번째 autocmd가 잘 작동하는 동안
autocmd FileType make setlocal noexpandtab
그러나, 두 번째는 첫 번째를 무시하지 않으며 expandtab
도 메이크 또는 파일에 설정 될 것입니다 make 유형의. 이것은 구성의 순서와 관계없이 발생합니다. 나는 일에 발견했습니다
하나 다소 해킹-Y 솔루션은 파일을 다른 모든 autocmd 년대를 비활성화
autocmd FileType make autocmd!
을 사용하는 것입니다. 그러나이 방법은 다른 모든 autocmd를 Makefile에 사용할 수 없게하므로 바람직하지 않습니다.
첫 번째 명령보다 두 번째 명령 우선 순위를 부여하거나 Makefile에서 expandtab
옵션을 비활성화하는 다른 방법이 있습니까?