2012-09-16 5 views
3

나는 명령파일 형식에 따라 vim 명령을 실행 하시겠습니까?

let b:match_words='<:>,<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>' 

실행에게 내가 HTML 파일을 열 때마다 가지고 노력하고있어. 내 ftdetect 및 ftplugin 폴더 아무것도 일이 모두 html.vim라는 이름의 파일에 라인

autocmd FileType html let b:match_words='<:>,<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>' 

퍼팅 시도. html 파일에서 매번 명령을 실행하려면 어떻게해야합니까?

이 명령은 matchit btw의 일치하는 동작을 변경하는 것입니다.

+0

[원래 질문에 대한 답변] (http://stackoverflow.com/a/11852359/546861)에 댓글을 올릴 수있었습니다. – romainl

답변

5

일반적으로 autocmd는 괜찮습니다. 문제는 $VIMRUNTIME/ftplugin/html.vim에서 수행 된 b:match_words 정의를 다시 정의하려는 것이므로 실행 순서가 중요해집니다.

디렉토리 다음에 ~/.vim/after/ftplugin/html.vim 디렉토리가 있습니다. 그냥 새 파일을 만들고 거기에 :let 명령을 넣어.

소스 스크립트의 시퀀스는 :scriptnames을 통해 확인할 수 있습니다. 다른 경우 기본 동작을 재정의하지 않을 경우 :autocmd FileType은 문제가되지 않지만 더 편리하게 분리하고 .vimrc의 정보를 짧고 이해하기 쉽게 유지할 수 있으므로이 정보 (예 : 맞춤 매핑)를 ~/.vim/ftplugin/html_mymappings.vim에 두는 편을 선호합니다.

ftdetect 하위 디렉토리는 파일 유형 감지, 즉 파일 경로/이름/내용 검사를 통해 올바른 파일 유형을 결정합니다. 파일 형식이 html이므로 여기서는 적용되지 않습니다.

관련 문제