Использование буфера обмена через SSH в vim


24

У меня есть рабочий стол Ubuntu 11.04 и сервер VPS 11.04.

После замены vimна vim-gtk(мне не нужен GUI) я могу использовать системный буфер обмена vim. Я хотел бы использовать ту же функцию на сервере Ubuntu, но похоже, что она не работает ssh -X.

Есть ли способ, которым я могу включить эту функцию, или мне нужно использовать nanoдля этого?


Ответы:


29

«Буфер обмена» является функцией X11, поэтому вам нужно включить «Пересылку X11» для SSH-соединения в «доверенном» режиме:

$ ssh -Y myserver

(По умолчанию X11 пересылается в «ненадежном» режиме, что является слишком ограничительным.-Y Отключает ограничения.)

Также убедитесь, что на сервере установлена xauthверсия Vim с поддержкой X11 . Вы можете использовать xsel -oи, xsel -o -bчтобы убедиться, что буфер обмена доступен.


Чтобы сделать его постоянным, добавьте следующее в ваш адрес ~/.ssh/config:

Host myserver
    ForwardX11 yes
    ForwardX11Trusted yes

1
Я использую vim-gtk на сервере, и я вижу, используя "vim --version", что X11 включен. Там нет ничего о Xauth до конца. Это то , что я получаю: $ xsel -o xsel: Невозможно открыть дисплей: (нуль): Успех
язь

1
"sudo apt-get install xauth" добился цели.
язь

Для кого это полезно: у меня это работало, но только с +регистром, а не с *регистром. Ваш пробег может варьироваться.
Уолт Вт

Означает ли это, что вы на самом деле используете Vim на основе X, а не Vim на основе текста из командной строки?
CMCDragonkai

@CMCDragonkai: Нет. Если вы запустите vim, вы все равно получите текстовый Vim, который имеет минимальную поддержку X11 для доступа к буферу обмена и тому подобное.
Гравитация
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.