🪶 简述
Linux命令行的许多快捷键与
GNU/Emacs
编辑器非常像,因此我十分建议可以学习学习emacs编辑器,来了解或发现更多的命令行快捷键。
点此访问emacs官网
点此访问emacs中国(论坛)
简述一下
Emacs
:Emacs’一切皆快捷键’,熟悉Emacs编辑器之后,甚至连上下左右键都不会用到,可以通过快捷键快速移动光标、复制、粘贴、文本居中、(伪)撤回功能、分屏功能、甚至可以在Emacs中打开一个shell终端,这对于非Desktop版本的Linux来说是非常友好的。
Emacs支持目前市面上主流的操作系统,喜欢的小伙伴可以下载尝试,熟悉之后可以尝试自己优化Emacs或者使用大佬优化好的Emacs(比如:Spacemacs等)。
👩🏻💻 Linux 终端快捷键
😈 常用操作
快捷键 | 解释说明 | 备注 |
---|---|---|
Ctrl + A | 光标回到行首 | |
Ctrl + E | 光标回到行尾 | |
Ctrl + K | 删除光标后面所有内容 | |
Ctrl + L | 清屏操作 | 类似于clear 命令,但是仍可以使用鼠标滚轮回滚 |
Tabs | 自动补齐 | (人尽皆知的快捷键) |
😈 复制粘贴操作
快捷键 | 解释说明 | 备注 |
---|---|---|
Ctrl + Shift + C | 复制选中内容 | |
Ctrl + Shift + V | 粘贴复制的内容 | 看到有说可以用Shift Insert 来粘贴,我没有INSERT键,所以没确认 |
😈 光标操作 | 比较常用
快捷键 | 解释说明 | 备注 |
---|---|---|
Ctrl + A | 光标回到行首 | (常用) |
Ctrl + E | 光标回到行尾 | (常用) |
Ctrl + F | 光标前进一格 | 等效于右键 |
Ctrl + B | 光标后退一格 | 等效于左键 |
Alt + F | 光标前进一个单词 | 英文按空格算,中文按标点符号算 |
Alt + B | 光标后退一个单词 | 规则同上 |
Ctrl + ] | 从当前光标往后搜索字符串,用于快速移动到该字符串 | 见下方示例1 |
Ctrl + Alt + ] | 从当前光标往前搜索字符串,用于快速移动到该字符串 | 同见示例1 |
🐾 示例1 | 快速搜索
ls -a l -a lc -b # 随便编的命令,无任何意义
假使现在光标在最前方,那么我点
Ctrl + ]
,再点一下l
减,光标会跳到-a
后面的l
上,再继续输入的话会在l
前面插入内容。
Ctrl + Alt + ]
命令一个意思,只不过搜索的是光标前面的内容。
注意:只能搜索字母,不可以搜索单词。
😈 插入、删除、撤回
讲一下撤回:不同于我们常用的
Ctrl/Command + z
,Linux(emacs同)中并没有真正意义上的撤回,只不过是将你刚才删除的内容粘贴上去。
比如,我的命令是ls -a
并且使用Ctrl+K
删除了-a
,那么我可以点击Ctrl + Y
进行撤回,这时候命令恢复成了ls -a
。
但是如果继续点Ctrl + Y
那么还会继续粘贴-a
,最终会形成ls -a-a-a-a-a-a--a-a-a....
这个样子(如下图)。
注意:
- 不能撤回删除键删除的内容(不同版本的发行版可能不一样,有待校验)
- 不能撤回输入的内容(我输入
ls -a
想点Ctrl + Y
回退到ls
状态是不可行的)
快捷键 | 解释说明 | 备注 | |
---|---|---|---|
Ctrl + Shift + C | 复制 (常用) | 在Mac中中可以直接用Command + c 复制 | |
插 | Ctrl + Shift + V | 粘贴 (常用) | 同上 |
插 | Ctrl + Y | 撤回,粘贴CtrlW或CtrlK删除的内容 | 同上 |
插 | Alt + . | 粘贴上一条命令ed最后一个参数 | (见下方示例2) |
插 | Alt [0-9] Alt . | 粘贴上一条命令的第[0-9]个参数 | (见下方示例3) |
插 | Alt [0-9] Alt . Alt. | 粘贴上上一条命令的第[0-9]个参数 | 同上 |
删 | Ctrl + K | 删除光标后的所有内容 | |
删 | Ctrl + U | 清空当前键入的命令 | 等价于 Ctrl + A + Ctrl + K |
删 | Ctrl + H | 删除光标的前一个字符 | 等价于删除/退格键 |
删 | Ctrl + D | 删除当前光标所在字符 | 等价于Delete 键(很多机型没有这个键) |
删 | Ctrl + W | 删除光标前的单词 |
🐾 示例2/3 | 插入前一条命令的参数
> ls -a -l -h # 首次执行的命令
> ls # 第二次执行的命令,此时光标位于这条命令的尾部
点击
Alt + .
,命令变成ls -h
(-h是上一条命令的最后一个参数)
点击Alt + 2
后点击Alt + .
,这时候命令变成ls -l
😈 历史操作
命令 | 解释 | 备注 |
---|---|---|
Ctrl + P | 上一条命令,可以一直按表示一直往前翻 | 等价于上键 |
Ctrl + N | 下一条命令 | 等价于下键 |
Ctrl + R | 再按历史命令中出现过的字符串:按字符串寻找历史命令(重度推荐) |
😈 其他操作
快捷键 | 解释说明 | 备注 |
---|---|---|
Ctrl + M | 等效于回车键 | |
Ctrl + E | 光标回到行尾 | (常用)| 类似于Windows的End键 |
Ctrl + K | 删除光标后面所有内容 | (常用) |
Ctrl + L | 清屏操作 | 类似于clear 命令,但是仍可以使用鼠标滚轮回滚 |
Ctrl + X Ctrl + E | 调出系统默认编辑器编辑当前输入的命令,退出编辑器时,命令执行 | |
Ctrl + Z | 把当前进程放到后台 | 之后可用’‘fg’'命令回到前台 |
Ctrl PageUp | 屏幕输出向上翻页 | |
Ctrl PageDown | 屏幕输出向下翻页 |
上下翻页Emacs中用的是
Ctrl + V
和Alt + V
,但是Terminal里面实测不可以。
📜 参考文章
「Github」Linux 命令行编辑快捷键.md