Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103682401
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-03-26 09:41:36

来源:赛迪网    作者:korn

bash有两种输入模式vi模式和emacs模式,其中emacs是默认模式,而且操作起来也比vi模式要快捷。可以通过 set -o vi和set -o emacs来转换。

1.在命令历史中查找

强烈推荐使用 Ctrl+r, 这个键组合是反向增量查找消息历史。很好用。 比如你很久以前输入过某个命令如。 gcc -c -DKKT - Dnnn 等等,一长串, 用上下方向键来找比较困难,这时候可以Ctrl+r,然后输入gcc很快找到该命令,重复按Ctrl+r将查找更早的历史。

其实还有 Ctrl+s 是正向增量查找的,但是由于这个快捷键被终端预设成锁屏幕了,没有效果。不过可以使用命令 stty -ixon -ixoff来解除绑定.再举一个Ctrl+r和Ctrl+s的应用吧.

比如我打入了如下命令,

echo aa bb cc d ee ff gg kk qq

然后我发现我要修改一下,把d修改成dd,这时候只要Ctrl+r 输入d,就立刻定位到d所在的位置,然后Ctrl+f一下,再输入d即可

2.命令行中移动

Ctrl+f Ctrl+b 分别是前后移动一个字符的距离

Alt+f Alt+b 是前后移动一个单词的距离这个很快比如你输入了

$grep -e funtion file1 file2 file3

然后你发现funtion错了,要移动回来修改,则可以Alt+b三下就移动回来了,很快。

Ctrl+a Ctrl+e 移动到行首和行尾。这个也很好用,如果输入了一长串命令行,发现第一个单词拼错了,可以Ctrl+a到开头再进行修改。

3.删除

Alt+d 往右边删除一个单词

Alt+Backspace 往左删除一个单词

Ctrl+u 往左删除到行首

Ctrl+k 往右删除到行末

其中这些删除都放入了删除环里面,可以使用Ctrl+y找回,Alt+y在删除环里面移动也就是说命令行里面可以使用剪切和粘贴了。

上面的几条如果用熟练了效率能提高很多。

而如果还想了解更多的快捷键绑定,敲如下命令

bind -P

发现有些你需要的功能而没有快捷键绑定的话可以如下绑定,比如我绑定了两个函数

bind -m emacs '"\M-w": kill-region'

bind -m emacs '"\M-W": copy-region-as-kill'

阅读(141) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~