3

Моя мечта: с моего компьютера OSX я SSH на компьютер Linux и могу скопировать вставить с помощью приложения командной строки, таких как xclip или pbcopy, и затем иметь возможность использовать его на моем хост-компьютере.

Пример ввода

(mac)$ ssh -X linux_mach
(lin)$ echo "heyyy" | pbcopy
(lin)$ any_other_command
(lin)$ exit
(mac)$ pbpaste 
heyyy

Я видел много ответов о том, как сделать это из OSX в OSX или из Linux в Linux. Однако я не могу собрать эти ответы, чтобы они работали в разных системах, даже если я включил пересылку X11.

Причина, по которой я хочу сделать это с помощью приложения командной строки, заключается в том, что я планирую внедрить это в мой сеанс tmux+vim, что я уже могу сделать, когда запускаю сеанс tmux локально.

Самые близкие, которые я получил, чтобы получить эту работу, могут быть найдены в этом URL: http://seancoates.com/blogs/remote-pbcopy

1 ответ1

1

Есть простое решение вашей проблемы. Я делаю именно то, что вы хотите делать все время.

Ваш первый шаг должен состоять в том, чтобы запустить tmux в ваших шагах выше. Тем не менее, вы должны включить следующее в вашу конфигурацию tmux, файл .tmux.conf , чтобы связать соответствующие аккорды с pbcopy и pbpaste.

Я включил пример раздела конфигурации .tmux.conf интеграции копирования / вставки для macos (linux будет xclip или другой интеграции linux kill-ring).

# copy-paste integration
set-option -g default-command "login-shell"

# use vim key bindings in copy mode
setw -g mode-keys vi

# use 'v' to begin selection like in vim
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy y copy-pipe "pbcopy"

# update default bindings of `Enter` to also use copy-pipe
unbind -t vi-copy Enter
bind-key -t vi-copy Enter copy-pipe "pbcopy"

# bind ']' to use pbpaste
bind ] run "pbpaste | tmux load-buffer - && tmux paste-buffer"

Тогда у вас есть несколько вариантов, когда ssh'd на удаленном сервере.

  1. Вы можете скопировать текст, выделив его, и, прежде чем отпустить мышь, наберите y чтобы скопировать текст в локальный буфер обмена Mac.
  2. чтобы вставить текст, просто используйте аккорд cmd-v (не важно, локально вы или удаленно)
  3. используйте аккорд tmux, <prefix>,[ или ctrl-a,[ в моем случае, чтобы войти в режим копирования tmux
    • Начните выделение копии с v а после выделения текста скопируйте его с помощью y

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