【发布时间】:2010-10-01 13:25:16
【问题描述】:
是否可以在 bash 终端中选择字符串的一部分并立即将其删除,而不是导航到命令中的某个点并全部退格??
谢谢!
【问题讨论】:
是否可以在 bash 终端中选择字符串的一部分并立即将其删除,而不是导航到命令中的某个点并全部退格??
谢谢!
【问题讨论】:
我不是 100% 确定我理解您的问题。
如果你在交互式命令行:
ctrl-u:删除光标左侧的所有内容ctrl-k:删除光标右侧的所有内容【讨论】:
我正在使用 emacs 绑定和我最喜欢的命令行快捷方式,这些快捷方式未包含在之前链接的教程中,如下所示:
^W - delete last word
meta-b - move cursor back one word
^R - find a previously used command
!$ - last attribute of the last command
!! - last command
您还可以使用正则表达式来操纵历史记录,尽管这很快就会变得非常混乱。请参阅“man zshexpn”以供参考,大多数相同的正则表达式语法也适用于 bash。
例子:
1) 如果执行以下命令:
echo first second third fourth fifth
2) 然后您可以执行相同的命令并通过以下方式删除“first”:
!!:s/first//
如果这不是您想要的,请澄清您的问题! :)
【讨论】:
见this。或者,set -o vi 具有类似 vim 的键绑定。
请注意,链接中给出的列表并不完整。您可以阅读man bash 以获得很好的参考。通常,如果您在使用 Alt 字母快捷键的窗口系统的终端中运行 bash,则 ALT-x 可能会被 ESC、x 替换。
【讨论】: