113

我正在尝试将(退格)映射到iTerm2⌘+Delete中的行首(就像它在浏览器和文本编辑器中一样),但我无法找到它的工作转义码。我根据我在 Wikipedia中阅读的内容尝试了 1K( ) 。它只是打印一个“K”。^[1K

编辑:我发现Ctrl+U. 现在来了解如何映射它。也许十六进制代码 21(U 是第 21 个字母),所以 0x15?

4

7 回答 7

148

我得到了它。我不知道为什么 iTerm2 中的十六进制代码映射会产生相关的 Ctrl+键映射,但确实如此。也不知道 0x00 是什么意思,因为它没有像预期的那样分配给 A。(尽管我确实相信 Unix 有自己的处理空字节的约定——例如,我们xargs接受了空字节分隔格式find——如果我们可以将它绑定到 iTerm2 的热键,那就太好了)

我能够发现 Ctrl+U 几乎可以完成我想要的任务(它会删除整行而不是只删除光标之前的内容,但是无论如何...... Ctrl+Y 作为奖励可以将其全部恢复)。然后我好奇地看到我有十六进制代码0x1并分别0x5映射到^A^E,对于我的 Cmd+Left 和 Cmd+Right... 所以0x15^U

于 2013-03-31T19:31:51.647 回答
82
于 2018-12-05T05:58:02.163 回答
57

将十六进制代码映射0x15⌘</kbd> + ←Delete in most shells deletes the entire line (content to the left and right of the cursor). While sometimes not as compatible, I find that mapping:

⌘</kbd>+←Delete to Send Hex Codes:

0x18 0x7f

执行所需的功能。如果您正在运行 ZSH,您可能还需要将其添加到您的 .zshrc 文件中:

$ echo 'bindkey "^X\\x7f" backward-kill-line' >> ~/.zshrc

默认情况下,ZSH 不会映射backward-kill-line到任何东西。

此外,您还可以通过映射删除光标右侧的所有内容:

⌘</kbd>+fn+←Delete or ⌘</kbd>+Delete→</kbd> to Send Hex Codes:

0x0b

我在这里写了一份综合指南,将 OSX 的大部分标准键绑定添加到您的终端

于 2015-09-01T20:29:26.180 回答
48

在 OSX 中,⌥+⌫ 和⌘+⌫ 分别是删除一个单词和删除一行的快捷键。⌘+ ← 和 ⌘+ → 用于转到行的开头和结尾。默认情况下,iTerm2不是这样配置的,网上有很多误导性的指南。以下是我发现在我的机器上工作的内容。

  1. 打开首选项 (⌘+,) 并转到“键”选项卡。
  2. 添加一个全局快捷键,然后输入你的快捷键
  3. 在操作下拉列表中,选择发送十六进制代码

十六进制代码...

  1. 删除一个字:0x17。
  2. 删除一行:0x15。
  3. 移动到行首:0x01。
  4. 移动到行尾:0x05。只需打开一个新选项卡,它应该可以工作!

为了清楚起见,这是一个屏幕截图: 替代文字

于 2018-09-09T17:05:54.780 回答
17

我希望可以帮助你

地图⌥ <-删除以发送十六进制代码:0x1B 0x08

我已经测试过了,它是正确的。


18.09.2013 更新

这删除了一个单词,而不是一行。

于 2013-06-19T14:36:48.787 回答
4

正如所指出的那样^U删除该行。您可以使用Better Touch Tool轻松地重新映射命令。

它还具有很酷的自动化、鼠标、键盘和键盘映射功能。还包括智能边框的窗口功能。

于 2014-12-17T17:47:35.813 回答
1

On iTerm2 you can set the exact same shortcuts of your OS. In this case, as the default shortcut to delete a line on Mac OS is ⌘+Delete (backspace), you can do so.

To set the default keybindings of iTerm you have to:

  1. Go to Preferences (or ⌘+,)
  2. Profiles
  3. Keys
  4. Key Mappings
  5. Presets...
  6. Select the "Natural text editing" option
于 2021-12-12T21:38:50.790 回答