Giter VIP home page Giter VIP logo

vim-pathogen's Introduction

pathogen.vim

Manage your 'runtimepath' with ease. In practical terms, pathogen.vim makes it super easy to install plugins and runtime files in their own private directories.

For new users, I recommend using Vim's built-in package management instead. :help packages

Installation

Install to ~/.vim/autoload/pathogen.vim. Or copy and paste the following into your terminal/shell:

mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

If you're using Windows, change all occurrences of ~/.vim to ~\vimfiles.

Runtime Path Manipulation

Add this to your vimrc:

execute pathogen#infect()

If you're brand new to Vim and lacking a vimrc, vim ~/.vimrc and paste in the following super-minimal example:

execute pathogen#infect()
syntax on
filetype plugin indent on

Now any plugins you wish to install can be extracted to a subdirectory under ~/.vim/bundle, and they will be added to the 'runtimepath'. Observe:

cd ~/.vim/bundle && \
git clone https://github.com/tpope/vim-sensible.git

Now sensible.vim is installed. If you really want to get crazy, you could set it up as a submodule in whatever repository you keep your dot files in. I don't like to get crazy.

If you don't like the directory name bundle, you can pass a runtime relative glob as an argument:

execute pathogen#infect('stuff/{}')

The {} indicates where the expansion should occur.

You can also pass an absolute path instead. I keep the plugins I maintain under ~/src, and this is how I add them:

execute pathogen#infect('bundle/{}', '~/src/vim/bundle/{}')

Normally to generate documentation, Vim expects you to run :helptags on each directory with documentation (e.g., :helptags ~/.vim/doc). Provided with pathogen.vim is a :Helptags command that does this on every directory in your 'runtimepath'. If you really want to get crazy, you could even invoke Helptags in your vimrc. I don't like to get crazy.

Finally, pathogen.vim has a rich API that can manipulate 'runtimepath' and other comma-delimited path options in ways most people will never need to do. If you're one of those edge cases, look at the source. It's well documented.

Native Vim Package Management

Vim 8 includes support for package management in a manner similar to pathogen.vim. If you'd like to transition to this native support, pathogen.vim can help. Calling pathogen#infect() on an older version of Vim will supplement the bundle/{} default with pack/{}/start/{}, effectively backporting a subset of the new native functionality.

Runtime File Editing

:Vopen, :Vedit, :Vsplit, :Vvsplit, :Vtabedit, :Vpedit, and :Vread have all moved to scriptease.vim.

FAQ

Can I put pathogen.vim in a submodule like all my other plugins?

Sure, stick it under ~/.vim/bundle, and prepend the following to your vimrc:

runtime bundle/vim-pathogen/autoload/pathogen.vim

Or if your bundles are somewhere other than ~/.vim (say, ~/src/vim):

source ~/src/vim/bundle/vim-pathogen/autoload/pathogen.vim

Will you accept these 14 pull requests adding a .gitignore for tags so I don't see untracked changes in my dot files repository?

No, but I'll teach you how to ignore tags globally:

git config --global core.excludesfile '~/.cvsignore'
echo tags >> ~/.cvsignore

While any filename will work, I've chosen to follow the ancient tradition of .cvsignore because utilities like rsync use it, too. Clever, huh?

What about Vimballs?

If you really must use one:

:e name.vba
:!mkdir ~/.vim/bundle/name
:UseVimball ~/.vim/bundle/name

Why don't my plugins load when I use Vim sessions?

Vim sessions default to capturing all global options, which includes the 'runtimepath' that pathogen.vim manipulates. This can cause other problems too, so I recommend turning that behavior off:

set sessionoptions-=options

Contributing

If your commit message sucks, I'm not going to accept your pull request. I've explained very politely dozens of times that my general guidelines are absolute rules on my own repositories, so I may lack the energy to explain it to you yet another time. And please, if I ask you to change something, git commit --amend.

Beyond that, don't be shy about asking before patching. What takes you hours might take me minutes simply because I have both domain knowledge and a perverse knowledge of Vim script so vast that many would consider it a symptom of mental illness. On the flip side, some ideas I'll reject no matter how good the implementation is. "Send a patch" is an edge case answer in my book.

Self-Promotion

Like pathogen.vim? Follow the repository on GitHub and vote for it on vim.org. And if you're feeling especially charitable, follow tpope on Twitter and GitHub.

License

Copyright (c) Tim Pope. Distributed under the same terms as Vim itself. See :help license.

vim-pathogen's People

Contributors

dbb avatar ffledgling avatar gedge avatar graywh avatar jaredatron avatar koalaman avatar leoluz avatar lparry avatar maksimr avatar mattn avatar narfdotpl avatar othree avatar powerman avatar sanspace avatar sejaeger avatar sofaking avatar tpope avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vim-pathogen's Issues

avoid to load 'test' directory

I think that vim-pathogen is working good for code repository like github.
We can install many vimscripts only that close repository into bundle directory.
But some repository include 'test' directory for self-testing.

I tnink that pathogen.vim have better to have a way to except directory given.

Thanks.

Subdirectories of bundles are not parsed for addition to rtp

I'm running Vim 7.3 on windows 7.
The issue I'm having is that the after dir is not being added to the rtp for the snipmate plugin. The snipmate dir structure is:
~\vimfiles\bundle\snipmate
~\vimfiles\bundle\snipmate\after

From debugging, it looks like ~\vimfiles\bundle\snipmate is added to rtp but no directories under snipmate are added.
By moving ...\snipmate\after dir to directly under bundle, the directory is added as expected.

I am running the latest version of pathogen and from reviewing the issues log, I have verified that previous fixes to pathogen#runtime_append_all_bundles() are in the version of pathogen I've got installed.

Generate a single helptags inside .vim/doc

Right now, pathogen#helptags() is available to create helptags inside individual bundles. This makes a mess if you're using git and store bundles as submodules, since the submodule status becomes "modified".

There should be a pathogen#combined_helptags() that generates a helptags file from all docs in .vim/doc and from all pathogen bundles. This way, the status of submodules don't get affected and you can commit the updated helptags in the master repo in the same commit you're updating the submodules.

Slimv doesn't load under Pathogen

The slimv plugin silently fails to load when installed under Pathogen. Is this expected, since it uses a number of runtime folders besides the typical ones? Is there a workaround?

Filetype detection problem

Hi, I can't find out why but when #infect() is uncommented in my .vimrc, many types of files
are recognized as conf. Ex: vim test.pl has conf syntax highlighting. Any idea on why it might be?
Cheers

After directories not loaded in Windows

after directories are not loaded in windows because the separator (sep) is not escaped in the substitute function call.

my quick hack:
let esc_sep = escape(pathogen#separator(), '')
...
let list += pathogen#glob_directories(substitute(dir,'after$',name.esc_sep.'*[^~]'.esc_sep.'after','')) + [dir]

Pathogen triggered only after Vedit

I have everything set up as instructed in doc. I have cloned vim-fugitive into ~/.vim/bundle. It does not work until I do :Vedit plugin/fugitive.vim. Than I can use it. Maybe something in my .vimrc? ( I did included call pathogen#infect() as first line in .vimrc, just to be sure) Same goes for vim-unimpaired.

pathogen#helptags() by default

I suggest to add helptags() by default, or tell about it on the installation section, I tought my install was broken because I couldn't use :h rails-commands and :h fugitive-commands (I'm new to vim also)

thanks for this awesome software

Incompatible with Dr.Chip's Rainbow.vim

My system is windows xp sp3 with gvimPortable 7.3.
Pathogen is the lastest version from github.

I found Dr.Chip's Rainbow.vim can't function as design.
The script can be downloaded from the following link.
http://www.drchip.org/astronaut/vim/vbafiles/Rainbow.vba.gz

After installing Rainbow, restarting vim, opening a .c file, and then I type :Rainbow
An error message is shown:
Error detected while processing function Rainbow#Rainbow:
line 34:
E484: Can't open file D:\Dropbox\Portable\gvimPortable\Data\settings/vimfiles/after/syntax/c/rainbow.vvim

I guess it is another /after directory issue.
Please check it out if you have time.
Thank you.

I've installed 11 vim scripts (vba type included). I think my installation is correct.

auto compile documentation makes vim starts slower?

I have put the line

call pathogen#helptags()

in .vimrc.

I wonder if that will make vim starts slower than usual since it has to generate documentation each time for all plugins.

Haven't noticed any slowness yet since I just have 2 plugins in my bundle folder.

readme file incorrectly says to use "call pathogen#infect()"

The readme file states

Add this to your vimrc:

call pathogen#infect()

whereas the user actually needs to put call pathogen#runtime_append_all_bundles() in his .vimrc, like the pathogen page on vim.org instructs.

[I'd submit this as a pull request, but can't currently; long story...]

helptags() does not work on custom directory structure

Hi,

My vimfiles (on windows) is located under $VIM, like this

vim\
-- runtime\
-- vimfiles\
-- gvim.exe

So helptags() skips all my directories because they are all under $VIM

I set it like that to make vim portable and so that I don't have to change directory names when upgrading vim.

I propose the following update to the function

function! pathogen#helptags()
    let DIRSEP = '/'
    if has('windows')
        let DIRSEP = '\\'
        if exists('+shellslash') && &shellslash
            let DIRSEP = '//'
        endif
    endif
    let VIMFILES = substitute(split(&rtp, ',')[0], '/\|\\', DIRSEP, 'g')

    for dir in pathogen#split(&rtp)
        let dir = substitute(dir, '/\|\\', DIRSEP, 'g')
        if dir[0 : strlen(VIMFILES)-1] ==# VIMFILES && isdirectory(dir.'/doc') && && !empty(glob(dir.'/doc/*')) && (!filereadable(dir.'/doc/tags') || filewritable(dir.'/doc/tags'))
            helptags `=dir.'/doc'`
        endif
    endfor
endfunction

It also fixes problem with mixed directory separator on windows.

On shared web host, throws error "Cannot execute shell /usr/local/cpanel/bin/jailshell"

Hello and first: thanks! Pathogen now has a special place in my .vimrc - the top!

I've been using this on my own computers without an issue but just logged into my shared host (Site5) and I tried syncing my dotfiles and got this error:

Cannot execute shell /usr/local/cpanel/bin/jailshell [NOTE: repeated 5x]
Press ENTER or type command to continue

My bundle's don't seem to load (VIM does). Both version 7.0.x and 7.2.x do this.

Do I not have enough permissions to load pathogen's gloriousness?

Thanks again!

ShowMarks when managed by Pathogen sets vim running at ~90% CPU when a :help 'topic' command is issued

I have https://github.com/vim-scripts/ShowMarks.git as a git submodule in ~/.vim/bundle/ShowMarks and notice that whenever I try to invoke the help section for a topic, vim spins at quite too many CPU cycles to be healthy i.e. vim is unable to process anything else until a CTRL-C is used. I have a few other plugins installed similarly, but it seems that ShowMarks is the only one giving me trouble so far.

I'm not sure which module causes the trouble in this instance as I don't see a problem when ShowMarks is installed from http://www.vim.org/scripts/download_script.php?src_id=3342 to the regular ~/.vim/plugin/ directory but then again, no help file is distributed with it here (it's the git version that has one). I also don't see a problem when I comment out the call to pathogen#helptags() in my .vimrc.

https://github.com/shalomb/.vim/blob/master/messages is my output from vim when :set verbose=9 and :debug help joinspaces. I don't see anything out of the ordinary in the output, apart from what seems to be multiple attempts to locate the tags files for each module. Is this normal?

Improvement for pathogen#runtime_append_all_bundles()?

Hi,
I am using a 'bundle' folder for all plugins other than mine & I also have a 'plugins' directory for my plugins only.
So, in my .vimrc, I am doing:
call pathogen#runtime_append_all_bundles()
call pathogen#runtime_append_all_bundles('plugins')
Maybe a loop within pathogen#runtime_append_all_bundles() would simplify/boost up things...

And a call to pathogen#runtime_append_all_bundles('bla') would check for 'bla' dirs as well as 'bundle' ones.

Ta

[REQUEST] allow user to specify tags file destination for pathogen#helptags()

I don't know if this approach has gained traction, but I keep my dotfiles in a git repo and use git submodules to sync my vim plugins. When I run pathogen#helptags(), tags files are generated in each of my plugin folders, which act as untracked changes in these submodules. It would be great if I could keep all these tags files in a subfolder of autoload/pathogen itself (or another configurable spot!).

If anyone reading this has another solution to this problem that won't require a patch, I'd love to hear it!

Not compatible with vim-git-branch-info

I don't know if this is really any fault of pathogen or if the blame is with vim-git-branch-info, but it appears that that is never loaded. When starting vim I see the following.

E117: Unknown function: GitBranchInfoString        
E15: Invalid expression: GitBranchInfoString()

Plugin can be found at http://github.com/taq/vim-git-branch-info

EDIT Had no idea about %{fugitive#statusline()} till just now, so just ditched this script. May be worth looking into regardless in case there is a bug.

Load order issue with pathogen, rails.vim & surround?

I've recently moved to pathogen to manage all my vim bundles, with git submodules....

Here's my repo:
https://github.com/sentientmonkey/vimfiles

But after I migrated, I can't seem to use rails.vim's surround enhancements. (like yss= for <%= %>) I think what's happening is that rails.vim is loading first, then surround is loaded. I didn't quite have this issue before the bundles, so I think it might be in the glob since "vim-rails" comes before "vim-surround".

https://github.com/sentientmonkey/vimfiles/tree/master/bundle

I couldn't find any way in pathogen to specify load order. I could rename my submodules, but I kind of wanted to keep them named the same as their repos. Are there anyways to specific load order with pathogen?

E117: Unknown function: pathogen#infect

New installation, with newbie vim user and first install of pathogen (so probably user error!)

Vim 7.2.2, pathogen 2.0
disabled the global /etc/vimrc
put the following in .vimrc

call pathogen#infect()
syntax on
filetype plugin indent on

pathogen is in

~$ ls .vim/autoload/pathogen.vim
.vim/autoload/pathogen.vim

starting vim:

vim -Vdebug -u NONE
:so .vimrc

error displayed

Error detected while processing /home/ec2-user/.vimrc:
line    1:
E117: Unknown function: pathogen#infect

debug text follows:

sourcing ".vimrc"
Searching for "autoload/pathogen.vim" in "/home/me/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/home/me/.vim/after"
Searching for "/home/me/.vim/autoload/pathogen.vim"
chdir(/home/me/.vim/autoload)
fchdir() to previous dir
line 1: sourcing "/home/me/.vim/autoload/pathogen.vim"
finished sourcing /home/me/.vim/autoload/pathogen.vim
continuing in /home/me/.vimrc
Searching for "autoload/pathogen.vim" in "/home/me/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/home/me/.vim/after"
Searching for "/home/me/.vim/autoload/pathogen.vim"
chdir(/home/me/.vim/autoload)
fchdir() to previous dir
line 1: sourcing "/home/me/.vim/autoload/pathogen.vim"
finished sourcing /home/me/.vim/autoload/pathogen.vim
continuing in /home/me/.vimrc
Error detected while processing /home/me/.vimrc:
line    1:
E117: Unknown function: pathogen#infect
chdir(/usr/share/vim/vim72/syntax)
fchdir() to previous dir
line 2: sourcing "/usr/share/vim/vim72/syntax/syntax.vim"
Searching for "syntax/synload.vim" in "/home/me/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/home/me/.vim/after"
Searching for "/home/me/.vim/syntax/synload.vim"
Searching for "/usr/share/vim/vimfiles/syntax/synload.vim"
Searching for "/usr/share/vim/vim72/syntax/synload.vim"
chdir(/usr/share/vim/vim72/syntax)
fchdir() to previous dir
line 19: sourcing "/usr/share/vim/vim72/syntax/synload.vim"
Searching for "syntax/syncolor.vim" in "/home/me/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/home/me/.vim/after"
Searching for "/home/me/.vim/syntax/syncolor.vim"
Searching for "/usr/share/vim/vimfiles/syntax/syncolor.vim"
Searching for "/usr/share/vim/vim72/syntax/syncolor.vim"
chdir(/usr/share/vim/vim72/syntax)
fchdir() to previous dir
line 21: sourcing "/usr/share/vim/vim72/syntax/syncolor.vim"
finished sourcing /usr/share/vim/vim72/syntax/syncolor.vim
continuing in /usr/share/vim/vim72/syntax/synload.vim
Searching for "/usr/share/vim/vimfiles/after/syntax/syncolor.vim"
Searching for "/home/me/.vim/after/syntax/syncolor.vim"
finished sourcing /usr/share/vim/vim72/syntax/synload.vim
continuing in /usr/share/vim/vim72/syntax/syntax.vim
Searching for "filetype.vim" in "/home/me/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/home/me/.vim/after"
Searching for "/home/me/.vim/filetype.vim"
Searching for "/usr/share/vim/vimfiles/filetype.vim"
Searching for "/usr/share/vim/vim72/filetype.vim"
chdir(/usr/share/vim/vim72)
fchdir() to previous dir
line 25: sourcing "/usr/share/vim/vim72/filetype.vim"
Searching for "ftdetect/*.vim" in "/home/me/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/home/me/.vim/after"
Searching for "/home/me/.vim/ftdetect/*.vim"
Searching for "/usr/share/vim/vimfiles/ftdetect/*.vim"
Searching for "/usr/share/vim/vim72/ftdetect/*.vim"
Searching for "/usr/share/vim/vimfiles/after/ftdetect/*.vim"
Searching for "/home/me/.vim/after/ftdetect/*.vim"
not found in 'runtimepath': "ftdetect/*.vim"
finished sourcing /usr/share/vim/vim72/filetype.vim
continuing in /usr/share/vim/vim72/syntax/syntax.vim
Searching for "/usr/share/vim/vimfiles/after/filetype.vim"
Searching for "/home/me/.vim/after/filetype.vim"
Executing FileType Auto commands for "*"
autocommand exe "set syntax=" . expand("<amatch>")  

Executing Syntax Auto commands for "*"
autocommand call s:SynSet()

Executing BufRead Auto commands for "*"
autocommand if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat | runtime! scripts.vim | endif

Searching for "scripts.vim" in "/home/me/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/home/me/.vim/after"
Searching for "/home/me/.vim/scripts.vim"
Searching for "/usr/share/vim/vimfiles/scripts.vim"
Searching for "/usr/share/vim/vim72/scripts.vim"
chdir(/usr/share/vim/vim72)
fchdir() to previous dir
line 0: sourcing "/usr/share/vim/vim72/scripts.vim"
finished sourcing /usr/share/vim/vim72/scripts.vim
continuing in BufRead Auto commands for "*"
Searching for "/usr/share/vim/vimfiles/after/scripts.vim" 
Searching for "/home/me/.vim/after/scripts.vim"
Executing BufRead Auto commands for "*"
autocommand if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat    && (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#'^I|| getline(4) =~ '^#' || getline(5) =~ '^#') |   setf conf | endif 

finished sourcing /usr/share/vim/vim72/syntax/syntax.vim
continuing in /home/me/.vimrc
Searching for "filetype.vim" in "/home/me/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/home/me/.vim/after"
Searching for "/home/me/.vim/filetype.vim"
Searching for "/usr/share/vim/vimfiles/filetype.vim"
Searching for "/usr/share/vim/vim72/filetype.vim"
chdir(/usr/share/vim/vim72)
fchdir() to previous dir
line 3: sourcing "/usr/share/vim/vim72/filetype.vim"
finished sourcing /usr/share/vim/vim72/filetype.vim
continuing in /home/me/.vimrc
Searching for "/usr/share/vim/vimfiles/after/filetype.vim"
Searching for "/home/me/.vim/after/filetype.vim"
Searching for "ftplugin.vim" in "/home/me/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/home/me/.vim/after"
Searching for "/home/me/.vim/ftplugin.vim"
Searching for "/usr/share/vim/vimfiles/ftplugin.vim"
Searching for "/usr/share/vim/vim72/ftplugin.vim"
chdir(/usr/share/vim/vim72)
fchdir() to previous dir
line 3: sourcing "/usr/share/vim/vim72/ftplugin.vim"
finished sourcing /usr/share/vim/vim72/ftplugin.vim
continuing in /home/me/.vimrc
Searching for "/usr/share/vim/vimfiles/after/ftplugin.vim"
Searching for "/home/me/.vim/after/ftplugin.vim"
Searching for "indent.vim" in "/home/me/.vim,/usr/share/vim/vimfiles,/usr/share/vim/vim72,/usr/share/vim/vimfiles/after,/home/me/.vim/after"
Searching for "/home/me/.vim/indent.vim"
Searching for "/usr/share/vim/vimfiles/indent.vim"
Searching for "/usr/share/vim/vim72/indent.vim"
chdir(/usr/share/vim/vim72)
fchdir() to previous dir
line 3: sourcing "/usr/share/vim/vim72/indent.vim"
finished sourcing /usr/share/vim/vim72/indent.vim
continuing in /home/me/.vimrc
Searching for "/usr/share/vim/vimfiles/after/indent.vim"
Searching for "/home/me/.vim/after/indent.vim"
finished sourcing .vimrc 

runtime_append_all_bundles() not adding bundle/ subdirs

I found that pathogen#runtime_append_all_bundles() was not adding bundle/ subdirectories to rtp on my system because of the [^~] portion of the glob passed to pathogen#glob_directories() at line 121 of pathogen.vim.

If I remove that portion of the glob (thereby reducing the glob to a simple sep.'*', then the bundle/ subdirectories are detected properly.

Here is my Vim version:

$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Mar  8 2010 22:56:09)
Included patches: 1-385
Compiled by ArchLinux
Big version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent 
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+cryptv +cscope +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic 
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path 
+float +folding -footer +fork() +gettext -hangul_input +iconv +insert_expand 
+jumplist +keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap 
+menu +mksession +modify_fname +mouse +mouseshape +mouse_dec -mouse_gpm 
-mouse_jsbterm +mouse_netterm -mouse_sysmouse +mouse_xterm +multi_byte 
+multi_lang -mzscheme +netbeans_intg -osfiletype +path_extra +perl +postscript 
+printer -profile +python +quickfix +reltime +rightleft -ruby +scrollbind 
+signs +smartindent -sniff +startuptime +statusline -sun_workshop +syntax 
+tag_binary +tag_old_static -tag_any_white -tcl +terminfo +termresponse 
+textobjects +title +toolbar +user_commands +vertsplit +virtualedit +visual 
+visualextra +viminfo +vreplace +wildignore +wildmenu +windows +writebackup 
+X11 -xfontset +xim +xsmp_interact +xterm_clipboard -xterm_save 
   system vimrc file: "/etc/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "/etc/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14     -march=i686 -mtune=generic -O2 -pipe -D_FORTIFY_SOURCE=1    -D_REENTRANT -D_GNU_SOURCE  -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/perl5/core_perl/CORE  -I/usr/include/python2.6 -pthread   
Linking: gcc   -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE  -Wl,--hash-style=gnu -Wl,--as-needed -L/usr/local/lib -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0   -lXt -lncurses -lacl -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE  -fstack-protector -L/usr/local/lib  -L/usr/lib/perl5/core_perl/CORE -lperl -lutil -lc -L/usr/lib/python2.6/config -lpython2.6 -lutil -lm -Xlinker -export-dynamic    

Errors when running vim with Pathogen installed

I'm trying to install pathogen, but am getting a string of errors. I've installed autoload/pathogen.vim and added the following to .vimrc (before the 'filetype plugin indent on' directive'):

call pathogen#helptags()
call pathogen#runtime_append_all_bundles()

But when I open vim, I get the following command line errors:

me@me-desktop:~/.vim$ vim autoload/README 
Error detected while processing /home/me/.vim/autoload/pathogen.vim:
line    4:
E492: Not an editor command: ^M
line    8:
E492: Not an editor command: ^M
line    9:
E15: Invalid expression: exists("g:loaded_pathogen") || &cp^M
line  143:
E171: Missing :endif
line    4:
E492: Not an editor command: ^M
line    8:
E492: Not an editor command: ^M
line    9:
E15: Invalid expression: exists("g:loaded_pathogen") || &cp^M
line  143:
E171: Missing :endif
Error detected while processing /home/me/.vimrc:
line   72:
E117: Unknown function: pathogen#helptags
Error detected while processing /home/me/.vim/autoload/pathogen.vim:
line    4:
E492: Not an editor command: ^M
line    8:
E492: Not an editor command: ^M
line    9:
E15: Invalid expression: exists("g:loaded_pathogen") || &cp^M
line  143:
E171: Missing :endif
Error detected while processing /home/me/.vimrc:
line   73:
E117: Unknown function: pathogen#runtime_append_all_bundles
me@me-desktop:~/.vim$ 

I've tried to get rid of the

^M
with a global replace:
:%s/^V^M//g
but the replace doesn't see any of them.

Any suggestions what I'm doing wrong?

pathogen#helptags doesn't work if vimfiles is installed next to vim73

On a Windows, there are a number of places one can place the vimfiles directory; from the help for runtimepath:

PC, OS/2: "$HOME/vimfiles,
    $VIM/vimfiles,
    $VIMRUNTIME,
    $VIM/vimfiles/after,
    $HOME/vimfiles/after"

I place vimfiles in $VIM so I have the standard installation files in c:\vim\vim73 and my customised stuff in c:\vim\vimfiles. This has the significant advantage for me that I can either have it on have a network drive or a USB stick and it'll work on any machine.

However, pathogen's pathogen#helptags function checks that the path doesn't start with $VIM and so omits all of the paths in $VIM/vimfiles/bundle/*.

'After' scripts not loading on win32

It looks like there is an issue using pathogen with plugins that makes use of after scripts on windows. For example, I've tried to run Snipmate with Pathogen on some systems: MacOS, Linux, WinXP and Win7. On MacOS and Linux it works just fine. On windows systems it loads all plugin files but the after script. I've realized that it was something related to the after script because I've copied just that folder(Snipmate's after folder) to Vim's root directory and it was fully functional again.

If you need any additional info, please let me know.

Tks!
-LeoLuz-

On windows, the 'after' directories are not appended to end of &rtp

I have tested this with the same vimrc on windows, cygwin, and osx. The issue only occurs with the win32 version of gvim and vim.

On my Windows 7 machine, none of the after folders in my bundle folder are added to the end of the &rtp. As a result, I am having issues with certain bundles in gvim or vim. (One example is snipmate.)

When using cygwin on the same machine with the same vimrc, pathogen correctly adds the after folders to the end of the &rtp. And the plugins installed in the bundles folder work as expected.

And using the same vimrc on my mac and linux boxes has no problems.

Workaround is to explicitly append the after folders to the rtp. For example:

if has("win16") || has("win32") || has("win64")
  execute "set rtp+=".g:my_vim_dir."/bundle_gitrepos/snipmate/after"
  execute "set rtp+=".g:my_vim_dir."/bundle_gitrepos/coffee-script/after"
  execute "set rtp+=".g:my_vim_dir."/bundle_gitrepos/csapprox/after"
  execute "set rtp+=".g:my_vim_dir."/bundle_gitrepos/tabular/after"
  "append other after folders here...
endif

FYI: It seems others are having the same issue...
In this discussion others have pointed out that explicitly sourcing the vimscript in the after folder solves the problem. This is what lead me to my version of the workaround above. Then after looking a bit deeper, I discovered the root of the problem is that the after folder is not properly appended to my &rtp when using the win32 version of gvim or vim, but does work with the cygwin version.

How to load css_color.vim?

Hi,
I can't make css_color.vim to work using pathogen. Where shall I put the file or the syntax directory?

Thanks

Nevermind

That was not your project. I am dumb.

pathogen won't load colorschemes

I followed these instructions on installing a colorscheme to the bundle:

git clone https://github.com/jelera/vim-gummybears-colorscheme ~/.vim/bundle

# some proof that the file is there
ls .vim/bundle/colors 
gummybears.vim

This is how I'm calling pathogen in my vimrc

call pathogen#runtime_append_all_bundles()
filetype off
syntax on
" turn filetype back on
filetype indent plugin on

As described here: http://stackoverflow.com/questions/3383502/pathogen-does-not-load-plugins

I also tried installing this colorscheme in bundle: http://ethanschoonover.com/solarized/vim-colors-solarized

Vim is insisting that I have no colorscheme called gummybears or solarized.

I'm probably doing this wrong.

Your README encourages us to contact you, but I couldn't find a way other than filing an issue. This isn't an issue, but more of a request for suggestions.

I use the CSApprox plugin, but I may not always install it, and i want to be able to share my .vimrc with others without requiring that they install it. It needs a flag to be set before it loads so that it doen't throw up a (pretty useless) warning in some cases, and I want to try a fallback in case the plugin isn't available.

As such the logic gets pretty messy.

" plugins {
    " pre-config {
        " CSapprox: reproduce gvim colors in terminal vim..
        let g:CSApprox_verbose_level = 0 "don't complain
    " }

    " Pathogen: keep plugins nicely bundled in separate folders.
    "       http://www.vim.org/scripts/script.php?script_id=2332
    runtime autoload/pathogen.vim
    if exists('g:loaded_pathogen')
        call pathogen#infect()  "load the bundles, if possible
        Helptags                "plus any bundled help
    endif
    runtime! plugin/**/*.vim    "Load em up!

    " post-config {
    if !exists('g:CSApprox_loaded')
        " CSApprox didn't load.
        " Fall back to pre-compiled color scheme, if possible.
        silent! execute 'colorscheme' colors_name.'-approx'
    endif
    " }
" }

Is there any good way to clean this up? I'd like to get the CSApprox stuff out of my main .vimrc, while leaving pathogen there.

I see some before/after logic in pathogen, but it's not clear how to make use of it.

Files in 'plugin' subdirectories aren't loaded if Pathogen is initialized in .gvimrc

I was unable to get vim-surround to load from ~/.vim/bundle/surround/plugin/surround.vim, even though Pathogen had correctly inserted ~/.vim/bundle/surround into runtimepath. The problem was that I was initializing Pathogen (calling runtime_append_all_bundles) in my .gvimrc, not my .vimrc.

Now, this “issue” may be insurmountable; I don't know enough about the architecture of gvim to say so. It seems to me, though, that it'd be worth putting a warning somewhere in Pathogen's documentation for other idiots like me. Something along the lines of “this must go in your .vimrc, not your .gvimrc, or plugins won't load”. Sound reasonable?

Suggestion for documentation

In the readme, it says:

Can I put pathogen.vim in a submodule like all my other plugins?

Sure, stick it under ~/.vim/bundle, and prepend the following to your
vimrc:

source ~/.vim/bundle/vim-pathogen/autoload/pathogen.vim

In order to make this a bit more flexible across platforms (particularly useful if you're using the same .vim on Windows and Linux etc), an alternative to this is to use:

runtime bundle/vim-pathogen/autoload/pathogen.vim

I thought you might want to mention that in the readme in case it's useful to others. Of course, this only works if you've installed pathogen somewhere under ~/.vim (as opposed to ~/src or whatever).

Help file doesn't exist

Using pathogen w/ macVIm. It loads all of the plugins but has a problem with the help files.

I get this when I type :h plugin_name, like surround for instance:

File "/Users/xxxxxxxx/.vim/doc/surround.txt" does not exist
          "surround.txt" [readonly] 222L, 10392C 
Press ENTER or type command to continue

pressing ENTER I actually get the help queried. But this message is annoying

my .vimrc
//Tried these in alternating order - same results
" silent! call pathogen#helptags()
" silent! call pathogen#runtime_append_all_bundles()

//as well as these
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()

B || E

Tracking generated files with Pathogen

If you use Git to store all of your configs, and if a plugin generates a file in its own directory, it will remain as untracked content.

For example, YankRing generates a docs/tags file.
modified: bundle/YankRing.vim (untracked content)

This means that unless the mirror of VimScripts on Github adds a .gitignore entry for that file, Pathogen users are in trouble.

Error E151 if emtpy doc folder is present

Great plugin!
However, if there is an empty doc directory in the runtimepath (except for the standard dirs), it will cause error E151 in vim upon calling the pathogen#helptags function.

pathogen and vim sessions

it seems that pathogen doesn't handle vim sessions. If i start vim with -S session.vim none of the bundles are loaded.

works perfectly without sessions ;)

Plugins load with pathogen, but plugin functions do not work in .vimrc

I have set up pathogen and do call pathogen#infect() first in my .vimrc.

If i try to call a plugin function right after - it breaks. But once I get to normal mode I can call same command and they work.

so if I have this in my .vimrc (and i have the vim-fugitive installed) it doesn't work upon startup

call pathogen#infect()
echo fugitive#statusline()

but once i get past the error message E117: Unknown function: fugitive#statusline I can use fugitive's Git commands and echo fugitive#statusline() works fine

document how to handle a vba

there's many vim modules distributed as vimballs (vba). can you document how to extract the contents to a custom directory (the bundle directory)?

Incompatible with OmniCppComplete

When load a C++ file, Vim promotes these errors:

Error detected while processing /Users/xiaogaozi/.vim/bundle/omnicppcomplete/after/ftplugin/c.vim:
line    2:
E117: Unknown function: omni#cpp#complete#Init
Error detected while processing /Users/xiaogaozi/.vim/bundle/omnicppcomplete/after/ftplugin/cpp.vim:
line    2:
E117: Unknown function: omni#cpp#complete#Init

I'm using Vim 7.3 and OmniCppComplete. Thanks.

Using pathogen breaks detecting git commits

Once I add call pathogen#infect() git commits get detected with the wrong filetype. Previously syntax and filetype were set to gitcommit but with pathogen enabled to they set to conf. My vim information

VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Aug  8 2011 01:43:21)
Included patches: 1-266
Modified by Gentoo-7.3.266
Compiled by portage@pena
Huge version with GTK2 GUI.  Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent 
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments 
+conceal +cryptv -cscope +cursorbind +cursorshape +dialog_con_gui +diff 
+digraphs +dnd -ebcdic +emacs_tags +eval +ex_extra +extra_search +farsi 
+file_in_path +find_in_path +float +folding -footer +fork() -gettext 
-hangul_input +iconv +insert_expand +jumplist +keymap +langmap +libcall 
+linebreak +lispindent +listcmds +localmap -lua +menu +mksession +modify_fname 
+mouse +mouseshape +mouse_dec -mouse_gpm -mouse_jsbterm +mouse_netterm 
-mouse_sysmouse +mouse_xterm +multi_byte +multi_lang -mzscheme -netbeans_intg 
+path_extra -perl +persistent_undo +postscript +printer +profile +python 
-python3 +quickfix +reltime +rightleft +ruby +scrollbind +signs +smartindent 
-sniff +startuptime +statusline -sun_workshop +syntax +tag_binary 
+tag_old_static -tag_any_white -tcl +terminfo +termresponse +textobjects +title
 +toolbar +user_commands +vertsplit +virtualedit +visual +visualextra +viminfo 
+vreplace +wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim 
+xsmp_interact +xterm_clipboard -xterm_save 
   system vimrc file: "/etc/vim/vimrc"
     user vimrc file: "$HOME/.vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "/etc/vim/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/usr/share/vim"
Compilation: i686-pc-linux-gnu-gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/libdrm     -O2 -march=native -pipe -fomit-frame-pointer -D_FORTIFY_SOURCE=1      
Linking: i686-pc-linux-gnu-gcc   -L. -Wl,--as-needed -Wl,-O1 -rdynamic -Wl,-export-dynamic -Wl,--no-undefined -Wl,--as-needed -Wl,-O1 -L/usr/local/lib -Wl,--as-needed -o gvim   -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng14 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0   -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -lm -lelf   -lcurses -lacl -lattr -ldl     -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic   -Wl,-R -Wl,/usr/lib -L/usr/lib -lruby18 -lpthread -lrt -ldl -lcrypt -lm  -L/usr/lib

How would I use something not "pathogened" with pathogen?

For example http://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-extra-packaging-tools.html#id717580 Talks about using a plain .vim script.

I'd love to put this in the same structure as pathogen, but I'm uncertain how to do it. Could you add an entry to your FAQ, if such a thing is even possible, about how you would infect a regular .vim file so that it can be used with pathogen?

As a specific example, this one: http://www.panix.com/~elflord/vim/syntax/spec.vim

Thanks!

something about load ftdetect

During one hour test.
On my Ubuntu,

using vim-markdown by pathogen:
you should edit your vimrc:
filetype off

"activate pathogen
call pathogen#runtime_append_all_bundles()
call pathogen#helptags()

filetype plugin indent on

why not add this to readme? or give a func?

pathogen breaking perl filetype detection

I have a perl script I'm working on that is being detected as a conf file incorrectly after installing pathogen.

If I edit this file, it is highlighted incorrectly and

':set filetype?'

gives

'filetype=conf'

If I type ':filetype detect'

It resets its syntax highlighting to perl.

If I remove pathogen from autoload, the file appears as a perl file when first loaded (as it should).

E117: Unknown function: pathogen#is_bundle_disabled

When I went and added in http://github.com/msanders/snipmate.vim as a bundle, I started getting the following error:

Error detected while processing function pathogen#runtime_append_all_bundles:
line 10:
E117: Unknown function: pathogen#is_bundle_disabled

Looking around in pathogen.vim, I suspect that it should be just is_disabled and not is_bundle_disabled. I've changed my local copy and it seems fine now. I'd submit a pull request, but for one tiny tweak, this seems easier. :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.