2013-03-08 2 views
1

그래서 필자는 Python 용 .vimrc 설정에 매우 만족합니다. 스크립트 용 .py 접미어를 생략하기 시작한 점을 제외하고 지금 편집중인 파일이 Python 파일이라는 것을 알지 못합니다..py 파일 이름 확장자없이 .vimrc를 구성하는 방법은 무엇입니까?

명확한 설명 : '파이썬'을 다시보고 & 파일 형식 에코 : 나는 정력 내가 를 사용하여 파이썬 파일을 편집하고있어 알고 있음을 확인했습니다.

그래서 진짜 질문은 현재이 목적으로 파일 확장명을 사용할 때 파이썬 특정 동작을 할당하는 방법입니다 (아래 참조). 파일 형식으로 구동 할 수 있습니까? 둘 다 필요합니까?

접미어가 부족하다는 것에 관해서 - 내 코드는 유닉스 호스트에만 해당되며 일반적인 경우이므로 구현 세부 사항을 숨겨서 나중에 구현을 변경할 수 있습니다. 파이썬 파일과 같은 방법 빔을 가르치고, 선택적으로, filetype plugin을 가능하게하는 것입니다,

au BufRead,BufNewFile *py,*pyw set tabstop=4 
au BufRead,BufNewFile *.py,*pyw set shiftwidth=4 
au BufRead,BufNewFile *.py,*.pyw set expandtab 
au BufRead,BufNewFile *.py,*pyw set softtabstop=4 
au BufRead,BufNewFile *.py,*.pyw set textwidth=79 

답변

1

아무런 확장자를 가진 파일에 대한 파이썬 별 설정을 가능하게하는 키 : 여기

내의 .vimrc의 일부입니다 .

그 파일을 수정

$ HOME/.vimrc 파일

는 빔의 파일 형식 플러그인을 사용합니다. 이것으로 언어 별 설정을 $HOME/.vim/ftplugin/ 디렉토리에 넣을 수 있습니다. 이러한 설정은 파일 확장명이 아닌 파일 형식을 기반으로합니다.

filetype plugin on 
syntax on 

$ HOME/.vim/scripts.vim

티치 빔 파이썬 파일처럼 보이는 방법. 이 예제에서 Vim은 파일의 첫 번째 줄에 어딘가에 python 문자열이 있으면 파일을 파이썬 스크립트로 처리합니다. 보다 정교한 수표를 통합하기 위해 여기에 정규식을 쉽게 적용 할 수 있습니다.

did_filetype()은 첫 줄에 python이없는 .py 확장자를 가진 파일이 여전히 파이썬 스크립트로 간주된다는 점에 유의하십시오.

if did_filetype() 
    finish 
endif 
if getline(1) =~ '.*python.*' 
    setfiletype python 
endif 

$ HOME/.vim/ftplugin/python.vim

마지막으로, 여기에 모든 파이썬 별 설정을 넣어 :

setlocal tabstop=4 
setlocal shiftwidth=4 
setlocal expandtab 
setlocal softtabstop=4 
setlocal textwidth=79 

상세 정보 :

modyfing of파일에 표준 파이썬 헤더가있는 경우은 필요하지 않습니다 (예 : #!/usr/bin/python 또는 #!/usr/bin/env python).

이 추론은 /usr/share/vim/vim73/scripts.vim에서 수행됩니다 (경로는 Vim 버전 및 설치 위치에 따라 다를 수 있음).

+0

감사합니다. 문제는 해결하지 못했지만 흥미로운 것 같습니다. – KenFar

+0

문제 없습니다. 추가 옵션을 사용하여 내 대답을 확장했습니다. 이러한 도움을 바랍니다. – kamituel

+0

고마워 - 옵션 # 1이 필요한 것처럼 보입니다. .vimrc 파일에서 어떻게 표시되는지 보여줄 수 있습니까? 나는 * 탐지를 켜고 파일 형식과 파일 확장명을 모두 사용하여 다양한 기능을 설정해야한다고 생각합니다. (?) – KenFar

관련 문제