部分非原创,但求有益大众
align-regexp
代码对齐
C-M-\
一般都能满足需要,可是有时候需要按一行中的某些字符对齐,比如一些变态的语言或者编程规范规定赋值语句需要按 “=” 对齐,那怎么办?
align-regexp 使用起来只需要选中需要对齐的 region,然后执行,输入需要匹配的正则表达式即可。
1 2 3 | int var = 2; int variable_is_kinda_long = 3; int var_is_less_long = 4;
|
需要按 = 对齐,选中执行 M-x align-regexp
, 然后 regexp 填 =,结果如下:
1 2 3 | int var = 2; int variable_is_kinda_long = 3; int var_is_less_long = 4;
|
ractangle如下矩阵:
假如我们需要剪切左上 2x2 矩阵,从1排1列,C-space
选中,挪动光标到2排2列,C-x r k
, 然后 C-x r y
复制,结果如下:
1 2 3 4 5 6 7 8 | // After cut 34 45 3456 // Copy 12 23
|
C-x r o
插入空格到选中矩阵,C-x r c
用空格替换所选中矩阵,C-x r d
删除所选矩阵,如下三操作区别 (左上2x2矩阵):
1 2 3 4 5 6 7 8 9 10 11 12 | // C-x r o 1234 2345 3456 // C-x r c 34 45 3456 // C-x r d 34 45 3456
|
C-x r t
用输入字符串替换所选矩阵每行, 下图结果用 xy 替换左上 2x2 矩阵。
auto-rever-tail-mode我们多少次在 terminal 中 tail -f sys.log 来关注 log 的最新输出, 使用这个命令 Emacs 便自动完成该工作。这样避免手动去获取最新的输出。
hexl-mode:可以查看文件的16进制数据C-u C-spacebaraproposEmacs 记录了所有光标移动的历史,使用这个命令,可以依次回到前一个位置,在阅读代码时非常有用。
搜索包含某关键字或者匹配某正则表达式的 Emacs 命令,利用这个可以发现更多给力的 feature。
follow-mode
现在流行的是宽屏,宽度不是问题,因此 Emacs C-x 3
用的很多,但很多长的文档,要翻好多页,小拇指真疼。
竖分屏后执行 follow-mode 后,所有 buffer 显示同一文件的不同部分,可视范围翻倍,甚至数倍,这要看你的屏幕有多宽了。
插件:org-mode (org2blog), cscope, ido-mode, auto-complete, cedet, magit, yasnippet, ecb …
代码浏览工具:ecb:http://fhf25.blog.sohu.com/74454393.html, http://www.233.com/linux/fudao/20080401/102211623.htmlAwindows上的插件配置:http://blog.tianya.cn/blogger/post_show.asp?BlogID=1000080&PostID=10515084代码模板工具:yasnippet: http://apps.hi.baidu.com/share/detail/31765667
如果你的EMACS被高手做了大型配置,那么你可以在命令行启动EMACS -q打开默认的操作,然后
c-h k
, c-h f
, c-h v
然后可以查看快捷键对应的命令,并且可以自己去.emacs中定制快捷键,比如(global-set-key [control \`] 'align-regexp) ;;绑定control+`为正则表达式对齐的快捷键
UML绘制:cedet中的cogre,可以用命令M-x cogre执行,然后输入对应的class名字。需要系统安装graphviz
speedbar:M-x执行,可以在没有插件的情况下进行文件目录操作,我绑定成了M-s快捷键