
Vim: So long Pathogen, hello native package loading - tambourine_man
https://shapeshed.com/vim-packages/
======
cjhveal
I'm genuinely curious why you'd really want native package loading in vim,
except for purity's sake. If you're already using third party packages, is it
much worse to just add a package manager? I've been using junegunn's excellent
`vim-plug`[0] for a while now and it's worked really well. Some of the
benefits I can see over the native approach here:

\- Declarative configuration suitable for version control.

\- Parallel installation/update.

\- Run scripts or makefile on install/update.

\- On-demand loading based on open filetypes.

[0]: [https://github.com/junegunn/vim-plug](https://github.com/junegunn/vim-
plug)

~~~
joemi
Personally, none of the bullet points you mentioned matter to me at all, so
I'm glad about the improved native package loading. Plus, I've always found it
weird to need a package in order to load other packages (in a remotely sane
way).

As your comment implies, vim's improved package handling is still pretty
simplistic compared to some existing plugin managers, so there's really no
reason _not_ to want the functionality in vim. It's not like it was a huge
addition to the code that's now slowing down your system, or messing up
existing plugin managers. Similarly, it's not going to cause fuller-featured
plugin managers to cease further development.

~~~
eridius
On-demand loading is useful, because it speeds up launch time. You could have
hundreds of packages installed, but if they're all on-demand, launch can still
be blazing fast.

~~~
joemi
I think you're missing my point. I wasn't arguing against more feature-filled
package managers. I was answering cjhveal's genuine curiosity about why you'd
really want native package loading in vim.

------
dorianm
I'm surprised nobody mentioned Vundle:
[https://github.com/VundleVim/Vundle.vim](https://github.com/VundleVim/Vundle.vim)
(13k stars)

~~~
mbreedlove
This is what I use. I like that I don't have to mess around with any git
submodules or clutter up my dotfiles repo. Vundle handles the cloning of the
plugin repo. It's really hands off.

~~~
usernamefornow
It's been linked in this thread already, but I would recommend changing to
vim-plug since it has less clutter, see [https://github.com/junegunn/vim-
plug/wiki/faq#migrating-from...](https://github.com/junegunn/vim-
plug/wiki/faq#migrating-from-other-plugin-managers)

I've also run into coworkers having some weird transient issues that were
fixed when I got them to change to vim-plug. I can't say for sure that's what
fixed it of course, but it's now a bit of personal superstition.

------
selectnull
Last year I wrote my own Vim plugin manager vimanage [1] that uses Pathogen
and was wondering if it will still work with Vim 8. Apparently both Pathogen
and vimanage work (meaning Vim didn't break the backward compatibility) but I
like the idea of losing the dependency to Pathogen so I guess I have some work
to do.

[1]
[https://github.com/selectnull/vimanage](https://github.com/selectnull/vimanage)

------
101km
I've been running a bare vim since I've switched laptops and enjoyed the
simplicity.

It is time to reintroduce some of the fanciness I used to have configured. I
was looking forward to trying out Neovim but meanwhile Vim 8 has come out.
Which way should I go now?

~~~
pawelduda
I have been using NeoVim for half a year and have not looked back. It is
backward compatible (completes Vim test suite successfully) and brings some
other goodies, such as async jobs (I know Vim 8.0 has these but they have been
in NeoVim since I switched) and a great terminal emulator. It has much better
defaults that I did not know about when I was using Vim. Honestly - give both
a try - installing NeoVim, all you have to import your settings is to symlink
your .vimrc to .nvimrc, as far as I remember

~~~
d33
Thanks, I didn't about the terminal emulator! Now that I launched it via
vsplit and :set modifiable - how can I switch back to the second buffer?

~~~
fmoralesc
<C-\><C-n> leaves you in normal mode again, and then you can navigate as
usual.

~~~
brotherjerky
Note that you can bind something like `jj` to this command in the terminal in
order to more easily get out of terminal insert mode. Use `tnoremap`

------
linsomniac
I've made the, apparent, mistake of having some python plugins in my vim
setup. The packaging of vim7 for Ubuntu 16.04, the vim8 PPA both end up
leaving me with all sorts of errors when I save files, particularly Python
files. I had been using gvim in the terminal because of how it handles mouse
events, but now I have only one choice for the vim that has Python in it it
seems...

I had tried neovim in the past and just couldn't get it configured, so I went
back to vim. That was maybe 6 months ago though.

So I nuked all my plugins and that's making it better but I'm missing my
python lint and DNS serial number update helper, etc...

A few days ago I tried figuring out vim8's plugin stuff, and either the
searches I'm doing are not right, or there is very little
documentation/discussion on it, because I just didn't get anywhere.

So now I'm trying to figure out where I go from here... Possible choices:

\- Neovim, since I have to "start over" with vim anyway. \- Figure out the
vim8 plugins, spending more time with it. \- Atom? It looks sweet from my
playing with it, but I'd probably only use it for serious coding, which I
don't do that much, I'm a sysadmin and always in and out of editors in the
terminal. \- Something else (Wingware, Pycharm, ?)

Looks like I need to add something to my schedule to figure this mess out. I'm
leaning towards figuring out neovim, because it has a great velocity.

~~~
usernamefornow
If you just need a vim with python, it's fairly simple to compile from source.
You can start by modifying what's given here:
[https://github.com/Valloric/YouCompleteMe/wiki/Building-
Vim-...](https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-
source)

About the package system, yes there really isn't any documentation at all
because it doesn't do all that much in the first place. I would suggest just
using vim-plug or another package manager.

Also, there really isn't anything to learn in Neovim. Mainly just try out the
terminal emulator and come up with some terminal maps.

~~~
linsomniac
Sorry, I'm an operations guy, so compiling from source is never simple. :-/ (I
know most people don't understand this, but in my world "./configure; make"
just leads to a world of pain)

vim-plug sounds like something I should investigate. I hadn't heard of it
before now, I had been using pathogen for the last year or two.

I've been playing a bit with neovim and have it working happily now. Not sure
what the problem I was having last time I tried, but it was just a nightmare
(granted, I had only given myself 15m to try it).

------
cm3
What am I missing by not using a manager?

I've been doing something like this

    
    
      set rtp^=~/.vim/bundle/ScrollColors/
    

for each plugin, and it works wonderfully, doesn't complicate things, plus
never broke.

Granted, I don't auto-update plugins but go into each git repo and checkout
the desired release tag (or some revision) if I need to.

~~~
ecnahc515
Mostly convenience and not loading plugins that won't be used based on file
type, etc.

------
idobai
What are the benefits of the native package manager over something like Vim-
Plug? Because as I know it can't download/update/delete/snapshot/diff packages
from vim.

~~~
scrollaway
Your account appears to have been banned. I vouched your recent posts but
you'll want to email the mods.

