I am LAZY bones? AN ancient AND boring SITE

2008年 03月 20日 的归档

bash下esc键的妙用

看到ee在他blog里说按两下 esc键,可以和tab一样补全.于是想到了还有写 esc 的小技巧,可以大家分享一下:
1.
最有用的用过是这个:你要建立一个文件夹,然后cd到里面去,而这个文件夹名字很长的时候,你只需要这样:
mkdir ThisIsAVeryLongDirectoryName 回车 cd {esc}{点号} 就会补全那一串 ThisIsAVeryLongDirectoryName 了.
其实这个是这样的,esc以后按个点点,意思是在当前光标所在位置,补上上一个命令的最后一个参数,也就是那个目录名了,这样是不是方便多了?当然这招也可以用在其他地方,另一个例子是: 可能上一个命令执行了 apt-cache show XXX软件包,了解了他的信息之后,下一步要安装/卸载了,就可以执行 apt-get install/remove {esc}{点号} 了.
2.
{esc}{<} 可以移到历史命令的第一个
{esc}{>} 可以到最后一个历史命令.这个可以用在,你想在历史里面找某个命令,结果按了若干下向上箭头后,没找到,快速回去的话,就不用一直按向下箭头了.
{esc}{backspace} 快速清除当前行输入,上面这种情况也可以用这招.或者用于命令输到一半的时候,却不想执行该命令了,就不用一个个字符删了.
3.
输入重复字母:如果要输入 ee ,可以这么按:{esc}{2}{e},如果要输入100个e,就可以这样: {esc}{1}{0}{0}{e},哈哈.
4.
{esc}{t} 可以瞬间大挪移,比如现在已经输入了 ab cd efg 然后光标停留在最后面,按下{esc}{t}之后,得到的是 ac efg cd,光标所在处的单词,会往前一个,哈哈,好玩吧.
5.
补全类:
除了按多次{esc}可以补全以外,还有更好玩的:
{esc}{~}可以补全本机上的用户名
{esc}{/}可以补全文件名
{esc}{@}可以补全主机名,localhost可以方便地用 lo补全.
还有很多,可以参考man bash 的readline一节.