如何快速纠正你的linux命令?我们在输入命令的时候,难免会出现输入命令错误,或者输入过多,过少的情况,那么除了各种按方向键退回之外,还有什么快速纠正命令的方法?
本文用|表示光标位置。
移动到命令开头
举个例子,你准备执行一个命令:
- ./test -a xxx -b bbb|
但是你输入的时候,少了前面的./(为什么执行程序的时候前面要加./)
- test -a xxx -b bbb
这个时候你一般会怎么办?使用方向键将光标移动到开头?还有呢?
快捷键:ctrl + a
即可,你就会发现光标移动到了开头:
- |test -a xxx -b bbb
移动到命令结尾
移动到前面之后,发现命令结尾少了一些东西,怎么?
ctrl+e
可以将e记忆为end。
光标又移动到了最后。
向前移动一个词
如果你不想移动到最后,只是想移动一个词的距离,还可以用:alt+f
f记忆为forward。
向后移动一个词
或者向后移动:alt+b
b记忆为backward
清空整条命令
发现整条命令都不对,或者xx前面的都不会怎么办?比如想要删掉光标前的所有内容:
- test -a xxx |-b bbb
只需要按下:ctrl +u
命令就会变成:
- |-b bbb
删除命令的一个词
比如下面,你要删除bbb:
- test -a xxx -b bbb|
只需要按下:ctrl+w
就会变成:
- test -a xxx -b |
将词转换为大写
比如要将bbb转换为大小:
- test -a xxx -b |bbb
按下:esc + u
就变成了:
- test -a xxx -b |BBB
u记忆为upper
将词转换为小写
按下:esc + l
又会变成小写。
l记忆为lower
the fuck
当然了,有人对于输入错误的情况,做了一个程序,用于纠正输错的程序。
不多介绍,直接看效果:
项目地址:https://github.com/nvbn/thefuck
总结
- ctrl + a:光标移动到命令开头
- ctrl + e:光标移动到命令结尾
- alt f:光标向前移动一个单词
- alt b:光标向后移动一个单词
- ctrl u:从光标处开始,删除命令
- ctrl w:删除一个词(以空格隔开的字符串)
- esc u :将当前词转换为大写
- esc l :将当前词转换为小写