删除(转发)字符iTerm2 OSX

lux*_*xon 6 keyboard macos keyboard-shortcuts iterm2

我在OSX上使用iTerm2,我使用外接键盘Del(不要混淆Backspace).该Del键在OSX中工作正常但在终端和iTerm中,它插入"〜"而不是删除前进一个字符.这很容易在终端中修复,但是在iTerm中,没有键绑定或转义序列允许我删除光标右侧的字符(等效的Unix命令是Ctrl D).有什么方法可以模拟在iTerm中删除一个字符吗?

ric*_*cca 15

如果您使用的是zsh,请尝试将这些行添加到〜/ .zshrc文件中,然后关闭并重新打开终端:

bindkey    "^[[3~"          delete-char
bindkey    "^[3;5~"         delete-char
Run Code Online (Sandbox Code Playgroud)

这些应该在任何键盘上启用你的删除键,而不需要手动键盘映射到十六进制命令0x04,如果输入为空,则会出现关闭会话的问题.


为什么这个?因为默认情况下zsh似乎没有使用键绑定读取/ etc/inputrc.


Sus*_*ver 10

您可以在全局首选项或基于配置文件的键盘映射中添加iTerm键盘映射,以便发送Ctrl-D键(0x04)

ie:这里我将Ctrl-Delete映射到Erase(Ctrl-D/0x04),就像扩展键盘的Del键一样:

在此输入图像描述

  • "0x04"的问题在于,如果输入为空,它会关闭选项卡.当这种事故发生时,令人非常沮丧. (7认同)

sta*_*eir 8

就像Gajus说的那样,如果没有输入可能非常令人沮丧,使用Ctrl-D删除一个退格前进也会关闭终端选项卡.

我正在使用zsh,但添加ricpacca建议的.zshrc行不适合我.

我所做的是映射Ctrl-Delete以发送十六进制代码"0x06 0x08".
0x06转换为"向前移动一个字符",0x08只是一个正常的退格.

以为我会为任何其他沮丧的iTerm2用户分享我的解决方案,这些用户在网上搜索无济于事.

  • 杰出的!你是英雄。谢谢。这应该是公认的答案,因为它比使用“0x04”的侵入性要小得多。 (2认同)