1

Моя цель - использовать Ck в качестве префикса tmux на моей локальной машине, но когда я нахожусь на сеансе tmux, который сам содержит сеанс ssh, на машине, на которой размещается сеанс tmux, я бы хотел нажать C-kj ( или Ck Cj, или что угодно), чтобы получить префикс для удаленного сеанса tmux.

Согласно .tmux.conf, связанному с отсюда: https://stackoverflow.com/a/9630367

И объяснение здесь: https://stackoverflow.com/a/8530024

Я установил следующее:

# prefix and send-prefix settings.
unbind C-b
set -g prefix C-k
bind-key -n C-j send-prefix

Это кажется таким простым, но как-то вышеперечисленное не работает для меня. Ck прекрасно работает на отдельных сеансах tmux, но Ck Cj не получает префикс к удаленному. Я явно упускаю что-то простое.

локальный tmux находится на Ubuntu и является версией 1.6

Удаленный tmux обычно находится на RedHat и имеет версию 1.6.

Примечание. Без этих настроек Cb Cb отправляет префикс на удаленный компьютер, как и ожидалось. Но я бы действительно предпочел Ck и Ck Cj.

Весь мой конфиг (как для локальных, так и для удаленных машин):

# prefix and send-prefix settings.
unbind C-b
set -g prefix C-k
bind-key -n C-j send-prefix

# Set scrollback buffer n lines.
set -g history-limit 5000

# Listen for activity on all windows.
set -g bell-action any

set -g status-bg blue
set -g status-fg white
set -g status-left '#[fg=yellow]#H'
set-window-option -g window-status-current-bg magenta

# Set vi mode bindings.
setw -g mode-keys vi

1 ответ1

2

Если вы хотите использовать Ck Cj для отправки Ck во внутренний сеанс (т. Е. Отправить префикс в tmux, запущенный на другой стороне сеанса ssh ), то вы, вероятно, захотите опустить опцию -n при связывании Cj.

# prefix and send-prefix settings.
unbind C-b
set -g prefix C-k
bind-key C-j send-prefix

В приведенной выше конфигурации (в обоих случаях tmux ) вы можете напечатать (например) Ck Cj c, чтобы создать новое окно во вложенном сеансе.


Я описал использование привязки -n во втором ответе, который вы связали, поскольку он позволяет использовать один ключ, как если бы он был просто префиксом во вложенном сеансе. Например, с -n (конфигурация, как вы описали ее в своем вопросе), вы можете набрать Cj c, чтобы создать новое окно во вложенном сеансе. Если вы не возражаете против того, чтобы вводить префикс, то привязка не -n вероятно, лучше, так как привязки -n могут быть довольно навязчивыми (они затрудняют использование ключа -n -bound с вещами, запущенными в tmux -controlled ttys). ).

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