I am new to Vim but am determined to learn it. I am on OS X El Capitan and have tried upgrading Vim 7.3 to 7.4 using several options but with no success.
I have used brew install with --with-system-override-vim option but although I can see that vim 7.4 is installed when I start my Vim editor it again reverts back to 7.3 version only.
Can anyone please guide me through the process of making sure that the system version is upgraded to 7.4.
Pretty sure homebrew installs vim under /usr/local/bin/
You really shouldn't overwrite the system vim, you should an alias to your .bash_profile file,
alias vim='/usr/local/bin/vim'
The other option would be to "hide" the current vim
mv /usr/bin/vim /usr/bin/vim73
And then when you run the vim command it won't find it under /usr/bin/ and will look in /usr/local/bin/
#dursk answer is correct, but I didn't have "/usr/local/bin/vim". My solution was to upgrade to latest version of MacVim it's 8.0 now ( http://macvim-dev.github.io/macvim/) install MacVim via .dmg file
after adding line below to .bash_profile file in user root folder
alias vim="/Applications/MacVim.app/Contents/MacOS/Vim"
After should run command source ~/.bash_profile to update bash_profile settings
Don't replace the system vi/vim in /usr/bin. Instead, use homebrew to install a newer version of vim:
brew update
brew install vim
That will install a newer vim to /usr/local/bin/vim. Make sure that your $PATH has /usr/local/bin before /usr/bin. You would probably also want to add a symlink for vi in /usr/local/bin as well:
ln -s /usr/local/bin/vim /usr/local/bin/vi
which vim # verify that it is /usr/local/bin/vim
which vi # verify that it is /usr/local/bin/vi
Related
I installed Vim on my MacBook today (using brew install vim), but I am having a problem: vim --version tells me that there is no Python 3, which I need. I already reinstalled the newest version of Python from their website, then did brew delete vim and brew cleanup and reinstalled Vim, but I'm still having the same problem. Online, I saw the option to use the flag --with-python3 when installing, but when I try that, I get told that this flag doesn't exist. Now I don't know what to do. Do I need to install Python via Homebrew? I also found some people online saying that there are versions of Vim compiled without Python, and that you can compile Vim yourself. Do I need to do that? How?
I should add: I'm very new to this, so if you post your answers or maybe need some more information from me, please explain in detail so I can understand.
I'm a new too.
First, use brew to remove vim you should input brew uninstall vim.Then try to reinstall vim.
For instance, if you wanted to recompile Vim 8 with Python 3 support on Linux, you can try do the following:
$ git clone https://github.com/vim/vim.git
$ cd vim/src
$ ./configure --with-features=huge --enable-python3interp
$ make
$ sudo make install
So,
I include this answer to "Way 0" and "Way 1".
_______________________________________________________________---Way 0 Begin---(:
Way 0:
we should reinstall python3 and VIM,
1.run the below on terminal
brew reinstall python3
the upstairs shows that we reinstall python3 to make sure that needed by VIM.
2.continue run on terminal
brew uninstall vim
the upstairs shows that uninstall vim only if you previously installed it
3.run on terminal
brew install vim
the upstairs shows that reinstall vim via Homebrew
4.run on terminal
4.1 directly use $SHELL command
alias vim=/usr/local/bin/vim
4.2 or bash 's profile(if you use bash as SHELL)
echo 'export PATH="/usr/local/opt/vim/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
4.3 OR zsh configuration file(if you use zsh as SHELL)
edit your zsh configuration file ~/.zshrc via
vim ~/.zshrc
and add the below to TOP line(just use i to enter editing status,
then use ":wq" to quit editing status and save file):
export VIM_HOME=/usr/local/Cellar/vim/8.2.2100/
export PATH=$PATH:$VIM_HOME/bin
and active that config
source ~/.zshrc
(Both 4.1 or 4.2 or 4.3 are the same function.)
the upstairs 4.1/4.2/4.3 shows that we let shell command vim using HomebrewVIM not the defaultVIM.
We know the default VIM functional file is located at /usr/bin/vim,
while homebrew VIM functional file is located at /usr/local/bin/vim;
And default VIM support Python2 with not supporting Python3,
but homebrew VIM support Python3(That's also we needed!).
Let's look at Homebrew VIM:
Homebrew will install VIM vim at /usr/local/Cellar/vim,
create soft link vim under /usr/local/opt,
and Homebrew VIM 's functional file vim is located at /usr/local/bin/vim, also linked to /usr/local/Cellar/vim.
5.exit terminal and restart terminal or even restart mac, input
the below on terminal
vim --version | grep "python3"
checkout whether the symbol bdfore "python3" is + or Not?
"+" means VIM support python3, but "-" Not.
____________________________________________________________---Way 0 END---:)
____________________________________________________---Way 1 Start---(::
Way 1:
First, you need to use this to checkout whether VIM support Python3 or not?
vim --version | grep python
you may see the terminal output liking:
+conceal +linebreak -python3 +visual
as the upstairs shows: that Mac default installed VIM DO NOT SUPPORT Python3.
And that default installed VIM of Mac is not been installed via "brew".
Now, we could not use liking "brew remove" to delate that default installed VIM of Mac,
and it's also why your action
"brew delete vim and brew cleanup and reinstalled Vim"
DO NOT FUNCTION!
Second,
we need to know where that fu-king default installed VIM with not supporting python3,
which vim
output:
/usr/bin/vim
mostly shows like the upstairs(depends default macOS).
Even we use "--with-python3 " to install VIM with supporting
Python3at a long time, but Now Homebrew ONLY recognize "python -V"'s version.
SO we NEED to manually let default python to be python3.
Open your terminal and input:
alias python="python3"
then checkout python that that version whether is python3 or not:
python -V
then, we found that "python -V" shows "Python 3.9.12".
Third,
That's time to use Homebrew to install VIM.
brew install vim
After installing HomebrewVIM, we need to make sure where is HomebrewVIM,
differ from that default installed VIM of Mac:
which vim
output:
/usr/local/bin/vim
Please restart Your Mac, restart Your Terminal and reenter your terminal!!!
Please restart Your Mac, restart Your Terminal and reenter your terminal!!!
Please restart Your Mac, restart Your Terminal and reenter your terminal!!!
then, we need to checkout whether that HomebrewVIM supports Python3 or Not:
vim --version | grep python
output:
+conceal +linebreak +python3 +visual
Successful!
__________________________________________________---Way 1 Terminal---::)
END!
The current vim i'm using is 7.3 version.
VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jun 14 2016 16:06:49)
Compiled by root#apple.com
I tried to update vim to 8.0 by the command:
git clone https://github.com/vim/vim.git
cd vim/src
make
However, it doesn't work. It's still vim 7.3.
You may have compiled vim, but the vim that's first in your path is still the system vim. You can show that using:
$ which vim
/usr/bin/vim
You can either call your compiled vim directly (probably in a folder called dist or bin), or put it in a place that is before /usr/bin in your $PATH variable. The easiest way to get an up-to-date vim on OS X is to use Homebrew:
$ brew install vim --with-override-system-vi
Trying
brew install vim --override-system-vim
didn't work for me either.
Upgrade Homebrew to latest version and then use
brew upgrade vim
vim --version
$ brew install vim --with-override-system-vi
Sounds dumb but most importantly close the terminal and then reopen it to see the new version of vim $ vim --version.
You are missing the final step for installing from source after running make:
sudo make install
That should install it to your path.
According to this article code completion should work for any language with youcompleteme plugin. I set it up as follows in Debian Jessie:
installed vim from repository
installed youcompleteme from repository
issued 'vam install youcompleteme' in cli
After the last step vim start significantly slower, which means that it is loading the plugin. However, completion does not work.
The output of
$ vam status
Name User Status System Status
editexisting removed removed
justify installed removed
matchit removed removed
youcompleteme installed removed
Is there anything else I have to do to get youcompleteme working?
I contacted the maintainer and finally got the missing hint. As it turns out, all I had left to do was to enable filetype recognition.
In case someone else struggles with this, here are some instructions on how to setup Vim with the Debian package vim-youcompleteme.
Install vim and vim-youcompleteme packages
$ sudo apt-get install vim vim-youcompleteme
This will also install any required dependencies automatically. Afterwards you will have to issue the following command
$ vam install youcompleteme
The last command will create ~/.vim folder in your home folder. However, code completion does not work yet. Some further modifications are required. First copy the default ycm_extra_conf.py file to the newly created ~/.vim/ folder
$ cp /usr/share/doc/vim-youcompleteme/examples/ycm_extra_conf.py ~/.vim/.ycm_extra_conf.py
Then we need to tell vim to use this file for code completion in our .vim.rc and to turn on filetype recognition. The following two lines should be added to ~/.vimrc:
let g:ycm_global_ycm_extra_conf = "~/.vim/.ycm_extra_conf.py"
filetype on
Now vim should be able to use code completion, e.g., with C++ files.
You should follow the installation instructions for YCM, including how to compile it:
Install development tools and CMake: sudo apt-get install
build-essential cmake
Make sure you have Python headers installed: sudo apt-get install
python-dev.
Compiling YCM with semantic support for C-family languages:
cd ~/.vim/bundle/YouCompleteMe ./install.py --clang-completer
Compiling YCM without semantic support for C-family languages:
cd ~/.vim/bundle/YouCompleteMe ./install.py
Also, I would give you the tip to use vim-plug for handling plugins.
I want vim-gtk to use vim 7.4 which I installed from source, but gvim is opening with 7.3 itself.
On A fresh linuxmint, after updating system, I removed already existing vim, than installed vim 7.4 from source and it is perfect installation, everything went fine, and than installed ,
sudo apt-get install vim-gtk
than when I enter gvim, gvim is 7.3 not already existing 7.4!!! and if I enter vim from terminal than its vim-7.4.
I will be thankful if anyone helped me to run gvim on vim 7.4
Two thingsā¦
First, $ sudo apt-get install vim-gtk only uses your repositories (which are certainly frozen at 7.3.something), it doesn't care at all about what you installed manually.
Second, GVim is not a separate frontend that you add to an existing Vim: it is Vim, built with GUI support and either launched as gvim or as vim -g.
You could:
uninstall vim-gtk and re-compile Vim manually following these instructions (note the --enable-gui=gtk2)
or find an up-to-date ppa on LaunchPad.net, add it to your software sources and redo $ sudo apt-get install vim-gtk.
just install vim-gnome and vim-gui and reboot.It worked for me.
Maybe this post will help you install gvim 7.4. There are few steps:
Install the needed dependencies:
$ sudo apt-get install ncurses-dev build-essential mercurial
Clone the sources of Vim 7.4:
$ hg clone https://vim.googlecode.com/hg/ vim
Build Vim from sources:
$ cd vim/src
$ make distclean
$ ./configure --with-features=huge --enable-pythoninterp --enable-rubyinterp
$ make
$ sudo make install
Adjust the PATH:
$ export PATH=/usr/local/bin:$PATH
I used this guide and get gvim 7.4.54.
I've removed MacVim from my /Applications/ directory but in terminal when I type vim an error is displayed: no such file or directory: /Applications/MacVim.app/Contents/MacOS/Vim
How do I go back to using the pre installed copy of vim?
Try brew uninstall macvim.
It will help if MacVim was installed with brew.
In the terminal type: which vim
That'll tell you what it's running when you type vim.
And if it's not /usr/bin/vim you're probably safe to delete it so it can find the pre installed version again.