我记不住的Linux命令行下快捷键

背景: 当我们在输入一个很长很长的命令时候,修改命令中的某个字符会变得很繁琐。Bash是一个通用的shell,它使用Readline库实现命令行的输入,知道了Readline的绑定键就会很方便的操作命令行,不仅仅是Bash使用了Readline并且gdb也使用了它。

例如:修改option25的问题

./cmd --option1 --option2 --option3 --option4 --option5 --option6 --option7 --option8 --option9 --option10 --option11 --option12 --option13 --option14 --option15 --option16 --option17 --option18 --option19 --option20 --option21 --option22 --option23 --option24 --option25 --option26 --option27 --option28 --option29 --option30 --option31 --option32 --option33 --option34 --option35 --option36 --option37 --option38 --option39 --option40 --option41 --option42 --option43 --option44 --option45 --option46 --option47 --option48 --option49 --option50 
一共有50个选项,我需要修改是第25个选项,我<C-a>到行首,然后依次<atl-f>25次,或者<C-e>到行尾,然后依次<alt-b>25次,但这些都太繁琐了。我能否快速移动到option25并进行修改。

一、基础命令

# Ctrl + l - 清屏

# Ctrl + a - 光标移到行首

# Ctrl + e - 光标移到行尾

# Ctrl + w - 剪切光标之前的一个单词

# Ctrl + u - 剪切光标之前到行首的所有内容

# Ctrl + k - 剪切光标之后到行尾的所有内容

# Ctrl + r - 搜索历史

# atl  + d - 剪切从光标到这个词的词尾

# Ctrl + d - 删除光标所在的字符,类似向后删除

# Ctrl + h - 删除光标前一个字符,类似向前删除

# alt  + backspace - 剪切从光标到这个词的词首

# Ctrl + y - 粘贴

# Ctrl + F - 光标后移一个字符

# Ctrl + B - 光标前移一个字符

二、快速移动

# Ctrl + ]   -  输入命令后,向后面进行搜索,输入想要搜索字符即可,类似于 vim的f命令

# Ctrl + Alt + ]  - 输入命令后,向前面进行搜索,输入想要的搜索字符即可,类似于vim的F命令

# alt  + b - 光标前移一个单词

# alt  + f - 光标后移一个单词

三、长命令的另外一种编辑方式

# Ctrl + x  然后 再次按 Ctrl + e 此时将打开默认的编辑器,用于编辑当前的命令

四、快速编辑的解决方法

第一种:可以使用 上述第三节的内容,<C-x><C-e>打开编辑器进行快速编辑

第二种:可以使用 上述第二节的内容,快速移动,通过<C-]>进行快速搜索

第三种:<C-r>查找历史,输入option25,然后Tab回到命令行,此时光标在option25处,再进行编辑,最后<C-e>进行回车即可

第四种:设置为vi,然后进行快速编辑

Readline可以工作在emacs模式和vi模式,而emacs是其默认模式,我们可以改变一下shell的模式:

$ set -o vi
然后可以使用Esc在输入模式和正常模式下进行切换,通过i或a进行编辑,和vi使用是一样的。
解决option25这个问题,直接 3f5B   从首部依次搜索5,第一次是option5,第二次是option15,第三次是option25,最后输入B 将移动光标到词首。
或 输入f5, 第一次是option5,然后输入 ;代表下一个则到了option15,再次输入;代表到了下一个即option25,然后输入 B 将移动光标到词首。 而 ,代表前一个匹配。
恢复或切换emacs:
set -o emacs
参考文献:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Penguinbupt

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值