I am LAZY bones? AN ancient AND boring SITE

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一节.

最后修改时间: 2008年03月20日 16:05

本文章发表于: 2008年03月20日 16:05 | 所属分类:CLI软件, 经验技巧. | 您可以在此订阅本文章的所有评论. | 您也可以发表评论, 或从您的网站trackback.

5 个评论 关于: “bash下esc键的妙用”

  1. ClassFoo 在 2008年03月20日 16:24 说:回复

    还是直接在emacs里用shell来得爽。。。

  2. zhan 在 2008年03月21日 01:33 说:回复

    sigh, Alt+xxx 就是这样的效果,省得跑到角落的去按 esc..

    如果明白了,实际上就是 emacs 中的那群组合键的功能。

    M-c M-u M-l 这些大小写转换啊,等等的在里面都可以用。 还是非常好玩的。。

  3. weakish 在 2008年03月21日 19:31 说:回复

    readline, 以前在王垠的网页上看过,不过老实说平时不怎么用。呵呵。

  4. bones7456 在 2008年03月24日 17:18 说:回复

    呵呵,readline多少有些晦涩,确实不常用.

  5. morningboat 在 2008年03月26日 00:33 说:回复

    是呀,Bash的快捷键就是Emacs里的部分子集,用惯Emacs后就很自然方便了。

发表评论