可能很多人还在使用Backspace退格键一个字符一个字符进行删除,如果你还在用方向键一个字符一个字符的移动,那么下面的介绍会对你有所帮助。
一.Emacs模式(系统默认):
Ctrl+r 然后输入若干字符,开始向上搜索包含该字符的命令,继续按Ctrl+r,搜索上一条匹配的命令
CtrL+p 查找上一个历史命令
Ctrl+n 查找下一个历史命令
Ctrl+f 光标向前移动一个字符,相当与->
Ctrl+b 光标向后移动一个字符,相当与<-
Alt+f 光标向前移动一个单词
Alt+b 光标向后移动一个单词
Alt+backspace 向后删除一个词
Alt+d 剪切光标之后的词
Ctrl+a 移动到当前行的开头
Ctrl+e 移动到当前行的结尾
Ctrl+u 剪切命令行中光标所在处之前的所有字符(不包括自身)
Ctrl+k 剪切命令行中光标所在处之后的所有字符(包括自身)
Ctrl+h 删除光标所在处前一个字符
Ctrl+d 删除光标所在处字符,当无字符时,会起到exit的功能
Ctrl+w 剪切光标所在处之前的一个词(以空格、标点等为分隔符)
Ctrl+s 挂起当前shell(如果你觉得你的键盘突然失灵了,那很可能是误按了这个组合键。使用ctrl+q解锁)
Ctrl+q 重新启用挂起的shell
Alt+u 把当前词转化为大写
Alt+l 把当前词转化为小写
Alt+c 把当前词汇变成首字符大写
Ctrl+(x u) 按住Ctrl的同时再先后按x和u,撤销刚才的操作
Ctrl+y 粘贴刚才所删除的字符(串)
Ctrl+l 清屏
Ctrl+c 删除整行(这个比较假,实际上没有删除,只不过将光标移动到下一行)
!string Refers to the most recent command starting with string
!?string 执行含有string字符串的最新命令
^string1^string2 Repeat the last command, replacing first string1 with string2
^string1^string2^ Repeat the last command, replacing all string1 with string2
emacs复制一行可以这样:
1)ctrl+e移到行尾, ctrl+u剪切当期行, ctry+y粘贴当前行
2) ctrl+a移到行首, ctrl+k剪切当期行, ctry+y粘贴当前行
二.vi模式
先set -o vi, 然后用vi的命令编辑你的命令行。使用set –o emacs切换到emacs模式