답변:
Vim FAQ 26.8 에서 ~/.vim/filetype.vim
언급 :help 43.2
하고 설명 된 것처럼 선호되는 접근 방식은을 만드는 것입니다 .
위의 방법에 대한 더 좋은 대안은 ~ / .vim 디렉토리 (또는 'runtimepath'옵션에 지정된 디렉토리 중 하나)에 filetype.vim 파일을 작성하고 다음 행을 추가하는 것입니다.
" my filetype file if exists("did_load_filetypes") finish endif augroup filetypedetect au! BufRead,BufNewFile *.x setfiletype c augroup END
편집하다:
은 did_load_filetypes
당신에게 어떤 문제가 발생해서는 안된다 Vim을 변경 한 후에 만 다시 시작하면됩니다.
이 파일을 여러 번로드하거나 불필요하게로드하지 않으려면 기본 파일 ($ VIMRUNTIME / filetype.vim)에서 상속됩니다.
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2014 Jun 12
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
finish
endif
let did_load_filetypes = 1
자세한 내용은 확인하십시오 :help new-filetype
.
au!
그룹, 즉 au! BufRead,BufNewFile *.py setfiletype python
아래 줄 에 진술 해야 합니다 au! BufRead,BufNewFile *.tpp setfiletype cpp
. 그러나 두 번째 것만 실제로 작동합니다. .py
파일을 편집 해도 파일 형식이로 설정되지 않습니다 python
. 나는 정확히 vim-guru가 아니기 때문에 아마도 뭔가 빠진 것 같습니다.
au BufNewFile,BufRead *.py,*.pyw setf python
있으므로 첫 번째 줄은 관련이 없습니다. 당신의 문제는 아마도 다른 곳일 것입니다.
"Editing .py files does not set the file type to python"
- :set ft
그 사건 의 결과는 무엇 입니까? 이 파이썬없는 경우의 절차에 따라 시도 빔 - 자주 묻는 질문 2.5 - 나는 "XYZ"빔과 (일부) 문제가
하나는 할 수 : au BufRead,BufNewFile *.tpp setlocal filetype=cpp
자신의 .vimrc
등을 가진 파일을 열 때 것을 .tpp
확장, 파일 형식이 설정되어 C ++
BufRead,BufNewFile
대신 사용 하는 이유를 자세히 설명해 주 BufEnter
시겠습니까?
BufRead,BufNewFile
보다 선호합니다 . 어디 BufReadPost는 동의어입니다 BufRead . 또한, 나는 이전에 필요 하다고 생각하지 않으므로 답변에서 생략했습니다. (나는 이것을 완전히 잘못 해석했을 것이다. 더 자세한 논의를 듣고 기쁘다)BufEnter
:help BufEnter
:
setlocal
if
진술? 그대로두면 autocmds가 실행되지 않습니다.