2012-10-26 17 views
9

Questo dovrebbe essere un problema molto semplice. Ho un semplice file .vimrc. Si tratta di 15 linee nella sua interezza:Vim Pathogen non verrà caricato - E117: funzione sconosciuta: pathogen # infect

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 

Quando provo ad avviare vim, però, ricevo il seguente messaggio di errore:

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

Ho lavorato un po 'di tempo a risolvere questo, tra cui guardare qui: Vim: Pathogen not loading e qui: Pathogen does not load plugins e qui: https://github.com/tpope/vim-pathogen/issues/50

sto memorizzazione di tutti i miei file VIM legati in una directory ~/.dotfiles/vim/ e hanno collegato simbolicamente .vimrc e .gvimrc e .vim/ dalla mia home directory. Ho tre plug-in che sto tentando di caricare: command-t, commentary e fugitive. Questi plugin sono tutti sottomoduli git. La struttura di directory è la seguente:

.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

Perché il ~/.dotfiles/'' directory? Probabilmente è roba da incasinare. – romainl

risposta

8

Dal vividchalk non può caricare o, direi vim non può accedere al .vim.

Sei su OS X? Stai usando MacVim?

È possibile che il ~/.vim sia stato creato in modo errato. Vorrei farlo (con percorsi assoluti):

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

si potrebbe provare questo:

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

Se che carica con successo, quindi vim viene correttamente letto il tuo vimrc e .vim. Quindi provalo con una cartella collegata. Se funziona, aggiungi pathogen e verifica se carica.

+1

Hai ragione. Ho avuto un '~/.vim /' symlinked nella mia home directory a '~/.dotfiles/.vim' invece di' ~/.dotfiles/vim'.Avrei dovuto riflettere più attentamente sul problema poiché ho notato che vividchalk non poteva essere caricato e quindi non era una cosa specifica per l'agente patogeno. Grazie per aver fatto il mio pensiero per me, però. – jononomo

3

La soluzione più ovvia è quella di spostare la cartella ~/.dotfiles/vim da quella directory ~/.dotfiles alla sua posizione normale e il nome:

~/.vim 

è possibile utilizzare un collegamento simbolico come nella risposta di pydave.

Un'altra soluzione potrebbe essere quella di aggiungere la seguente riga al ~/.vimrc:

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

stavo affrontando lo stesso problema, finalmente dopo molti google e modificando il file vimrc, hanno trovato la soluzione. Spero che il seguente frammento di codice risolva il problema.

nella mia home directory tutti i file sono legati alla loro posizione rilevante come segue

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

Aggiungere le seguenti righe al file vimrc.

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

Problemi correlati