2012-10-26 14 views
9

यह एक बहुत सीधी समस्या होनी चाहिए। मेरे पास एक साधारण .vimrc फ़ाइल है।विम पथोजेन लोड नहीं होगा - E117: अज्ञात कार्य: रोगजनक # संक्रमित

filetype off 
set nocompatible 
call pathogen#infect() 
syntax on 
filetype plugin indent on 

set hlsearch 
set colorcolumn=79 
set number 
set list 
set expandtab 
set tabstop=4 
set softtabstop=4 

colorscheme vividchalk 

जब मैं vim प्रारंभ करने का प्रयास है, हालांकि, मैं निम्न त्रुटि संदेश मिलता है:: यह अपनी संपूर्णता में 15 लाइनों है

Error detected while processing /Users/Jon/.vimrc: 
line 3: 
E117: Unknown function: pathogen#infect 
line 15: 
E185: Cannot find color scheme 'vividchalk' 

मैं इस को हल करने, सहित देख पर काफी देर से काम किया है यहाँ: Vim: Pathogen not loading और यहाँ: Pathogen does not load plugins और यहाँ: https://github.com/tpope/vim-pathogen/issues/50

मैं एक ~/.dotfiles/vim/ निर्देशिका में मेरे सभी vim संबंधित फ़ाइलें संग्रहीत कर रहा हूँ और .vimrc और .gvimrc औरसांकेतिक रूप से लिंक है मेरे घर निर्देशिका से। मेरे पास तीन प्लगइन्स हैं जिन्हें मैं लोड करने की कोशिश कर रहा हूं: कमांड-टी, कमेंटरी, और भाग्यशाली। ये प्लगइन्स सभी गिट submodules हैं।

.dotfiles/ 
├──vim/ 
    ├── autoload/ 
    │   └── pathogen.vim 
    ├── bundle/ 
    │   ├── command-t/ 
    │   ├── commentary/ 
    │   └── fugitive/ 
    ├── colors/ 
    │   ├── distinguished.vim 
    │   └── vividchalk.vim 
    ├── ftdetect/ 
    │   ├── markdown.vim 
    │   └── vim.vim 
    ├── gvimrc 
    ├── snippets/ 
    │   └── markdown.snippets 
    ├── syntax/ 
    │   ├── markdown.vim 
    │   └── python.vim 
    ├── test.txt 
    └── vimrc 
+0

क्यों '~/.dotfiles /' निर्देशिका? यह शायद गड़बड़ सामान क्या है। – romainl

उत्तर

8

के बाद से vividchalk या तो लोड नहीं कर सकता, मुझे लगता है था vim अपने .vim उपयोग नहीं कर सकते: निर्देशिका संरचना इस प्रकार है।

क्या आप ओएस एक्स पर हैं? क्या आप MacVim का उपयोग कर रहे हैं?

आपने गलत तरीके से अपना ~/.vim बनाया हो सकता है। मैं यह कर सकता है (निरपेक्ष पथ के साथ):

ln -s ~/.dotfiles/vim ~/.vim 

आप इस कोशिश कर सकते:

mkdir ~/vim_archive 
mv ~/.*vim* ~/vim_archive/. 
mkdir -p ~/.vim/colors 
cp ~/vim_archive/.vim/colors/vividchalk.vim ~/.vim/colors/. 
echo colorscheme vividchalk > ~/.vimrc 

हैं कि सफलतापूर्वक लोड करता है, तो vim सही तरीके से अपने vimrc और .vim पढ़ रहा है। फिर इसे एक लिंक किए गए फ़ोल्डर से आज़माएं। यदि यह काम करता है, तो रोगजनक जोड़ें और देखें कि यह लोड हो रहा है या नहीं।

+1

आप सही हैं। मेरे पास ~ ~/.dotfiles/vim' की बजाय '~/.dotfiles/.vim' पर मेरी होम निर्देशिका में' ~/.vim/'symlinked था।मुझे इस मुद्दे के बारे में और अधिक सावधानी से सोचना चाहिए क्योंकि मैंने यह भी देखा कि विविडचाक लोड नहीं हो सका और इसलिए यह रोगजनक-विशिष्ट चीज़ नहीं था। हालांकि, मेरे लिए मेरी सोच करने के लिए धन्यवाद। – jononomo

3

सबसे स्पष्ट समाधान अपने सामान्य स्थान और नाम के लिए है कि ~/.dotfiles निर्देशिका से बाहर अपने ~/.dotfiles/vim फ़ोल्डर ले जाने के लिए है:

~/.vim 

आप pydave के जवाब में की तरह एक सिमलिंक उपयोग कर सकते हैं।

एक अन्य समाधान अपने ~/.vimrc में निम्न पंक्ति जोड़ने के लिए होगा:

set runtimepath+=~/.dotfiles/vim/autoload (and all the other subdirs) 
0

मैं एक ही मुद्दे का सामना करना पड़ रहा था, अंत में गूगल की बहुत और vimrc फ़ाइल में सुधार करने के बाद, समाधान नहीं मिला। उम्मीद है कि निम्न कोड स्निपेट समस्या को हल करेगा। इस प्रकार

ln -s ~/dotfiles/vim ~/.vim ln -s ~/dotfiles/vim/vimrc ~/.vimrc ln -s ~/dotfiles/bash/bashrc ~/.bashrc ln -s ~/dotfiles/bash/aliases ~/.bash_aliases

अपने vimrc फ़ाइल में निम्नलिखित पंक्तियां जोड़ें

मेरे घर निर्देशिका में सभी फ़ाइलों को उनके प्रासंगिक स्थान से जुड़ी हैं।

set nocp source /home/ameet/.vim/autoload/pathogen.vim "location of my pathogen.vim call pathogen#infect() call pathogen#helptags()

संबंधित मुद्दे