I have mismatched plugin files floating around ~/.vim; I am experiencing a corrupted behavior within vim itself, and both my .vimrc and .gvimrc are filled with things I don't understand.
Examples: NERDTree plugin displays two identical file drawers on start, settings in .vimrc and .gvimrc aren't manifesting themselves.
Is there any way that I can completely "re-install" vim? Or, is there a way that I can get a new .vim folder, and start over form scratch? I want to learn vim, but it's hard with all these plugins installed. I just want to start with a plain vanilla installation.
Thanks for any help in advance.
cd
mv .vimrc .vimrc-old
mv .vim .vim-old
touch .vimrc
mkdir .vim
To remove everything from your vim configuration remove the entire .vim folder as well as everything from your .vimrc file. Keep the empty file in place though because without it vim will start in compatible mode by default and you almost certainly don't want that.
Note that there are system-wide files that are not stored in your home directory but if you haven't tweaked any of those then the above steps are all you need to do.
I know this is a bit old question but there is another useful command you can use mv ~/.viminfo ~/.oldviminfo
As mentioned in this answer, I moved .vim and .vimrc. which resulted in the error below
bash: /usr/bin/vim: No such file or directory
I'm not sure why I was facing the error above. When I moved only the .vimrc to .vimrc-bkp and created a new empty .vimrc, vim started working like a fresh install.
Related
Even though I I added "set noundofile" in the "_vimrc" file in the installation directory of Vim it still creates undo files.
You have no business editing anything in Vim's installation directory. Whatever you do to configure Vim must happen in your own runtime directory, located in your own "home directory", and nowhere else:
%USERPROFILE%\vimfiles
If it doesn't already exist, create it yourself.
Disabling undo files is indeed done with set noundofile, that you are supposed to put in your own vimrc, under the directory mentioned above:
%USERPROFILE%\vimfiles\vimrc
That file is sourced after any system-level vimrc so whatever you put in that file will take precedence. It is your vimrc.
I have mismatched plugin files floating around ~/.vim; I am experiencing a corrupted behavior within vim itself, and both my .vimrc and .gvimrc are filled with things I don't understand.
Examples: NERDTree plugin displays two identical file drawers on start, settings in .vimrc and .gvimrc aren't manifesting themselves.
Is there any way that I can completely "re-install" vim? Or, is there a way that I can get a new .vim folder, and start over form scratch? I want to learn vim, but it's hard with all these plugins installed. I just want to start with a plain vanilla installation.
Thanks for any help in advance.
cd
mv .vimrc .vimrc-old
mv .vim .vim-old
touch .vimrc
mkdir .vim
To remove everything from your vim configuration remove the entire .vim folder as well as everything from your .vimrc file. Keep the empty file in place though because without it vim will start in compatible mode by default and you almost certainly don't want that.
Note that there are system-wide files that are not stored in your home directory but if you haven't tweaked any of those then the above steps are all you need to do.
I know this is a bit old question but there is another useful command you can use mv ~/.viminfo ~/.oldviminfo
As mentioned in this answer, I moved .vim and .vimrc. which resulted in the error below
bash: /usr/bin/vim: No such file or directory
I'm not sure why I was facing the error above. When I moved only the .vimrc to .vimrc-bkp and created a new empty .vimrc, vim started working like a fresh install.
I'm having difficulty getting MacVim (7.3-64) to recognize my .vimrc and .gvimrc files since upgrading to OS X 10.7.3. Previous, I've simply symlinked my .vimrc and .gvimrc using these commmands:
$ ln -s ~/.vim/vimrc /usr/local/Cellar/macvim/7.3-57/MacVim.app/Contents/Resources/vim/.vimrc
$ ln -s ~/.vim/gvimrc /usr/local/Cellar/macvim/7.3-57/MacVim.app/Contents/Resources/vim/.gvimrc
However, when I currently symlink my rc files, I can not get MacVim to recognize them. I've installed MacVim via Homebrew. Does anyone have any suggests as to what the problem could be?
The ~/.vim/ folder (for colorschemes and scripts) and the ~/.vimrc file (for custom settings and mappings) are guaranteed to work on every UNIX-like systems but neither of these are required for Vim (and MacVim) to work properly.
Start without symlinks or whatever : no .vim folder and no .vimrc or .gvimrc in your home folder. Does MacVim work? You are supposed to see a window with some introductory text, do you see that?
Quit MacVim and turn to the original .(g)vimrc files you want to use: where are they located? Where did you get them from? What is their content? Do you actually, really need them? Do their names actually start with a dot (do you see them or not in the Finder)? What is their encoding (in vim, :set fileencoding? and in the terminal, $ file /path/to/original/.vimrc)? Please, paste the content of the .vimrc file you want to use in your question.
If you are absolutely certain you need these files to work efficiently in Vim and assuming you actually have a custom .vimrc somewhere on your Mac, open Terminal.app and type this command (without the $):
$ cp /path/to/original/.vimrc ~/.vimrc
to copy your .vimrc to the canonical location.
Now launch MacVim. What do you see? You are supposed to see a window with some introductory text, is that what you see?
If MacVim doesn't work correctly with your ~/.vimrc you might want to comment its content, relaunch MacVim, uncomment a few lines and so on until you eventually find a bad setting.
Just put your .vimrc and .gvimrc into your home directory, i.e. ~/ It's picked up there allright.
BTW, you don't need to link to the homebrew dir. Those rc files are default files which you can override with your local user files.
I share an user with other people.
Everyone has created a directory into home directory and everyone is working in his "own" directory.
I want to use my own setting when I use vim and I don't want to bother others with my preferences.
I created my .vimrc file into $HOME/my_directory
I've defined an alias my_vim="vim -u /full_path_to_home/my_directory/.vimrc"
When I edit a file with my_vim, I don't have the right colors.
I have the same problem when I use the command
:source /full_path_to_home/my_directory/.vimrc
If I copy my .vimrc file into $HOME directory, everything is fine.
Where is the problem ?
From :help vimrc
If Vim was started with "-u filename",
the file "filename" is used.
All following initializations until 4.
are skipped.
So by specifying a vimrc file, its ignoring the system-wide vimrc (/erc/vimrc/) where syntax highlighting and other things are configured. You can work around this problem by adding the following code to the top of your vimrc:
if filereadable("/etc/vimrc")
source /etc/vimrc
endif
If this sort of thing comes up a lot, I would recommend changing your $HOME to point to the current $HOME/my_directory whenever you log in.
I code in Vim, not an IDE.
My source code is often nested 2-3 directories deep.
~/foo$ find
xyz
bar/abc
bar/def
~/foo$ vim
// inside of vim
:e bar/abc
... some work ...
:e <-- is there a way I can have this :e start in ~/foo/bar instead of ~/foo ?
Basically, I want :e to start the directory in "pathname of last edited file"
Thanks!
There's a lot of reasons not to like autochdir as it messes up some plugins and if you end up doing :e ../../../foo.txt you are not gaining anything. Just as an idea try this cmap I knocked up
:cnoremap red edit <c-r>=expand("%:h")<cr>/
then you can type :red and get
:e /the/path/to/your/current/files/dir/
(edit: perhaps use z instead of red as there are commands that start with red)
To expand the topic, also check out the FuzzyFinder plugin and some custom mappings to rapidly jump to common files you are always editing. Eg
10 or so of your regular files should be no more than 2 keystrokes away. It helps if they are systematically named
Here's an idea I use for django.
http://code.djangoproject.com/wiki/UsingVimWithDjango#Mappings
Try the autochdir option. It will automatically change the current working directory to whatever file was most recently opened or selected. In .vimrc:
set autochdir
For more info, :help autochdir
To always change the working directory to the current file's directory I have this in my .vimrc:
if has("autocmd")
autocmd BufEnter * :lcd %:p:h
endif " has("autocmd")
Sorry, but vim's :edit command takes a path which is interpreted relative to the present working directory of the vim instance.
You do have a :cd command which you could use to :cd bar then work for a while, then :cd ...
Hope that help some.
Some time ago I asked questions related to this on the vim mailing list: http://www.mail-archive.com/vim_use#googlegroups.com/msg03266.html Maybe you will find useful tips in that thread.
I tested a lot of plugins, but since CLI based GUIs are not my taste, I simply ended up using standard vim with a few configuration settings.
As honk pointed out, this line sets the working directory to the same as the file your working on:
autocmd BufEnter * lcd %:p:h
My other tip is to use the wildmenu. It makes it easier to get an overview of the files in your current directory when you go :e and then TAB. I'm a python programmer so the last line shows how to hide auto generated files that the python interpreter spits out, but you could use it to hide java .class files or c .obj files or whatever.
set wildmode=list:longest
set wildignore=*.pyc,*pyo
:cd changes directory
:pwd prints the current one.
why not just :E? Explore directory of current file.
:help :E
This isn't exactly what you wanted, but check out NERDTree.
On vim/gVim I just have cd C:/blah/blah at the top of my vimrc. I imagine it works on all platforms.
I personally use vagrant for each project so one CD is enough, but I think you can get vim to use different config files too, -u flag I think.
Or map a key to each project you have so pressing Ctrl+F1 does cd path/to/project/1 and Ctrl+F2 does cd path/to/project/2 perhaps?
Note: I don't use any plugins