Копировать / вставить через VIM без X


8

В vim "+pвставляется из системного буфера обмена. Однако при удаленной работе через SSH в окне без графического интерфейса это недоступно.

Возможно ли реализовать копирование / вставку в этой среде?

Простого копирования текста из терминала недостаточно, потому что он также будет копировать материал, выходящий за рамки файла (например, если используется tmux, он копирует весь экран, потому что это обычный текст).

Ответы:


1

Одним из обходных путей является использование (удаленного доступа) временных файлов для передачи текста:

В случае, если вы можете вернуться по SSH к вашей собственной системе, вы можете просто :split scp://hostname/path/to/fileпоместить туда этот текст и :write.

Если вы можете просто использовать SSH из вашей системы на сервере, откройте Vim локально и получите доступ к пустому файлу с сервера: vim scp://server/path/to/file(или просто используйте scpнапрямую).

Это все включено плагином netrw, который поставляется вместе с Vim.


0

В MacOS, когда SSH с компьютера A на компьютер B и использование vim на компьютере B, я добавляю это в мой .vimrc на компьютере B:

nmap yr :call system("ssh $machineA_IP pbcopy", @*)<CR>

Таким образом, в обычном режиме содержимое * регистрируется, если vim @ machine_B копируется в локальный буфер обмена компьютера A, при условии, что вы правильно настроили Vim с помощью + clipboard и * register

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.