是否可以在bash终端中选择字符串的一部分并立即删除它,而不是导航到命令中的某个点并将其全部退回?
谢谢!
答案 0 :(得分:3)
我不是100%确定我理解你的问题。
如果您在交互式命令行:
ctrl-u
:删除光标左侧的所有内容ctrl-k
:删除光标右侧的所有内容答案 1 :(得分:2)
我正在使用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
您还可以使用regexp操纵历史记录,尽管这可能会很快变得非常混乱。请参阅“man zshexpn”以供参考,大多数相同的regexp语法也适用于bash。
示例:
1)如果执行以下命令:
echo first second third fourth fifth
2)然后你可以执行相同的命令并删除“first”:
!!:s/first//
如果这不是您所追求的,请澄清您的问题! :)
答案 2 :(得分:1)
见this。或者,set -o vi
具有类似vim的键绑定。
请注意,链接中提供的列表未满。您可以阅读man bash
以获得良好的参考。通常,如果您在使用Alt函数快捷方式的终端中运行bash,那么ALT-x可能会被ESC替换为x。