У меня возникла проблема, из-за которой текст, восстановленный для unnamed недоступен для последующей вставки. Это происходит только тогда, когда я SSHd на другой машине. На обеих машинах установлены идентичные версии OS X (10.9.2), Vim (7.4, скомпилированные с помощью brew install vim --override-system-vim), и выходные данные одинаковы на обеих машинах:

vim --version | head -n 2
=> VIM - Vi IMproved 7.4 (10 августа 2013 г., составлено 12 марта 2014 г. 13:11:40)
=> MacOS X (unix) версия

:echo has("clipboard")
=> 1

:set clipboard?
=> clipboard=unnamed


В документе, когда я дергаю текст, а затем сразу пытаюсь вставить его, я вижу E353: Nothing in register * . Я также пытался "*y и получаю ту же ошибку. Когда я вхожу в режим вставки и cmd-v , он вставляет последнее, что я скопировал вне vim. Я попытался "+y , затем "+p но получил ту же ошибку (ссылка *), которая, как я считаю, ожидается, и cmd-v прежнему не вставляет то, что я хочу.

Как заставить буфера обмена vim работать должным образом, когда я использую SSHd на разных компьютерах?

1 ответ1

0

Ваши машины не имеют общего буфера обмена: то, что здесь скопировано, не может быть вставлено туда и наоборот.

Пересылка X11 - это очень простое и распространенное решение, оно позволяет вам обмениваться буфером обмена и даже локально запускать удаленные приложения с графическим интерфейсом на основе X, но даже если я регулярно делаю это из Mac OS X в Linux, я не знаю, работает ли он между двумя Маков. Я полагаю, это могло бы быть возможно, если бы у обоих был запущен XQuartz, но я, честно говоря, никогда не пробовал (и не могу в данный момент).

Вы можете попробовать следующее:

  1. запустить X11 на обоих компьютерах Mac,
  2. на "клиенте" подключитесь к "серверу" с помощью $ ssh -X username@host

Посмотрите, сможете ли вы скопировать материал с / на обе машины.

Однако, по моему мнению, такие рабочие процессы ужасно хрупки и излишне сложны.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .