2012-07-31 2 views
3

일부 Python 파일로 작업하고 Vim에서 :set filetype?을 실행하면 filetype=python이 나오므로 파일이 Python 코드로 올바르게 인식됩니다. http://www.vim.org/scripts/script.php?script_id=1494 및 ftplugin 폴더에 넣어,하지만 F/F 키 바인딩이 작동하고, 플러그인이로드되지 않았 음을 나타내는 그 :call ReFold() 제공 E117: Unknown Function를 실행하지 않는 :Vim 스크립트가로드되지 않았습니까?

나는이 플러그인을 다운로드했습니다.

플러그인을로드하는 방법에 대한 문제 해결 팁이 있습니까? 스크립트의 상단에이 부분을 제거

+0

간단한 질문이지만 'vim'을 다시로드 했습니까? 그 이외에는 문제를 진단하기가 어렵습니다. – jmetz

+0

나는 프로그램을 완전히 닫고 여러 번 다시 실행했다. –

답변

5

시도 :

if exists("b:did_ftplugin") 
    finish 
endif 
let b:did_ftplugin = 1 

그리고 아마도 after/ftplugin 디렉토리 (:help after-directory)에 스크립트를 이동.

난 당신이 OK입니다 'runtimepath'에 먼저와 b:did_ftplugin을 정의하는 또 다른 파이썬 특정 플러그인을 가지고 있다고 생각하지만, 그것은 원래의 기능을 구현하지 않기 때문에이 파이썬 스크립트 (python_editing.vim)를 확인하고 b:did_ftplugin을 정의하지 말아야 플러그인, 단지 그것을 확장합니다.

그래서 스크립트는로드되지만 아무것도 수행하지 않습니다. 인수없이 :script 명령을 실행하면 일부 스크립트가 전혀로드되지 않았는지 확인할 수 있습니다.

+0

매력적이었습니다! 고마워. 호기심에서,/ftplugin 디렉토리 다음은 무엇입니까? 나는 그런 것을 가지고 있지 않습니까? 내가 직접 만들어야 하나? –

+1

플러그인이 이미 작동하는 경우 플러그인을 만들지 마십시오. AFAIK'after' 디렉토리는'/ usr'에'/ usr/local'과 같은 설정 서브 트리를 가지고 있습니다. 'after' 디렉토리 안에있는 것들은 다른 모든 것들 뒤에 "로드"됩니다. 그래서 거의 모든 것이로드 될 때 몇몇 옵션과 설정을 덮어 쓸 수 있습니다. 지금 당장 문서에서 그 설명을 찾을 수 없었습니다. 찾았을 때 대답을 업데이트 할 것입니다. – xaizek

+1

'after' 디렉토리에 대한 설명서에서 더 이상 찾을 수 없으므로 여기에 대한 설명 (및 간략한 설명)에 대한 링크 만 추가되었습니다. – xaizek