49

You have three different options: Wait for the newest versions to be added to the distribution packages. Note that you might want to learn a new language or build a ship with your bare hands while you wait. If waiting several years is not good for you then you have the following two options: Use a PPA containing the latest version: Pros: Easy to do. ...


14

The pi-rho/dev PPA now supports Vim 8, and like it always has, includes support for Python/Python3: $ vim --version | grep python +cryptv +linebreak +python/dyn +vreplace +cscope +lispindent +python3/dyn +wildignore $ apt-cache policy vim vim: Installed: 2:8.0.0134-1ubuntu1~ppa1~x Candidate: 2:8.0.0134-1ubuntu1~...


8

From your question it appears that you have installed vim-tiny 8.0 that is a very minimal Vim runtime without plugins. You can confirm this using this: dpkg -l | grep vim You can have several Vim runtimes, but the version running when you do vim will be the version that you can see indicated here: update-alternatives --list vim You can check other ...


6

you should use sudo apt-get install vim-nox instead, to get a "huge-version".


5

Thank you to @Christian Brabandt for linking this in the comments: https://www.reddit.com/r/vim/comments/7pmv3d/workflows_that_work/dskyram/ Works great. Just put the following in your vimrc and make sure to have vim version >= 8.0.1394 " WSL yank support let s:clip = '/mnt/c/Windows/System32/clip.exe' " default location if executable(s:clip) augroup ...


5

Using Ubuntu, I couldn't figure out what was calling python or to change the default environment for all instances of syntastic. That would have been desirable. Instead what I did was install flake8, pip3 install flake8 Then you can easily configure this to work by adding the following line to your ~/.vimrc let g:syntastic_python_checkers=['flake8'] ...


5

Solution 1 : Install VIM Editor(Install any one of them of vim variant) : vim-gtk3 :- This package contains a version of vim compiled with a GTK3 GUI and support for scripting with Lua, Perl, Python, Ruby, and Tcl. In order to install this package : sudo apt install vim-gtk3 vim-gtk :- This package contains a version of vim compiled with a GTK2 ...


5

You should install vim from source. That way, you have control over what is included. See the following for more info and a step by step walkthrough. It is relatively easy. https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source https://github.com/vim/vim


4

you got a small version of Vim installed. That means, many functions are not supported, you can read about, what each flavor supports at :h +feature-list (link). So among the features not supported are multibyte, eval (plugins), diff, folding and quickfix. The easiest solution to get a better full-working Vim is to install vim-gtk (full version with GTK ...


4

You don't have to uninstall any of the existing packages. The vim-{athena,gtk,gtk3,nox} etc. packages just provide the Vim binary built with different feature sets and linked against different GUI toolkits. Install the vim-gtk (or on newer systems vim-gtk3) package Check whether the vim and gvim alternatives automatically switched to using /usr/bin/vim.gtk ...


4

In Debian and Debian-derived distributions (such as Ubuntu), vi is handled through the "alternatives" system. To see the available alternatives for vi, you can use the command: $ update-alternatives --display vi vi - auto mode link currently points to /usr/bin/vim.gnome /usr/bin/vim.basic - priority 30 slave vi.1.gz: /usr/share/man/man1/vim.1.gz ...


3

I was actually able to update gvim to 8.1 on Ubuntu 18 by following the same as this question asked in the past about older versions: https://askubuntu.com/questions/875003/ubuntu-16-10-repository-providing-vim-8 Basically, I followed the first option pointed by that answer: sudo add-apt-repository ppa:jonathonf/vim sudo apt update sudo apt install vim ...


3

I don't know what changed between Vim 7.4 and 8.1 that caused this change in behavior, but the output of :verbose hi Comment that you posted provided a clue to a solution. :help syncolor suggests overriding the default highlighting colors by creating a file named ~/.vim/after/syntax/syncolor.vim (~\vimfiles\after\syntax\syncolor.vim on Windows) and putting ...


3

Instructions can be found on the Neovim Wiki As of the posting of this answer, the site's current instructions are as follows: Ubuntu Neovim has been added to a Personal Package Archive which allows you to install it using apt-get on Ubuntu 12.04 and later. To be able to use add-apt-repository you may need to install software-properties-common: sudo apt-...


3

Although not pretty sure, I guess you are on a x64 platform. The corresponding path is under /usr/lib64/pythonXX.


3

Make sure you are editing a JS file (echo &filetype should output javascript), and check the function used for omni completion: :verbose setlocal omnifunc? It should display something like: omnifunc=tern#Complete Last set from ~/.vim/plugged/tern_for_vim/autoload/tern.vim If not the case, then tern_for_vim/after/ftplugin/javascript_tern.vim ...


3

This is the expected result. There are no tests has('python/dyn') and has('python3/dyn'), only has('python') and has('python3').


3

TL;DR The vi on your computer is almost certainly a symlink to vim, renamed executable, or something similar rather than an actual vi executable. The Vim package(s) in the repositories are built with different switches (i.e. features). Small note first: there is no program called Vi/Vim. Vi and Vim are two separate programs. Vi is an editor created in the ...


3

Debian (and Ubuntu) only have the vim-tiny package installed by default. The sole purpose of this package is to provide a vi binary as part of the default install. That it happens to be Vim is just an implementation detail. This is why the package doesn't install anything under the name vim, uses a separate system-wide configuration file (/etc/vim/vimrc....


2

Ubuntu comes packaged with a tiny version of vim. It is nearly vi. To install the real version of vim, run sudo apt-get install vim Personally, I prefer: sudo apt-get install vim-gnome since this comes with things like python and clipboard support, and gvim, but installing the default vim version should be enough to get echo working. I don't remember ...


2

I build Vim 8.1 on Ubuntu 16.04 and install it to the custom directory /opt/vim. My steps: INST_DIR="/opt/vim" ./configure --prefix=${INST_DIR} --mandir=${INST_DIR}/share/man ... make make test make install This works as expected. You can run make -n install. Then make just prints what it would install, without actually doing it. Check the output, it ...


2

This is not a answer to your question, but a follow up on you comment: From the above methods, I found $VIM to be /usr/share/vim. So following the :version output, I would think that the system vimrc file is /usr/share/vim/vimrc. However, $ ll /usr/share/vim/vimrc shows it's point to /usr/share/vim/vimrc -> /etc/vim/vimrc, not /etc/vim/...


2

Have a look at :h VIMINIT there is a list of places vim looks for a config, and it will use the first one found: Most used are the user vimrc files: The user vimrc file(s): "$HOME/.vimrc" (for Unix and OS/2) (*) "$HOME/.vim/vimrc" (for Unix and OS/2) (*) "s:.vimrc" (for Amiga) (*) "home:.vimrc" (for Amiga) (*...


2

#!/usr/bin/env bash sudo apt update sudo apt install -y git sudo apt install -y build-essential rm -fr /tmp/vim git clone https://github.com/vim/vim.git /tmp/vim make -C /tmp/vim sudo make install -C /tmp/vim rm -fr /tmp/vim


1

You can use the writefile() function to write to an external file from a Vimscript function or mapping. (Using external shell commands through ! or the system() function would be another possibility, but sticking to a native feature of Vim is probably better.) Consider that you'll need to have permissions to write to the aforementioned file from Vim under ...


1

That is the default behaviour. The reason is, Vim can only show complete character cells, however if your terminal is slightly bigger that what can be displayed by multiples of character cells, it will show such a frame. There is nothing you can do about it, but you can slightly resize your terminal.


1

You can use the term_getjob() function to get the Job associated with a terminal. You can then use the job_info() function to query the "process" attribute of the job. let job = term_getjob(5) echo job_info(job).process


1

At the beginning of your vimrc (before your mappings), you should add: set nocompatible It will change many behaviours inside vim (see help), and will certainly solve your problem. Here is a similar question on SuperUser. Edit: If this solution works, however it means that the compatible option has not been automatically unset by Vim, which however ...


1

Echoing tluafed’s answer, one solution is to version control your configuration and clone/symlink it on each machine. Then keeping up-to-date is as easy as pulling changes on each machine. This is particularly easy using e.g. github. You can find a number of dotfile repos (including mine) there. My repo contains vim configuration, a large number of other ...


1

Save your .vimrc online and download it to each computer you use. Make sure Vim is installed on each one of those computers.


Only top voted, non community-wiki answers of a minimum length are eligible