如何快速删除命令?

我使用终端几乎完成所有任务。 假设我已经输入了这样一个巨大的命令:

sudo a-huge-command 

使用单个快捷方式删除整个命令的最简单方法是什么,而不是继续按下退格键?

我是一个Ubuntu新手,希望以专业的方式使用Ubuntu。

使用Ctrl + U将文本从光标位置剪切到命令行的开头。 稍后,如果需要,使用Ctrl + Y粘贴剪切文本。

如果您只想丢弃当前命令行并获得新的干净提示,请按Ctrl + C.

有关更多参考,请查看Ubuntu文档以了解使用终端

Ctrl + U应该可以帮到你。

以下是其他可用选项。 从这里抓起来

UNIX了解几个控制键命令,通过在敲击第二个键时按住控制键(ctrl)输入的命令

CTRL + S – 冻结屏幕并停止屏幕上的任何显示继续(相当于无滚动键)(有时需要一些时间才能工作)

CTRL + Q – 取消冻结屏幕并继续显示屏幕

CTRL + C – 中断正在运行的程序

CTRL + \ – 与CTRL相同 – C但更强(在终端没有响应时使用)

CTRL + Z – 暂停正在运行的程序(使用fg命令继续该程序,请参阅s $

CTRL + H – 删除键入的最后一个字符

CTRL + W – 删除键入的最后一个单词

CTRL + U – 删除键入的最后一行

CTRL + R – 从历史记录中搜索文本

CTRL + D – 结束许多UNIX程序的文本输入,包括邮件和写入。

注意:

当我们使用CTRL + WCTRL + U删除时,我们还执行(编辑)“剪切”(yank in)操作(删除并存储在缓冲区/剪贴板中)。 要在缓冲区/剪贴板中粘贴(拉出)字符串,请使用CTRL + Y.

我通常使用Alt + Backspace 。 如果你正在使用bash ,这将让你删除直到前一个特殊字符( /; 等)。 如果您使用的是zsh ,它也会删除斜杠和分号。 它比击中Backspace快得多。

bash ,这与Ctrl + w的不同之处在于Ctrl + w删除前一个单词,其中Alt + Backspace删除直到找到上一个特殊字符。 在zsh ,两个键组合都做同样的事情

以下是可与bash shell一起使用的键盘快捷键列表 。

 Ctrl + A Go to the beginning of the line you are currently typing on Ctrl + E Go to the end of the line you are currently typing on Ctrl + L Clears the Screen, similar to the clear command Ctrl + U Clears the line before the cursor position. If you are at the end of the line, clears the entire line. Ctrl + H Same as backspace Ctrl + R Lets you search through previously used commands Ctrl + C Kill whatever you are running or start a new prompt Ctrl + D Exit the current shell Ctrl + Z Puts whatever you are running into a suspended background process. fg restores it. Ctrl + W Delete the word before the cursor Ctrl + K Clear the line after the cursor Ctrl + T Swap the last two characters before the cursor Esc + T Swap the last two words before the cursor Alt + F Move cursor forward one word on the current line Alt + B Move cursor backward one word on the current line Tab Auto-complete files and folder names 

你想要做的是通过行尾的Ctrl + CCtrl + U来实现。

Alt + (即Alt + Shift + 3 )将注释掉当前命令并继续下一行。

例如,如果键入testAlt + ,您将获得:

 you@computer$ #test you@computer$ 

如果要恢复旧命令,可以按向上箭头并删除哈希字符( UpHomeDeleteUpCtrl + ADelete )。

我认为这是GNU Readline的一个特性,因为它适用于Bash,Python和MySQL。

Ctrl + C – 除了中断运行命令外,它还可用于“中断”命令行输入。

Ctrl + U相比 ,您仍然可以看到键入的内容,但光标将跳转到新行,您将看到一个空的命令行提示符。

当您使用命令行时,Bash readline快捷键Ctrl + X + E非常有用。 如果您正在输入长命令并决定要在默认文本编辑器中打开它,则只需使用快捷方式即可。

它使用了Bash的readline库,这个特殊的快捷方式称为edit-and-execute-command 。 您可以通过在~/.bashrc~/.bash_aliases放置export EDITOR="/usr/bin/vi"来设置默认编辑器。

输入bind -P以查看当前的readline绑定,并在线查看man readline或Ubuntu联机帮助页以获取更多信息。

我还使用Esc + Backspace删除所有以前的字符,直到一个特殊字符。 这与Alt + Backspace相同。 如果您只是一次删除几个单词,那就很方便。

对于vi键绑定

当使用vi键映射时,例如使用set -o vi或使用bindkey -vzsh使用bindkey -v

插入模式

它与默认/ emacs模式下的键击相同:

Ctrl + U.

从当前位置删除到行首。 因此,如果光标位于末尾,它将删除整行。

正常模式

有两种方法可以在两次击键中删除该线:

删除linewise dd ,默认计数为一行:

d d

这是触摸键最简单的。

另一种方法是:用^开始行,然后用D删除到行尾:

^ D.

这些都删除整行,不仅是左侧,如插入模式下的Ctrl + U ,或变量bleow。

如果你当前在行尾,那么你不需要删除任何东西,这也可以:

从这里删除d ,到行^开头:

d ^

你可以使用这些全部来自插入模式,你需要通常的逃生才能进入普通模式。 例如,要从插入模式中删除整行,请使用:

Esc d d