【zz】几个简单选项让你的Readline(Bash)更好用

Reddit上的一位仁兄贴出了他的readline手册学习成果,只需要在.inputrc中加入几个简单的选项,就可以让你的readline(Bash)界面变得更好用。

set completion-ignore-case on

这个选项很直白,自动补全时忽略大小写:

来看个例子:

$ ls
longFileNameLINUX-2.6.37-4 longFileNameLINUX-2.6.37-7 longFileNameLINUX-2.6.38-11 VeryCompliCATEDfileNAME.txt
longFileNameLINUX-2.6.37-6 longFileNameLINUX-2.6.37-8 longFileNameLINUX-2.6.38-9
$ ls very<TAB>
$ ls VeryCompliCATEDfileNAME.txt

set completion-prefix-display-length 2

如果你的某个文件夹下有一堆相似的文件名,那这个选项会非常有用,它会将所有自动补全文件名中相同的部分以...代替,让你更容易找到你想要的文件.

例子:

$ ls
longFileNameLINUX-2.6.37-4 longFileNameLINUX-2.6.37-7 longFileNameLINUX-2.6.38-11 VeryCompliCATEDfileNAME.txt
longFileNameLINUX-2.6.37-6 longFileNameLINUX-2.6.37-8 longFileNameLINUX-2.6.38-9
$ ls long<TAB>
...7-4 ...7-6 ...7-7 ...7-8 ...8-11 ...8-9
$ ls longFileNameLINUX-2.6.3

Control-j: menu-complete
Control-k: menu-complete-backward

如果自动补全的结果只有2,3个文件,这两个选项可以让你通过Ctrl-j和Ctrl-k在结果中快速选择你想要的文件。

举例:

$ ls
cfg-common.h cfg-mencoder.h cfg-mplayer-def.h cfg-mplayer.h
$ ls cfg<TAB>
...common.h ...mencoder.h ...mplayer-def.h ...mplayer.h
$ ls cfg-<Press ctrl-j three times>
$ ls cfg-mplayer-def.h

(作为奖励,对于上面的例子,如果当前目录之后4个文件,实际上你可以直接按3次Ctrl-j找到你想要的文件)

$ ls <Press ctrl-j three times>
$ ls cfg-mplayer-def.h

set show-all-if-ambiguous on
set show-all-if-unmodified on

开启第两个选项后,只需要按一次TAB键,就会进行自动补全,而不是默认的两次Tab,这会帮你节省不少按键,但是副作用就是它会占用你的终端的大部分空间。

set completion-map-case on

打开这个选项后,readline会将下划线_和连接符-当作同一个字符看待,有时候,如果你不能确定你到底使用了那个字符命名文件时,这个选项会很有用。

转自:http://heikezhi.com/2011/09/14/simple-readline-configuration-make-bash-more-friendly/trackback/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值