
Я знаю, что в 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
.