当前位置: 首页>>技术问答>>正文


如何快速删除我的命令?

, ,

问题描述

几乎所有的任务都使用终端。比方说,我已经进入了这样一个巨大的命令:

sudo a-huge-command

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

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

最佳解决方法

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

如果您只想放弃当前的命令行并获得新的清除提示符Ctrl + C

有关更多参考,请查看Using The Terminal的Ubuntu文档

次佳解决方法

Ctrl + U应该可以帮到你。

以下是其他可用选项。从here中抓取

UNIX可以理解几个control-key命令,通过按住控制键(ctrl)并按下第二个键来输入命令

CTRL + S – 冻结屏幕并停止屏幕上的任何显示(等同于no-scroll键)(有时需要片刻才能工作)

CTRL + Q – un-freezes屏幕并让屏幕继续显示

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

CTRL + \ – 与CTRL – C相同,但较强(用于终端不响应时)

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

CTRL + H – 删除最后输入的字符

CTRL + W – 删除最后输入的单词

CTRL + U – 删除最后一行输入的内容

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

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

注意:

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

第三种解决方法

我通常使用Alt + Backspace。如果您使用的是bash,则可以删除以前的特殊字符(/;等)。如果您使用zsh,它也会删除斜线和分号。这比打Backspace要快得多。

bash中,与Ctrl + w + w的不同之处在于,Ctrl + w删除了前一个词Alt + Backspace删除,直到找到前一个特殊字符。在zsh中,两个组合键都执行相同的操作

第四种方法

这是一个listing键盘快捷键,可用于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 – 除了中断运行命令外,它还可用于”interrupt”您的命令行输入。

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

第七种方法

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

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

输入bind -P以查看当前的readline绑定,并参阅man readlineUbuntu manpages online以获取更多信息。

第八种方法

我也使用Esc + Backspace删除所有以前的字符,直到一个特殊的字符。这也是Alt + Backspace。如果您一次只删除几个字,方便使用。

第九种方法

对于vi密钥绑定

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

插入模式

它与default /emacs模式下的按键操作相同:

Ctrl + U

从当前位置删除到行首。所以如果光标在最后,它会删除整行。

正常模式

有两种方法可以在两个按键中删除该行:

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

d d

这是按键触摸最简单的。

另一种方法是:转到^的行首,并用D删除到行尾:

^ D

这些都删除整条线,不仅在左侧,如插入模式下的Ctrl + U,或者变体自动删除。

如果你现在在行末,所以你不需要删除任何东西,这也可以做到:

从这里删除d,以开始行^

d ^

你可以在插入模式下使用这些,你首先需要通常的转义才能进入正常模式。例如,要从插入模式中删除整行,请使用:

Esc d d

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/268.html,未经允许,请勿转载。