iTerm2:删除行?

时间:2013-03-31 19:03:52

标签: macos terminal iterm2

我正在尝试将⌘+ Delete (退格)映射到 iTerm2 中的行的开头(就像在浏览器和文本编辑器中一样)我无法为它找到有效的转义码。我根据我读到的in Wikipedia尝试了1K(^[1K)。它只打印一个“K”。

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

6 个答案:

答案 0 :(得分:96)

我明白了。我不知道为什么iTerm2中的Hex代码映射会产生相关的Ctrl +键映射,但它们确实如此。不知道0x00的含义是什么,因为它没有像预期的那样分配给A。 (虽然我确实认为Unix有自己的处理空字节的约定 - 我们有例如xargs接受来自find的空字节分隔格式 - 如果我们可以绑定它就会很好与iTerm2的热键)

我能够发现Ctrl + U几乎完成了我想要的任务(它删除整行而不是仅删除光标之前的内容,但无论如何...... Ctrl + Y作为奖励可以将它全部带回来)。然后我好奇地看到我的十六进制代码0x10x5分别映射到^A^E,因为我的Cmd + Left和Cmd + Right ...所以{{ 1}}适用于0x15

答案 1 :(得分:27)

将十六进制代码0x15映射到 + ←大多数shell中的删除删除整行(光标左侧和右侧的内容)。虽然有时不兼容,但我发现映射:

+ ←删除发送十六进制代码:

0x18 0x7f

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

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

默认情况下,ZSH不会将backward-kill-line映射到任何内容。

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

答案 2 :(得分:11)

我希望这可以帮助你http://felipecsl.com/blog/2012/06/05/protip-delete-words-on-iterm2-mac-osx/

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

我对它进行了测试,这是正确的。


18.09.2013更新

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

答案 3 :(得分:10)

在OSX中,⌥+⌫和⌘+⌫分别是删除单词和删除行的快捷方式。 ⌘+←和⌘+→用于转到行的开头和结尾。默认情况下,iTerm2并非以这种方式配置,并且在线上存在许多误导性指南。以下是我发现可以在计算机上使用的内容。

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

...的十六进制代码

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

为清晰起见,以下是屏幕截图: alt text

答案 4 :(得分:3)

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

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

答案 5 :(得分:2)

对于Mac OS,大多数编辑器共享公用快捷键 + Delete:删除以开始该行,在iTerm2中,我们可以切换到此关键配置

enter image description here