Я редактирую файл в vim на удаленной машине через ssh и хочу скопировать текст из удаленного файла и вставить его в экземпляр vim, работающий на моей локальной машине. Есть простой способ сделать это? Я могу использовать функции выбора эмулятора терминала для выбора текста, который в данный момент находится на экране, но если мой выбор больше, чем может поместиться на экране, мне не повезло.
2 ответа
Откройте удаленный файл в локальной сессии vim:
:e scp://user@host/relative/path/from/home.txt
Если у вас есть достаточные разрешения на удаленной машине, вы можете добавить
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
).