Chinaunix首页 | 论坛 | 博客
  • 博客访问: 160112
  • 博文数量: 49
  • 博客积分: 2510
  • 博客等级: 少校
  • 技术积分: 445
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-16 23:55
文章分类
文章存档

2009年(49)

我的朋友

分类: C/C++

2009-07-11 11:28:43

EMACS 使用技巧

一.使用自定义宏

可以自定义键盘宏,这样可以将一些常用的语句绑定,以后可以直接输出,不必每次都繁琐的输入类似的语句。

使用方法:

首先选择开始定义一个键盘宏  C-x  ( ,然后输入你想定义的语句。

输入语句完成之后,选择结束一个键盘宏定义 C-x  )

如果你只想本次使用,那么可以直接通过 C-x e来执行

如果你想以后都用到这个宏,那么就给这个宏命名M-x name-last-kbd-macro

最后一步,使用M-x insert-kbd-macro,这个时候文本缓冲区中会出现这个宏的lisp,将这个lisp拷贝到你emacs的配置文档.emacs中,这样就可以在以后启动emacs的时候都使用这个宏了。简单吧:)

二.使用cscope结合emacs来查看代码

[欢迎转载,请保留原文出处 ]

1. 安装 cscope,

到这里下载cscope, 最新版本为 15.6

如果你使用 debian 或者 ubuntu,直接 sudo apt-get install cscope就可以了

2.
安装 xcscope.el
cscope 附带的 xcscope.el 文件放到你的 emacs load-path 下,在 ~/.emacs 中增加:

(require 'xcscope)

3.
生成 project 文件列表,可以用如下命令完成。例如kernel代码,找出所以 .h, .c, .S文件
find -type f | grep -E '\.[chS]$' > cscope.files

4.
生成 cscope 索引文件, -k 专门用于生成 linux kernel 源码的索引
cscope -b -k

 

注:

C-c s a             设定初始化的目录,一般是你代码的根目录
C-s s I             对目录中的相关文件建立列表并进行索引

       使用上面这两部也可以起到34所起到的目的,而且简单,呵呵

 

5. 运行 emacs,以下是一些常用的按键
C-c s C-h
查看所有的 cscope 相关的按键
C-c s a   
设定索引文件所在目录
C-c s c   
查找调用该函数的地方
C-c s g   
查找该符号的全局定义
C-c s f   
查找该符号对应的文件
...

如果习惯了Emacs的这种按键,感觉使用起来还是挺方便的,感兴趣的可以自己体会。

 

三.关于设置字体

(set-default-font "-adobe-courier-medium-r-normal--14-100-100-100-m-90-iso10646-1")
或者只写:
(set-default-font "10x20")

前一种设置的字体,没有那么粗,看起来好看一些,设置了以后emacs启动有减慢,不知道怎么搞的。

Emacs的详细字体设置参见

 

四.设定缩进

emacs的缩进方式和其它编辑器有些不同,text-mode下不能tab,只能用C-q tab才行。
c-mode
cc-mode下缩进只有2格,这个当然不符合大多数人的习惯,如果要设为4
(add-hook 'c-mode-hook
          '(lambda ()
             (c-set-style "Stroustrup")))
如果要设成8:
options->Customize Emacs->Browse Customization Group->Programming->Language->C->C-Basic-offset
,设成8就行,保存

 

五.Emacs一些值得学习的操作方式(只列出我现在还不怎么熟悉,或者不会的~见谅)

参见GNU Emacs 21 Reference Card

         剪切删除:

         剪切光标所在到行头的文字:M-0 C-k

         剪切光标所在到下一个char位置中间的文字:M-z char

         Yank出之前剪切的文字的内容(不是最后一个,是最后一个yank之前的)M-y

         删除两个句子之间的空格:M-\

         标记:

         标记除了用C-SPEC外,还可以用C-@。(在VMWARE里面C-SPEC是用来解除锁定的,而且C-SPEC还与输入法冲突,所以一般要用C-@来进行标记)

         查询替换:

       M-%,可以用来查询替换键入的内容,里面用!就可以全部替换

      

阅读(1269) | 评论(0) | 转发(0) |
0

上一篇:GNU Emacs 21 Reference Card

下一篇:Ubuntu换源

给主人留下些什么吧!~~