协慌网

登录 贡献 社区

如何清除 / 删除终端中的当前行?

如果我使用终端并在命令的文本行中键入,是否有热键或任何方式清除 / 删除该行?

例如,如果我当前的行 / 命令确实很长,例如:

> git log --graph --all --blah..uh oh i want to cancel and clear this line <cursor is here now>

是否有热键或命令可以从上面转到:

>

通常,我将按键,如果我当前的行是历史记录上的全新行,则将其清除。但是,如果我通过键浏览命令历史记录并开始编辑或使用这些命令,则只会将提示更改为历史记录中的下一个最新命令,因此除非我多次按↓,否则它在这里不起作用。

答案

您可以使用Ctrl + U清除从头开始。

您可以使用Ctrl + W删除仅一个单词。

您也可以使用Ctrl + C取消。

如果要保留历史记录,可以使用Alt + Shift + 使其成为注释。


Bash Emacs 编辑模式备忘单

只是总结所有答案:

  • 清理行:您可以使用Ctrl + U清理到开头。
  • 清理行: Ctrl + E Ctrl + U在终端中擦除当前行
  • 清理行: Ctrl + A Ctrl + K清除终端中的当前行
  • 取消当前的命令 / 行: Ctrl + C。
  • 调用已删除的命令: Ctrl + Y (然后按 Alt + Y
  • 转到行首: Ctrl + A
  • 转到行尾: Ctrl + E
  • 例如,如果您位于命令中间,则删除前向单词: Ctrl + K
  • 删除左侧的字符,直到单词的开头: Ctrl + W
  • 要清除整个命令提示符: Ctrl + L
  • 在行首和当前光标位置之间切换: Ctrl + XX

我有完整的快捷方式列表:

  1. CTRL + A移动光标到开始线的
  2. Ctrl + e将光标移至行尾
  3. Ctrl + b后退一个字符
  4. Alt + b后退一个单词
  5. Ctrl + f向前移动一个字符
  6. Alt + f向前移动一个字
  7. Ctrl + d删除当前字符
  8. Ctrl + w剪切最后一个单词
  9. Ctrl + k剪切光标后的所有内容
  10. Alt + d光标后切词
  11. Alt + w在光标前剪切单词
  12. Ctrl + y粘贴上一个删除的命令
  13. Ctrl + _撤消
  14. Ctrl + u剪切光标之前的所有内容
  15. Ctrl + x x在第一个位置和当前位置之间切换
  16. Ctrl + l清除终端
  17. Ctrl + c取消命令
  18. Ctrl + r历史记录中的搜索命令 - 输入搜索词
  19. Ctrl + j在当前历史记录条目处结束搜索
  20. Ctrl + g取消搜索并恢复原始行
  21. Ctrl + n历史记录中的下一个命令
  22. Ctrl + p历史记录中的上一个命令