我使用终端执行几乎所有任务。假设我输入了这样一个巨大的命令:
sudo a-huge-command
用单个快捷方式而不是继续按backspace击键来删除整个命令的最简单方法是什么?
我是Ubuntu的新手,希望以专业的方式使用Ubuntu。
ls
),然后再按退格键-这通常只是几个按键,所以它并不是那么大交易。
我使用终端执行几乎所有任务。假设我输入了这样一个巨大的命令:
sudo a-huge-command
用单个快捷方式而不是继续按backspace击键来删除整个命令的最简单方法是什么?
我是Ubuntu的新手,希望以专业的方式使用Ubuntu。
ls
),然后再按退格键-这通常只是几个按键,所以它并不是那么大交易。
Answers:
使用Ctrl+ U将文本从光标位置剪切到命令行开头。以后,如果需要,请使用Ctrl+ Y粘贴剪切的文本。
如果只想放弃当前命令行并获得新的干净提示,请按Ctrl+ C。
有关更多参考,请查看Ubuntu文档中的“ 使用终端”
dash
是/bin/sh
命令的默认解释器。bash
是默认的登录名和TTY shell。
Ctrl + C
这是个坏习惯,因为我经常会不小心按照自己的提示向程序发送信号,杀死它们并失去进度和/或动力。
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,我们还将执行(编辑)“剪切”(拉入)操作(删除并存储在缓冲区/剪贴板中)。要将字符串粘贴(抽出)到缓冲区/剪贴板中,请使用CTRL+ Y。
我通常使用Alt+ Backspace。如果您正在使用bash
,这将让你删除,直到前一个特殊字符(/
,;
,等)。如果使用
zsh
,它将同时删除斜线和分号。它比击中要快得多Backspace。
在中bash
,与Ctrl+的不同之处w在于Ctrl+ w删除了前一个单词,而Alt+ Backspace删除了直到找到前一个特殊字符。在中zsh
,两个组合键都做同样的事情
set -o emacs
设置时有效。
ALT+Backspace
以及CTRL+C
。这适用于任何Linux。:)
/
,;
,``等)。
这是可与外壳一起使用的键盘快捷键的清单bash
。
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。
Ctrl+C
或(Ctrl+E
Ctrl+U
)
man tcsh
或使用的“编辑器命令”部分bindkey -l
。看起来很不一样。
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
。您可以通过放置export EDITOR="/usr/bin/vi"
在~/.bashrc
或中来设置默认编辑器~/.bash_aliases
。
输入bind -P
以查看您当前的readline
绑定,并参考man readline
或在线Ubuntu手册页以获取更多信息。
vi
键绑定当使用vi
键映射时,例如in bash
与set -o vi
in或in zsh
与bindkey -v
:
它与默认/ emacs模式下的击键相同:
Ctrl+U
从当前位置删除到行首。因此,如果光标位于末尾,它将删除整行。
有两种方法可以通过两次击键删除该行:
dd
逐行删除,默认计数为一行:
dd
就触摸按键而言,这是最简单的。
另一种方法是:用转到行的开头^
,然后用删除到行的结尾D
:
^D
它们都删除了整行,不仅删除了整个行,例如插入模式中的Ctrl+ U或变种bleow。
如果您当前位于行尾,则无需删除右侧的任何内容,这也可以:
从此处删除d
,开始以下行^
:
d^
您可以在插入模式下使用所有这些功能,首先需要通常的转义才能进入正常模式。例如,要从插入模式中删除整行,请使用:
Escdd
bash
(以及其他几个shell)来了解vi键:set -o vi
。然后esc
,您可以执行,dd
(或像在vi [m]中一样进行编辑/替换)。