10

Я редактирую файл в vim на удаленной машине через ssh и хочу скопировать текст из удаленного файла и вставить его в экземпляр vim, работающий на моей локальной машине. Есть простой способ сделать это? Я могу использовать функции выбора эмулятора терминала для выбора текста, который в данный момент находится на экране, но если мой выбор больше, чем может поместиться на экране, мне не повезло.

2 ответа2

22

Откройте удаленный файл в локальной сессии vim:

  :e scp://user@host/relative/path/from/home.txt
9

Если у вас есть достаточные разрешения на удаленной машине, вы можете добавить

AcceptEnv WINDOWID

в /etc /ssh /sshd_config и перезапустите sshd с помощью

sudo /etc/init.d/ssh restart

Затем на вашем локальном компьютере добавить

ForwardX11 yes
SendEnv WINDOWID

в ваш файл ~/.ssh/config

Затем, запустив vim-based vim на удаленном компьютере (например, gvim -v), вы можете скопировать и вставить в буфер обмена X и из него. Просто визуально выделите текст (например, используя V) и вставьте его в регистр * .

редактировать

Я забыл включить часть о настройке SendEnv WINDOWID в вашем ~/.ssh/config, поэтому я добавил это и перенес включение перенаправления X из командной строки (опция ssh -X) в файл ~/.ssh/config (ForwardX11 yes).

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