vim에서 파일확장자에 따른 처리를 하고 싶을경우

goguma73의 이미지

윈도우용 gvim6.3사용자입니다.

파일확장자에 따라
아래처럼 if문 내에 여러처리를 넣고 싶습니다만
다음의 처리가 제대로 동작하지 않습니다.

아래의 내용은 aaa.vim(예)으로 $VIM/plugin/에 작성해두고 *.c 나 *.cpp 파일을 오픈할시에
파일확장자에 따라 다른 처리를 하고 싶은데 항상 처리7만 실행이 됩니다.

아래의 문법이 잘못된 곳이 있으면 지적 부탁드립니다

au BufNewFile,BufReadPre * if &ft == 'c' || &ft == 'cpp'
\| 처리1
\| 처리2
\| 처리3
\| elseif &ft == 'java'
\| 처리4
\| 처리5
\| 처리6
\| else
\| 처리7
\| endif

nohmad의 이미지

&ft가 제대로 설정되었는지 간단하게 디버깅을 해보세요. 버퍼가 열려진 상태에서

:echo &ft

하시면 됩니다.

madman93의 이미지

au BufNewFile,BufReadPre * if &ft == 'c' || &ft == 'cpp' |
\ 처리1 |
\ 처리2 |
\ 처리3 |
\ elseif &ft == 'java' |
\ 처리4 |
\ 처리5 |
\ 처리6 |
\ else |
\ 처리7 |
\ endif |

이렇게가 아닌가요?

---------------------------------------------
git init
git add .
git commit -am "project init"
---------------------------------------------