tmux объединяет несколько команд в одну команду vi-copy или команду tmux для восстановления строки

В tmux я знаю, что мы можем связать несколько команд с ключом, используя \; См. Здесь Но в режиме vi я хочу, чтобы одно нажатие клавиши переместилось в начало текущей строки, начало выделения, переход в конец строки, выбор копии.

В tmux.conf, если я дам следующее bind-key -t vi-copy 's' start-of-line \; begin-selection \; end-of-line \; copy-selection \;

Это дает мне это : 69: usage: bind-key [-cnr] [-t key-table] key command [arguments] ошибка.

Или есть какой-нибудь альтернативный способ дергать текущую строку одним ключом.

1 ответ

Решение

К сожалению, привязки, зависящие от режима (сделано с -t) в настоящее время поддерживается только одна команда за раз. Кроме того, команда должна быть одной из команд, зависящих от режима, а не какой-либо общей командой tmux. В источнике функция cmd_bind_key_check ограничивает неопционные аргументы ровно двумя при использовании -t: одна клавиша и одна команда; Вот почему вы получаете сообщение об использовании (хотя это сообщение не очень освещающее).

Вы можете использовать вызывать copy-end-of-line команда, чтобы сохранить пару нажатий клавиш, хотя. В vi-copy режим: использовать 0 D вместо 0 Space $ Enter, В emacs-copy Режим: C-a C-k вместо C-a C-Space C-e C-w,

Другие вопросы по тегам