如何快速删除命令?
我使用终端几乎完成所有任务。 假设我已经输入了这样一个巨大的命令:
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 + W或CTRL + 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 + C或Ctrl + U来实现。
Alt + # (即Alt + Shift + 3 )将注释掉当前命令并继续下一行。
例如,如果键入t , e , s , t , Alt + # ,您将获得:
you@computer$ #test you@computer$
如果要恢复旧命令,可以按向上箭头并删除哈希字符( Up , Home , Delete或Up , Ctrl + A , Delete )。
我认为这是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 -v
在zsh
使用bindkey -v
:
插入模式
它与默认/ emacs模式下的键击相同:
Ctrl + U.
从当前位置删除到行首。 因此,如果光标位于末尾,它将删除整行。
正常模式
有两种方法可以在两次击键中删除该线:
删除linewise dd
,默认计数为一行:
d d
这是触摸键最简单的。
另一种方法是:用^
开始行,然后用D
删除到行尾:
^ D.
这些都删除整行,不仅是左侧,如插入模式下的Ctrl + U ,或变量bleow。
如果你当前在行尾,那么你不需要删除任何东西,这也可以:
从这里删除d
,到行^
开头:
d ^
你可以使用这些全部来自插入模式,你需要通常的逃生才能进入普通模式。 例如,要从插入模式中删除整行,请使用:
Esc d d