Linux 命令行文本操作快捷键
参考:https://vra.github.io/2018/01/27/linux-cmdline-edit-shortcuts/
可能有些人不知道,Linux命令行也有一些方便文本操作的快捷键,如跳到行首的快捷键是Ctrl-a
,,跳到行尾的快捷键是Ctrl-e
,删除光标所在处的字符的快捷键是Ctrl-d
。 虽然这些快捷键很多时候都可以被小键盘的左右移动键、Home和End键替代,但是对于比较长的命令的修改,快捷键的操作还是比较快的。因为我平时用Vim比较多,而Linux命令行绑定的是Emacs的快捷键方式,虽然可以通过在命令行执行set -o vi
修改为Vim的快捷键方式,但是这样会影响常用的像Ctrl-p
,Ctrl-n
等操作,因此我还是打算将这些难记的文本操作快捷键总结下来,让自己多练习,以后能更熟练地使用。注意这里我只列了文本操作的快捷键,像别的历史命令查询Ctrl-r
和清屏操作Ctrl-l
等快捷操作,大家可以参考我写的这篇博客。
指令说明:
Alt-a: 表示 按住Alt键的同时按住小写的a,即同时按住Alt键、字母a键
Alt-A: 表示 按住Alt键的同时按住大写的A,即同时按住Alt键、SHIFT键和字母a键
移动
Ctrl-f: 光标向前移动一个字符,这里的前不是前面,而是表示敲字符时下一个字符的顺序,即向右移动一个字符
Ctrl-b: 光标向后移动一个字符,即向左移动一个字符
Alt-f: 光标向右移动一个单词,这里的单词表示用标点符号下划线等分开的数字和字母串,因此像
256_3484_2222
需要按3次Alt-f
才能从开始到结尾Alt-b: 光标向左移动一个单词,单词的定义同上一条
Ctlr-a: 光标移动到行首
Ctrl-e: 光标移动到行尾
Ctrl-x-x: 将光标移动到行首,再按一次则光标跳回当前位置
增加和删除
Ctrl-d: 删除光标处的字符,即字符删除
Ctrl-h: 删除光标左边的字符,效果同退格键
Alt-d: 向右删除光标处字符所在单词,保留下一个单词分隔符。注意:如果光标所在位置为标点符号,则删除这个标点符号和跟在它后面的一个单词
Ctrl-w: 删除光标左边的单词,如果当前的光标在单词中间,则删除这个单词在光标左侧的部分
Ctrl-k: 删除光标后面的所有内容
Ctrl-u: 删除输入的所有字符
Ctrl-y: 粘贴之前一次Ctrl-k 或Ctrl-w 删除掉的内容
Atl-t: 交换光标所在单词和左边的单词
Ctrl-t: 交换光标处字符和左边的字符,然后光标移动到下一个字符
Alt-u: 将光标所在单词的右边部分全变为对应的大写字母,光标移动到当前单词后面的标点符号上
Alt-l: 将光标所在单词的右边部分全变为对应的小写字母,光标移动到当前单词后面的标点符号上
Alt-c: 将光标所在处字母变为大写,然后光标移动到当前单词后面的标点符号处
Ctrl-_: 取消之前的一个字符的操作,可以重复多次。注:这条比较特殊,我在cygwin中测试的时候,需要按Ctrl-SHIFT-_才可以。