iTerm2:删除行?
我试图将Cmd + Delete(backspace)映射到iTerm2的行首(如浏览器和文本编辑器),我无法find工作的转义代码。 根据我在这里阅读的内容,我尝试了1K( ^[1K
)…它只是打印一个“K”。
编辑:我发现Ctrl + U。 现在来找出如何映射它。 也许hex代码21(U是第21个字母),所以0x15?
我知道了。 我不知道为什么在iTerm2中的hex代码映射产生相关的Ctrl +键映射,但他们这样做。 不知道0x00是什么意思,因为它没有像预期的那样分配给A. (尽pipe我确实相信Unix有自己的处理空字节的约定 – 例如, xargs
接受一个空字节分隔格式,例如,如果我们可以用iTerm2将它绑定到一个热键,这将是整洁的)
我可以发现Ctrl + U几乎可以完成我想要的任务(删除整行,而不是只删除光标前面的内容,但是无论如何… Ctrl + Y作为奖励可以将它全部带回)。 然后我好奇地看到,我的hex代码0x1
和0x5
映射到^A
和^E
,我的Cmd +左和Cmd +右…所以0x15
是^U
!
在大多数shell中将hex代码0x15
映射到⌘ + ←Delete将删除整行(内容在光标的左侧和右侧)。 虽然有时不那么兼容,但我发现这个映射:
⌘ + ←删除发送hex代码:
0x18 0x7f
执行期望的function。 如果您正在运行ZSH,您可能还需要将其添加到.zshrc文件中:
$ echo 'bindkey "^X\\x7f" backward-kill-line' >> ~/.zshrc
因为默认情况下,ZSH不会将backward-kill-line
映射到任何东西。
我写了一个全面的指南, 在这里添加大部分OSX的标准键绑定到您的terminal
我希望这可以帮助你http://felipecsl.com/blog/2012/06/05/protip-delete-words-on-iterm2-mac-osx/
地图⌥< – 删除以发送hex代码:0x1B 0x08
我已经testing过了,这是正确的。
18.09.2013更新
这删除了一个字,不是一行。
正如所指出的, ^U
删除该行。 您可以使用Better Touch Tool轻松重新映射该命令。
它还具有自动化,鼠标,键盘和键盘映射的很酷的function。 还包括智能边框的窗口function。