免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 973 | 回复: 0
打印 上一主题 下一主题

定义linux console下面的热键(转coolend) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-20 21:49 |只看该作者 |倒序浏览
                                    How To Make A Hotkey On The Linux Console
察看热键对应的ANSI
# cat
;
看到了什么? ^[^H 对不对?
按;退出
同理可以得知其他组合热键对应的ASCII字符,
然后修改/etc/inputrc 或 ~/.inputrc,向里面添加组合热键的宏定义
"^[^G":"gaim & &>;/dev/null && disownC-M"
#按Ctrl-Alt-g在当前shell打开gaim, 并脱离该shell独立运行,即:即使你退出了该shell, gaim也不会关闭
字符输入方法: 在vi的插入模式下, ^[是先按Ctrl-V, 然后按ESC...^G是先按Ctrl-v, 然后按Ctrl-g,其他的与此类似
"^[^H":"vi /etc/httpd/conf/httpd.confC-M"
# Ctrl-Alt-h 打开vi编辑器编辑apache的配置文件
"^[^L":"stardict & &>;/dev/null && disownC-M"
# Ctrl-Alt-l ->;>; 运行星际译王(l->;look up查询的意思)
"^[^O":"soffice & &>;/dev/null && disownC-M"
# Ctrl-Alt-o ->;>; 打开Openoffice
"^[^P":"opera & &>;/dev/null && disownC-M"
# Ctrl-Alt-p ->;>; 大名鼎鼎的浏览器Opera
"^[^X":"xmms & &>;/dev/null && disownC-M"
其他一些组合键可以根据自己的需要配置,偶就不多说了
测试一下:
su - USER
部分热键不能用是因为有些热键先被终端给截获了,所以readline没有收到。
另外补充几点:
1. 还可以定义Alt+Shif+[A-Z] 热键, 偶试了一下,26个热键全部都可以,不会被终端截获
#define Alt+Shift+[A-Z]
"^[A":";C-M"
"^[B":";C-M"
...
"^[Y":";C-M"
"^[Z":";C-M"
^[A 的输入方法与前面类似,进入Vi插入模式后,先按Ctrl-V, 再同时按Alt+Shif+A
2. 宏定义的末尾C-M表示输入完定义的命令后回车,也可以更简洁地用一个
来表示,即:
"^[A":";C-M"
与下面的是等价的
"^[A":";
"
3. 发现还可以定义Ctrl-F[1-12], Alt-Shift-F[1-12]
(Alt+F[1-12]也可以, 但有一些会被终端捕获)
相应字符输入方法与前面类似
加快你输入命令的速度
一般情况下,我们可以使用上下方向键来查找命令历史列表,以此重复输入命令,但是方向键离主键盘区太远,如果频繁使用的话,会耽误不少时间,而且挪动右手时也不太方便,有没有什么办法把方向键的功能转移到我们经常敲命令的地方呢?
如使用Alt+J = Down Arrow 向下查找,Alt+K=Up Arrow 向下查找
通过热键的宏定义可以做到这点:
偶的热键映射如下:
"eh":"^[OD"       # move left
Alt-H 向左移一个字符, 相当于Left Arrowgh
"el":"^[OC"        # move right
Alt-L 向右移一个字符,相当于Right Arrow
"ej":"^[OB"        # move up
Alt-J 向下移动,相当于Up Arrow
"ek":"^[OA"       # move down
Alt-K 向上移动,相当于Down Arrow
"ei":"^?"                                # left earse one character
Alt-I 向左删除一个字符,相当于Backspace
"eo":delete-char                    # right earse one character
Alt-O 向右删除一个字符,相当于Delete
"en":backward-kill-word         # left kill one word
Alt-N 向左删除一个单词
"em":kill-word                        # right kill one word      
Alt-M 向右删除一个单词
"ea":"^[n^[n^[n^[n^[n^[n^[n"                 # kill to the head
Alt-A 删除当前位置到开头,也就是多Alt-N几次(A-->; ahead)
"ee":"^[m^[m^[m^[m^[m^[m^[m"          # kill to the head
Alt-E 删除当前位置到末尾,也就是多Alt-M几次(E-->; end)
"ep": insert-last-argumem"
Alt-P 插入上一个命令最后一个参数 (P-->; Paste)
"ew": forward-word
系统默认Alt-F (forward)跳到当前单词词尾,如果已在词尾,则跳到下一个单词(右边一个单词)词尾   
发觉F和B键离得太远,不方便,偶分别改作Alt-Q, Alt-W, 但是Alt-F/B照样可以用
这样输入命令的时候几乎可以不用离开主键盘区,而且移动光标,删除字符,删除单词,上下历史命令查找都集中在一块,比以前方便多了。
不过开始可能有些不习惯,就跟使用vi一样,但是多练几次就熟练了。
以上是根据偶个人的喜好来设定的,大家如果有更好的方案的话,可以拿出来共享。
另外,这些热键在控制台可以使用自如,如果在X-windows下的模拟终端,需要把终端的菜单的热键禁用掉,可以在编辑->;热键里更改
意外的发现:
Alt-U(Uppercase) 可以把光标位置到末尾之间的字符全部转换为大写
Alt-C(Case) 可以把光标位置到末尾之间的字符全部转换为小写
日志标题:setup mysql
发表时间:2005-12-3 18:26:15
添加mysql用户和组
shell> groupadd mysql
shell> useradd -g mysql mysql
解压并建立连接
shell> cd /usr/local
shell> gunzip  ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
运行安装脚本
shell> cd mysql
shell> scripts/mysql_install_db --user=mysql
配置文件属性
shell> chown -R root  .
shell> chown -R mysql data
shell> chgrp -R mysql .
拷贝配置文件到系统中
shell> cp support-files/my-medium.cnf /etc/mysql/my.cnf
shell> cp support-files/mysql.server /etc/init.d/mysql
shell> chmod 755 /etc/init.d/mysql
添加mysql库文件到linux
shell> echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
启动数据库
shell> /etc/init.d/mysql start
连接数据库并改变root密码
shell> /usr/local/mysql/bin/mysql -u root
mysql> use mysql;
mysql> update user set password=Password(' 1234 ') where user='root';
mysql> flush privileges;
mysql>q
改变PATH环境变量
shell> PATH=$PATH:/usr/local/mysql/bin
shell> export PATH
shell> echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
shell> echo " export PATH" >> /etc/profile


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/9293/showart_62587.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP