set clipboard+=unnamed is one of my favorite .vimrc configs. Thanks to it, yanks and deletes are copied to my system clipboard and I can easily paste them to other applications.
However, when I upgraded to Mountain Lion, this setting broke down.
Do you know how to fix this problem?
The version of Vim provided by Apple has always been lacking useful features, +clipboard among them, but also Python and Ruby support or X11-related capabilities.
The solution has always been to install an up-to-date Vim yourself. There are many ways to do that. From relatively painless to rather involved:
Install MacVim and put the bundled mvim script in your path. After that $ mvim filename will open MacVim and $ mvim -f filename will open MacVim's Vim executable in the terminal. Use an alias if you want to keep typing $ vim filename.
Use Homebrew or MacPorts.
Install from the sources.
Related
I want to copy code from vi editor to clipboard so that I can paste it in the browser. I know the command gg"*yG and it's working when I open the code like vim code.py, but when I open like vi code.py, it doesn't work.
But normally when I type vi, it opens vim. I thought vi and vim are same command now, both referring to improved version of vi editor. Then why is this happening.
Summarizing from your comments, it seems like you have installed two versions of vim; one probably via your OS's installation procedures and one via homebrew.
vi is symlinked to the default installation, which was compiled without +clipboard, while vim would execute the binary from homebrew (because that's how your $PATH is configured), which with compiled with clipboard support.
I use LaTeX (pdfLaTeX) and Vim quite often. I started with teXworks as a text editor for LaTeX, but since I found about the Vim-LaTeX suite I am trying to switch to Vim for everything.
However, I use cmder to run a bash shell in a windows computer, which comes with its own version of Vim installed, and I cannot manage to install the Vim-LaTeX suite on cmder.
First I download the folder, then extract it with 7-zip. I change the .vimrc as indicated in the website, and I check it is read when Vim starts. From here I have tried:
Pasting the files into the Vim74 folder in cmder/.../Vim/Vim74/ replacing the existing duplicates, restarting the terminal (Total disaster, Vim crashes).
Pasting the files into the Vim74 folder in cmder/.../Vim/Vim74/ without replacing the existing duplicates, restarting the terminal (Total disaster, Vim crashes, again).
Creating a ~/vimfiles/folder and putting the plugin on it (No effect).
I understand that installing a suite in cmder is different from doing it in windows or *nix systems, but I can't quite spot how to do it right.
Has anybody successfully installed the Vim-LaTeX suite in cmder? Is there any particular way of doing it?
Many thanks for your help!
I've installed a fresh Arch Linux system on my laptop and downloaded the vim package.
I haven't altered the .vimrc file, but the syntax highlighting doesn't seem to work with any of the languages I tried (Python, Ruby, CSharp, C...).
Auto formatting (gg, =, G) also fails.
Until now when playing with vim (because I can't really say I've extensively used it) in other OSs (Ubuntu, Fedora), the syntax highlighting came on automatically.
Is there something I am missing here?
You need to have following settings in .vimrc file as per arch linux documentation
filetype plugin on
syntax on
This is the absolute minimum you need to put in your ~/.vimrc if you intend to use vim as your primary editor:
" activates filetype detection
filetype plugin indent on
" activates syntax highlighting among other things
syntax on
" allows you to deal with multiple unsaved
" buffers simultaneously without resorting
" to misusing tabs
set hidden
" just hit backspace without this one and
" see for yourself
set backspace=indent,eol,start
Anything else depends on your taste, workflow and needs.
vi /etc/profile
alias vi=vim
maybe you use vi instead of vim
I had this problem in Opensuse Leap 42.2 cloud. And solved it by installing vim-data
sudo zypper install vim-data
or just re-installing vim will include vim-data automatically.
sudo zypper remove vim
sudo zypper install vim
Type
:syntax on
to get it to work. It is not a default option for vim. Probably in the other systems, it was set to on in the system default vimrc
Or put
syntax on
in ~/.vimrc
Another reason syntax highlighting won't work is you might have a theme/colorscheme set that VIM cannot find.
colorscheme darkblue
Either delete the line or comment it out:
"colorscheme darkblue
I had a similar problem. I could not have syntax highlighting on. I also found that gvim launched without pulldown menus or toolbar icons. It turned out I did not have the vim-runtime package properly installed. In my case I was on debian jessie with a large set of files missing under /usr/share/vim/vim74/ directory.
$ ls /usr/share/vim/vim74/
debian.vim doc/ rgb.txt
The solution was to run:
$ sudo aptitude reinstall vim-runtime
That fixed the problem for me, for syntax highlighting and for missing menus/icons in gvim. I'm not sure why my system was in this state, but the reinstall of the above package solved both issues.
in my case , I changed the term(terminal type) from vt100 to xterm. And it works.
To change the terminal type:
in bash:
export TERM=xterm
in bourne shell or ksh:
TERM=xterm
export TERM
in csh or tcsh:
setenv TERM xterm
On my Ubuntu 18.04 system i.e. c-highlighting works but Icinga2 config file highlighting being provided by the vim-icinga2 package does not. Quote from https://packages.debian.org/sid/vim-icinga2:
As per the Debian vim policy, installed addons are not activated automatically, but the "vim-addon-manager" tool can be used for this purpose.
Executing vim-addon-manager -w install icinga2 following a regular vim-icinga2 package installation solved the issue. The -w option forces a system wide rather than a just per current user activation. Notice that executing vim-addon-manager without arguments yields a list of 39 modes being disabled by default:
> vim-addon-manager
# Name User Status System Status
align removed removed
alternate removed removed
...
icinga2 removed installed # Due to above command
...
If you do miss highlighting chances are your mode is among this list.
NB: Ubuntu 18.04 seemingly inherits Debian's policy. None of the above answers solved my issue. No ~/.vimrc configuration or manual activation was being required after the above described activation.
I'm trying to get VIM to access the system clipboard. As I see it, here are my options:
Recompile VIM and specify that access to the clipboard, per this post.
Install a newer version of VIM using homebrew, per this post.
I'd prefer to do the second option. Does anyone know if this will actually solve the problem I'm having? Also, are there other solutions to this copy/paste problem that haven't been listed here?
MY SOLUTION: I ended up installing MacVim and making it the default Vim. I found this post helpful. I ran this command:
brew install macvim --override-system-vim
then modified my .bash_profile and that was it.
You are probably using a version of Vim that was not built with clipboard support. Of course the solution to this "problem" is to use a version of Vim that is built with clipboard support.
What does $ vim --version say?
There are many answers on SO describing your options, either related to Ruby or Python support or to clipboard support. The solution is the same every time: install a proper build. Just pick the process you are most comfortable with.
The absolute simplest solution is to install MacVim and use the bundled mvim script to run MacVim on the command line. It's totally painless and guaranteed to work.
I don't recommend building from the sources as it can be a needlessly frustrating task.
Homebrew and MacPorts are also good options but I don't like all the symlinking that is done in Homebrew's case. YMMV.
You have asked the question more than 17 minutes ago. That's more than enough time to try all your options. Did you actually try something?
You can try using the fakeclip plugin.
The problem is, the old-way method to work with X11 clipboard (through "plus" register) doesn't work in Unity. Has anyone met the problem? And how it was solved?
The problem solves itself after GVim installation. Then "plus" register works as it should be.
Even if you do not have gvim installed or xterm_clipboard enabled, you may use xsel to manage your clipboard (install it via apt-get).
I hope my script will help you: https://github.com/FUT/config-files/blob/master/vim-dotfiles/vim/settings/clipboard.vim
Use :
sudo apt-get install vim-gtk
This will install vim with clipboard support.Run as before: vim
I don't know the unity desktop but I know that it is based on gnome libraries. So if you can use dbus to interact with unitys clipboard, you may consider writing a shell script which uses dbus to set the clipboard content. This script can in turn receive its input from vim if you assign a map to a filter command. Of course this works similarly if you know any other commandline utility which can set the clipboard content.
I used to have the following maps in .vimrc for the old dcop and klipper (the KDE clipboard) which you might customize:
:vmap k :w! $HOME/.vimclip<CR>:silent execute "!dcop klipper klipper setClipboardContents \"$(cat $HOME/.vimclip)\" &>/dev/null &"<CR>:redraw!<CR>
:nmap z :silent execute "!dcop klipper klipper getClipboardContents > $HOME/.vimclip"<CR>:r $HOME/.vimclip<CR>:redraw!<CR>
E.g. to copy press k after making a selection in visual mode. Note, that it copies and pasts line wise.
I have faced the problem again after while. Must say I use vim in GNOME Terminal, not GVim that is also installed.
What is interesting the plus register stopped working approximately at the same time on different computers of mine.
First I though it was a bug because the graphical version was installed as before. But at the end I just started GVim and tested the plus register there. It was working. After that the register began working in the terminal too.
So if you meet the problem again, when you have already installed GVim, just start it. This should help.