tmux 将多个命令组合成一个 vi-copy 命令或 tmux 命令来提取一行

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

相关内容