快速命令行编辑

 可能很多人还在使用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模式

你可能感兴趣的:(快速命令行编辑)