【问题标题】:How do I select the line in bash terminal如何在 bash 终端中选择行
【发布时间】:2010-10-01 13:25:16
【问题描述】:

是否可以在 bash 终端中选择字符串的一部分并立即将其删除,而不是导航到命令中的某个点并全部退格??

谢谢!

【问题讨论】:

    标签: bash terminal


    【解决方案1】:

    我不是 100% 确定我理解您的问题。

    如果你在交互式命令行:

    • ctrl-u:删除光标左侧的所有内容
    • ctrl-k:删除光标右侧的所有内容

    【讨论】:

      【解决方案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
      

      您还可以使用正则表达式来操纵历史记录,尽管这很快就会变得非常混乱。请参阅“man zshexpn”以供参考,大多数相同的正则表达式语法也适用于 bash。

      例子:

      1) 如果执行以下命令:

       echo first second third fourth fifth
      

      2) 然后您可以执行相同的命令并通过以下方式删除“first”:

       !!:s/first//
      

      如果这不是您想要的,请澄清您的问题! :)

      【讨论】:

      • 没关系,你仍然可以在你的 shell 中使用 emacs 键绑定。我也不使用 emacs,但我喜欢它在 zsh shell 中的绑定。
      【解决方案3】:

      this。或者,set -o vi 具有类似 vim 的键绑定。

      请注意,链接中给出的列表并不完整。您可以阅读man bash 以获得很好的参考。通常,如果您在使用 Alt 字母快捷键的窗口系统的终端中运行 bash,则 ALT-x 可能会被 ESC、x 替换。

      【讨论】:

        猜你喜欢
        • 2011-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-09
        • 2011-03-25
        • 2012-04-07
        • 2014-12-13
        • 2017-05-10
        相关资源
        最近更新 更多