I installed Vim in Fedora 16 with this command:
$ yum -y install vim-enhanced
Vim works just fine, but now I wanted to add the NERD Commenter and NERD Tree plugins. In the home directory I cant find neither .vim/ nor .vimrc. So I went ahead and created those but still it's not picking it up.
How do you install Vim plugins in Fedora?
You have to create ~/.vimrc and ~/.vim/ yourself.
After that simply follow each plugin's installation instructions.
For NERDTree (from the plugin's page):
Unzip the archive into your ~/.vim directory.
That should put NERD_tree.vim in ~/.vim/plugin and NERD_tree.txt in ~/.vim/doc.
Run :helptags.
Go :help NERD_tree.txt for the help page.
After all that, you are supposed to end up with this structure:
~/.vim/doc/NERD_tree.txt
~/.vim/doc/tags
~/.vim/nerdtree_plugin/exec_menuitem.vim
~/.vim/nerdtree_plugin/fs_menu.vim
~/.vim/plugin/NERD_tree.vim
~/.vim/syntax/nerdtree.vim
Which is all you need to use NERDTree:
:NERDTree<CR>
Did you try the "built-in" netrw, invoked with :Ex (:Hex,:Sex,:Vex…), before deciding to install NERDTree?
The fact that your distribution is Fedora should be largely irrelevant. The install process is the same for any GNU/Linux distribution.
I recommend you manage your plugins with Tim Pope's Pathogen. Install Pathogen to your .vim directory per the instructions in the README. Then, edit your .vimrc to run Pathogen on startup (again, see the README).
Then, with Pathogen installed, you can add any plugin to the directory .vim/bundle, and it'll load automatically.
Vim's plugin management is pretty crummy, and Pathogen fills the much-needed role of a plugin manager. It's wildly popular, and pretty simple.
Related
When I follow github instructions for vim-misc and vim-sessions, after unzipping to /Users/<me>/.vim/misc and /Users/<me>/.vim/vim-session-master, and then restarting macvim, I get
:helptags ~/.vim/doc
E150: Not a directory: ~/.vim/doc
Also tried putting the two folders in /Users/<me>/ (where my .vimrc is) and in the two locations pointer by $VIM and $VIMRUNTIME from within macvim (/Applications/MacVim.app/Contents/Resources/vim) all to no avail.
I guess I really don't understand how running the :helptags <whatever> starts up/completes installation of these plug-ins anyway?
Before using using a plugin managers, plugins used to go directly into ~/.vim, not into ~/.vim/pluginname. That's when we ran :helptags ~/.vim/doc.
Then we had plugin manager, each with different specific way of doing things. Some even take care of registering the documentation of the plugins installed.
IMO, you'd better find a plugin manager suited to your need and use it. I remember a Q/A on vi.SE, you could start by reading it.
If you prefer to install plugins manually instead of using one of plugin managers like vim-plug or others then you should add plugin directory to your runtimepath. Place this line to your .vimrc set runtimepath+=/path/to/plugin. I would not recommend to place plugins directly to ~/.vim directory, use sub-folder instead (e.g. /Users/<you>/.vim/plugins).
I use Vundle to manage my plugins. However, some plugins only have instructions for manual installation or installation with Pathogen. For example:
install details
Installation With Pathogen:
1. Place in pathogen directory
Installation W/Out Pathogen:
1. Place in .vim/indent directory, or anywhere in your runtime path.
2. If placed outside of .vim/indent directory,
set g:js_indent = /location/to/javascript.vim in your
.vimrc file. (This tells the html.vim file where to find
the javascript indent file)
Source: http://www.vim.org/scripts/script.php?script_id=3081
Is there a way to convert Pathogen installation instructions to work with Vundle?
Or should I have both Pathogen and Vundle installed and use which ever one seems best supported by the Plugin I want to install?
Pathogen just extends your 'runtimepath' to include separate plugin directories under ~/.vim/bundle/... (but doesn't care how you install the plugins there). Later, plugins like Vundle copied that idea and added functionality to automatically update from GitHub and other locations.
As long as you have an install location that is supported by Vundle, it should be trivial to consume it. For the mentioned plugin, this should be (using the vim-scripts.org GitHub mirror):
Plugin 'JavaScript-Indent'
Summary
You don't need explicit instructions from a plugin to install it via a plugin manager. As long as the install location is supported, just follow Vundle's quick start. Vundle offers a superset of Pathogen; you'll never need both.
I unziped the vim-fuzzyfinder and vim-l9 packages in my ~/.vimrc directory
[shetye#dev03 ~/.vim/vim-fuzzyfinder]$ls
autoload doc plugin
[shetye#dev03 ~/.vim]$cd vim-l9/
[shetye#dev03 ~/.vim/vim-l9]$ls
autoload doc plugin
Also i tried copying the same in my home directory. vim however does not detect this plugin.
:fuf-usage
E492: Not an editor command fuf-usage
:FufBuffer
E492: Not an editor command FufBuffer
I tried adding the directory ~/.vim/vim-fuzzyfinder, ~/.vim/vim-l9 to the $PATH env variable. That did not help either.
Any ideas on how to get fuzzyfinder going ?
You should install it correctly to make it work. This is the file structure you should have:
~/
+-.vim/
+-autoload/
+-doc/
+-plugin/
Once you get to that point, you are supposed to type this command in Vim:
:helptags ~/.vim/doc
The .vim directory structure that you have created is a mix between traditional Vim (where all plugins are mixed together into single .vim/autoload/, .vim/plugin/, etc. directories) and the separation (into .vim/bundle/<pluginname>/autoload/) created by package managers like Pathogen or Vundle.
Either stick to the original layout (even though there are many proponents for the new package structure, the old one works just fine; it's just not as easy to uninstall a plugin), or install one of the mentioned package managers and adhere to their prescribed layout.
Vim 7.3 on Ubuntu 12.10
I recently installed vim from the Ubuntu software center. So far, I've installed the following vim plugins: NERDTree, rails and ack.
I'm taking a course on python and another one on Ruby on Rails. I was surprised that vim didn't recognize the languages as far as indenting goes. Checking various questions and answers on this forum, as well as checking vim help, I see that there should be a directory named 'ftplugin' in the $VIMRUNTIME directory. My $VIMRUNTIME is just the same as $HOME which is ~/, but there is no 'ftplugin' in my home directory. There's also nothing like that in ~/.vim. Does that mean I don't have any filetype plugins?
If I don't, where can I get the usual set?
edit
Just to be clear: upon install, Vim doesn't do anything to your home directory. The ~/.vim directory and any subdirectory are to be created by the user: it is where you put your config so you are in charge.
endedit
You must create those directories yourself, no matter what OS you are using. On UNIX-like systems (Linux, Mac OS X…) all your stuff is supposed to go into ~/.vim:
$ cd
$ mkdir .vim
$ cd .vim
Some plugins may need to be placed into specific subdirectories:
~/.vim/autoload
~/.vim/plugin
etc.
You can:
create those directories just like you created ~/.vim and place all the files manually
$ unzip the plugins right there in ~/.vim, the necessary directories are created for you
use some plugin manager like Pathogen or VAM or Vundle and/or a VCS…
I'd advise you to start slow. Just install everything manually: it will help you getting more comfortable with the whole thing.
Anyway, since you have already installed a bunch of (useless IMO, except rails) plugins you probably already know all that.
Vim already has the necessary ftplugins, you only need to tell Vim to "activate" them by default. Add these two lines to your ~/.vimrc (create that file if you didn't already):
filetype plugin indent on
syntax on
After installing many plugins in my ~/.vim folder, I feel I no more understand the contents of that folder and I don't feel enough confidence about deleting the plugin from ~/.vim/plugin to uninstall a plugin. What if there are related files in other directories? What if the documentation was already registered (:helptags), yet the plugin will be removed? Is there any procedure to uninstall vim-plugins? I don't really want my Vim to end up being as messy as my Windows.
If you want to uninstall a plugin which was installed into ~/.vim manually, you should redownload its archive, list its content and manually remove everything, then run :helptags again (this will remove missing tags). If plugin was installed from a vimball, see documentation for :RmVimball. Vimball archives normally have .vba or .vba.gz extensions. In case you don't remember vimball file name, it is contained into ~/.vim/.VimballRecord file.
In order to avoid this problem in the future, try vim-addon-manager plugin. Like pathogen, it puts each plugin into separate directory, but is also capable of downloading, installing and updating them.
To manage easily plugins in vim use pathogen
and this awesome article --> come home to vim
If you install vim plugin via Vundle, it's easy to uninstall plugin, comment out the plugin in .vimrc, example:
"Bundle 'tmhedberg/SimpylFold'
then
:BundleClean
common commands of Vundle:
:BundleList -List all plugins
:BundleInstall -Install all plugins
:BundleInstall! -Update all plugins
:BundleSearch foo -Find foo plugin
:BundleSearch! foo -refresh buffer for foo plugin
:BundleClean -clean all plugins if the plugin not defined in .vimrc
You can simply run:
vim +PlugClean
OR open vim and run :PlugClean.
On running this command, it will ask you to remove the plugin directories. answer with y and it will clean the plugs.
Interestingly, even the much downloaded Pathogen.vim documentation boldly suggests (their emphasis, not mine):
For new users, I recommend using Vim's built-in package management instead. :help packages
Ok, I can take a hint, that pathogen is not for most of us new users.
So then looking into native vim packages, and what it has to offer...
The skinny from :help packages seems to be this:
... A package can be downloaded as an archive and unpacked in its own directory.
Thus the files are not mixed with files of other plugins.
That makes it easy to update and remove.