Using clipboard through SSH in vim
The "clipboard" is a feature of X11, so you will need to enable "X11 forwarding" for the SSH connection in "trusted" mode:
$ ssh -Y myserver
(By default, X11 is forwarded in "untrusted" mode, which is somewhat too restrictive. -Y
disables the restrictions.)
Also make sure the server has xauth
and a X11-capable version of vim installed. You can use xsel -o
and xsel -o -b
to verify that the clipboard can be accessed.
To make it permanent, add the following to your local ~/.ssh/config
:
Host myserver
ForwardX11 yes
ForwardX11Trusted yes
jaz
Updated on September 18, 2022Comments
-
jaz over 1 year
I have Ubuntu 11.04 desktop and a 11.04 VPS server.
After replacing
vim
withvim-gtk
(I don't need GUI though), I'm able to use the system's clipboard invim
. I'd like to use the same feature in Ubuntu server, but it looks like it doesn't work withssh -X
.Is there some way I can enable that feature or do I need to use
nano
for that? -
jaz over 12 yearsI'm using vim-gtk in server and I can see using "vim --version" that X11 is enabled. There is nothing about xauth through. This is what I get: $ xsel -o xsel: Can't open display: (null) : Success
-
jaz over 12 years"sudo apt-get install xauth" did the trick.
-
Walt W over 6 yearsFor whomever it is useful for: this worked for me, but only with the
+
register, not the*
register. Your mileage may vary. -
CMCDragonkai over 5 yearsDoes doing this mean you're actually using X-based vim, and not the command line text based Vim?
-
user1686 over 5 years@CMCDragonkai: No. If you run
vim
, you still get the text-based Vim – which just has minimal X11 support for accessing the clipboard and such. -
icc97 over 3 yearsThis affects Neovim too. With a regular SSH connection if you do
:echo has('clipboard')
you get0
. However once you connect withssh -Y
then:echo has('clipboard')
gives you1
. I got the `has('clipboard') check from here: stackoverflow.com/a/11489440/327074 -
Pablo A over 2 yearsCould you extend the which is somewhat too restrictive bit? What's the problem with just
-X
/untrusted mode? Seems to work fine.