在 OSX 终端中更改键盘快捷键

在 OSX 终端中更改键盘快捷键

我想更改一些键盘快捷键的功能,并向 OSX 中的终端添加一些自定义快捷键,以便:

  1. alt + delete删除左边的一个单词

  2. cmd + i选择我的整个输入

我进入了“终端”->“首选项”->(选定的配置文件)->键盘,然后看到了一个我无法理解的表格。我在谷歌上也找不到任何将深奥的符号体系映射到“操作”的东西(\033[3~例如,我假设这意味着“删除”)。

我如何更改终端的快捷方式来实现上述两个目标,或者,在哪里可以找到指南来将上面的示例中显示的符号(另见图片)映射到“操作”?

键盘偏好设置的屏幕截图

这个问题与为 OSX 终端或 xterm 添加键盘快捷键因为我没有尝试将 bash 功能/命令分配给某个键。

答案1

我知道的改变默认键盘/鼠标行为的最佳方法是Karabiner

你可以做

  1. alt + delete删除左边的一个单词
  1. 安装登山扣。它确实是一个方便的按键映射工具。
  2. 点击Preferences>Complex ModificationsAdd Rule
  3. 现在点击Import more rules from the Internet
  4. 在打开的浏览器窗口中点击Application Specific
  5. 禁止Navigation in Terminal Apps点击Import按钮
  6. 系统将要求你打开下载的文件,请执行以下操作Karabiner.app
  7. 您将看到一个选项列表。导入它们。
  8. 现在Preferences>Complex Modifications点击Add Rule
  9. 反对 ⌥ + ⌫Delete one word点击Enable

至于

2.cmd + i选择我的整个输入

MacOS 终端应用程序不允许不使用鼠标选择文本(除非您想使用 ⌘+A 选择当前窗口中的所有文本)。因此,如果您想选择文本,您需要模拟鼠标。

您可以添加此代码来karabiner.json产生三次点击。

               {
                    "description": "⌥ + i | Select current line",
                    "manipulators": [
                        {
                            "conditions": [
                                {
                                    "bundle_identifiers": [
                                        "^com\\.apple\\.Terminal$",
                                        "^com\\.googlecode\\.iterm2$",
                                        "^co\\.zeit\\.hyperterm$",
                                        "^co\\.zeit\\.hyper$"
                                    ],
                                    "type": "frontmost_application_if"
                                }
                            ],
                            "from": {
                                "key_code": "i",
                                "modifiers": {
                                    "mandatory": [
                                        "option"
                                    ]
                                }
                            },
                            "to": [
                                {
                                    "pointing_button": "button1"
                                },
                                {
                                    "pointing_button": "button1"
                                },
                                {
                                    "pointing_button": "button1"
                                }
                            ],
                            "type": "basic"
                        }
                    ]
                },

这些“行动”是终结性的转义序列。它们确实很古老。\033是转义字符,后面跟着一些其他键码。所以基本上这些就是键映射。

相关内容