readline对于我等长期使用命令行的程序猿来说,实为加快输入速度之利器。下面就来一起领略它的强大之处。
1. 移动光标。如果你还在使用←和→来移动,那么就有点老套了。试试下面几个
Ctrl-b 向左移动一个字符 Ctrl-f 向右移动一个字符
Alt-b 向左移动一个单词 Alt-f 向右移动一个单词
按单词移动比按字符移动快多了。有的时候我们要在一串很长的命令头和尾移动,用下面的就更方便了
Ctrl-a 移动到一行的起始 Ctrl-b 移动到一行的结尾
2. 命令行中输错几个地方很常见,除了Backspace和Del外,有没有其它好用的方法?
Ctrl-u 删除光标左边的所有内容 Ctrl-k 删除光标右边的所有内容
上面的是不是删的有点多?这个可以少点的
Ctrl-w 删除光标前面一个单词 Alt-d 删除光标后面一个单词
用过vim的人都知道,所有删除的内容都保存在寄存器中,以后还可以使用。readline也有,只是没那么强大
Ctrl-y 粘贴上次被Ctrl-w删除的单词(这个得配合使用,555)
如果上面这些都满足不了你,我推荐用fc。它可以使用你喜欢的编辑器来修改,这个强大了。
不小心删错了怎么办?当然有撤销命令了
Ctrl-_ 撤销上一次操作
或者是
Alt-r 撤销所有操作
我常常因为输入太快,把sudo输成suod。为了不再受其困扰,我在profile中加了一个alias。可是,在别的机器上就不行了。不过readline也有方法
Ctrl-t 交换前两个字母
对我很有用,另外还有
Alt-t 交换前两个单词
这种情况我就比较少见了
3. 历史记录很有用,我们常常会输入一些相似的命令,不去利用实在太可惜了。
大部分人都使用↑和↓来查看历史,其实可以用Ctrl-p和Ctrl-n代替。具体看个人喜好了。
真正有用的是
Ctrl-r 向后搜索命令行
反应非常迅速,在输入的命令行不多时很准确。
当然,也有在一大堆历史中操作的方法。输入history,会出现一份列表,找到那一行的编号执行
!#num
或
!!
直接是上一条命令。fc也能做上面的事,比如ls IMG1.jpg
fc -s 1=2
就直接执行ls IMG2.jpg,是不是很方便。
好了,练习了这么多,输入Ctrl-l。这下屏幕是不是清爽多了。