Mac OS X iterm2:向后删除单词

5

我一直在尝试自定义一个快捷键来删除整个单词,但是尝试了网上所有方法都没有成功。

我正在使用iterm2,使用“自然文本编辑”键预设,但是仍然会出现以下情况:按下command + delete将删除整行,按下option + delete将删除直到特定特殊字符的最后一个单词(这可以是斜杠、连字符、下划线、分号等等)。

按下control + W结果与option + delete相同。

虽然我想要向后删除直到某个特殊字符的功能,但我也希望能够删除整个单词(直到空格)。


我不太明白你的问题。既然选项+删除已经可以实现向后删除一个单词,为什么你还想用控制+W来实现呢? - cagcoach
正如我所说,目前,无论是control + W还是option + delete都不幸地执行相同的操作 - 删除一个单词直到特殊字符。我没有像那样配置它,这只是当前的情况。我想要一些键盘快捷方式来删除整个单词直到空格,可能将其分配给control + W而不是现有的分配。 - Zionsof
我也需要相同的行为,逐字向后删除直到遇到特殊字符会让我非常苦恼。为了更快地向后删除,我们需要使用 ctrl + w 将所有单词删除到第一个 空格 字符。Linux也是这么做的,为什么Mac不行呢? - scarface_90
1个回答

5

您可以在iterm2中添加相应的快捷键,或者全局使用:

'Iterm2 偏好设置 -> 'Keys'(或者 'Profiles' -> 'Keys' - 全局 | 每个配置文件设置):

  • 添加所需的键盘快捷键(例如"option + shift + backspace"),
  • 添加操作 - 在 '发送按键串' 下选择 '发送十六进制码' 并输入 '0x17'

仍然不起作用。例如,如果我在终端中输入“word1 word2-word3”,然后按快捷键,它只会删除“word3”部分,而我希望它完全删除“word2-word3”。 - Zionsof
2
0x17 - 是必需的序列。您是否看到了与您的键组合相反的操作“发送十六进制代码:0x17”?有没有可能您的组合在其他地方被覆盖了? 尝试一些其他非常具体的组合,只是为了测试。 我添加了以下映射:
  • Cmd+Backspace - Send Hex Codes:0x15(删除行),
  • Option+Backspace - Send Hex Codes:0x1b 0x7f(向后删除单词的“部分”),
  • Option+Shift+Backspace - Send Hex Codes:0x17(向后删除单词)。 按预期工作。
- JakeVR
我已经设置了所有这些,尝试过将Option as meta打开或关闭,但都没有起作用。无论如何,感谢所有的帮助。 - Zionsof
2
有趣的是,我想要你看到的行为(如果我理解正确,你想要的行为),我希望使用 option + delete 删除单词字符直到特殊字符,但是我得到了使用 0x17 删除整个以空格分隔的字符串的行为。 - skeggse
0x17的不同行为很可能是由于您的shell配置WORDCHARS引起的。例如,请参考https://superuser.com/a/847842/21682。 - James
0x17的不同行为很可能是由于您的shell配置WORDCHARS引起的。例如,请参考https://superuser.com/a/847842/21682。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接