在 bash 的 bind 命令中使用 Mac OS 命令键

5 bash keyboard-shortcuts terminal terminal.app

在我的 ubuntu bash 中,我重新映射了Ctrl-y组合键以将文本复制到剪贴板,

bind -x '"\C-y": copy_line_from_x_clipboard'
Run Code Online (Sandbox Code Playgroud)

有用。现在,我正在迁移到 Macbook,我喜欢使用Commandkey 而不是Ctrl上面的key。我在网络上没有看到任何包含 Mac OS 命令键的键绑定示例。我试图让组合键的Command-y使用命令sed -n l作为解释在这里,但它表明服用后空行Command-y按键输入。

对于那些有兴趣的人,从剪贴板粘贴文本的被调用函数是,

copy_line_from_x_clipboard() {
        local n=$READLINE_POINT
        local l=$READLINE_LINE
       local s=$(xsel -ob)
       READLINE_LINE=${l:0:$n}$s${l:$n:$((${#l}-n))}
       #READLINE_LINE=${l:0:$n}$s
       READLINE_POINT=$((n+${#s}))
}
Run Code Online (Sandbox Code Playgroud)

Tho*_*key 6

根据在控制台 Vim使用 CMD-mappings 中的评论之一,您不能Command在 Terminal.app 中使用该键,但可以在 iTerm2 中使用。

您可能正在寻找修饰符,例如shift, control,例如类似于altmeta键的东西。

在 Terminal.app 的键盘首选项中,您有一组初始键定义,这些键定义使用这些修饰符以及Option. 您可以更改这些定义,或添加新的定义。

以下是显示该对话框的几个屏幕截图:

显示键盘首选项屏幕

第二个屏幕截图显示Option(单独或与其他修饰符组合),但Command不可用于在终端中运行的程序:

显示可用的键修饰符