Vim에서 파일 형식별 키 매핑이 가능합니까?

Vim에서 파일 형식별 키 매핑이 가능합니까?

나는 최근에 당신이비파괴 공간(NBSP)HTML 문서에서 utf-8로
설정하면 텍스트 형식을 지정하기 위해 반복적 encoding으로 입력할 필요가 없습니다 nbsp;. 처음에는 '
이걸 이렇게 스페이스바에 매핑하면 어떨까'라고 생각했습니다 :imap <SPACE> <C-R>=nr2char(160)<CR>.
나중에 편집 하고 Vim을 다시 시작했을 때 이름 을 지정했음에도 불구하고 .vimrc일부 기능에 이름이 필요한 오류가 수십 개 발생했습니다 . 공백처럼 보이지만 공백으로 취급되지 않는다는
것을 깨달았습니다 . 그래서 더 좋은 방법은 파일 유형별 매핑을 갖는 것이라고 생각했습니다. 그러면 HTML 문서를 편집할 때 다른 파일을 편집할 때 공백에 공백 과 일반 공백이 삽입됩니다.nbsp
nbspchr(32)
어떻게 해야 하나요?

답변1

au[tocommand]명령은 설정된 FileType경우(예: 파일 이름으로 시작 시) 실행되는 이벤트를 사용합니다. filetype~/.vimrc:

au Filetype python source ~/.vim/scripts/python.vim

답변2

파일이 특정 파일 형식인 경우에만 소스를 가져오는 파일 형식 플러그인을 사용할 수 있습니다. 이를 설정하려면 파일을 만들고 ~/.vim/ftplugin/html.vim이 파일에 명령을 입력하세요. 이미 파일이 있는 경우 html이라는 디렉터리를 만들면 해당 디렉터리의 모든 파일이 소스가 됩니다. 보세요:h ftplugin-name다른 이름 지정 옵션의 경우. (디렉토리가 없으면 새로 만듭니다.)

vimrc에 필요한 것은 filetype plugin indent on( 들여쓰기는 실제로 필요하지 않지만 일반적으로 유용합니다)입니다.

다음을 사용하여 매핑을 버퍼에 로컬로 만드는 것도 중요할 수 있습니다.

map <buffer>

살펴보는 것도 유용할 수 있습니다 :h ftplugin.:h filetype

관련 정보