分类: LINUX
2008-03-24 11:17:54
=== 指定为C++模式的方法 ===
一般根据扩展名自动设定,不用指定,不过有时候若希望.h文件是C++模式的(缺省是C模式),在文件第一行(或其末尾)上加入
// -*- C++ -*-
=== 语法高亮 ===
不是C模式专有,M-x global-font-lock-mode RET 或在.emacs中加入(global-font-lock-mode t)。
=== 子模式 ===
auto-state 输入时自动缩进,自动换行
hungry-state Backspace时,自动删除尽可能多的空白和空行
C-c C-t 同时转换(开/关)auto-state和hungry-state子模式
C-c C-a 转换 auto-state 子模式
C-c C-d 转换 hungry-state 子模式
=== 编辑命令 ===
C-c . 设置缩进风格(按TAB键可列出可用的风格,缺省的为gnu,其缩进为2个字符;linux为8个;k&r为5个,java为4个)
TAB 重新缩进当前行
M-/ 自动补齐(缓冲区中能找得到的串)
M-; 行尾加入注释
C-c C-e 扩展宏
C-c C-c 注释掉整个区域
C-u C-c C-c 取消注释
C-c C-\ 将区域中的每一行结尾都加入一个'\'字符
=== 编译和调试 ===
M-x compile RET 编译
M-x gdb RET 调试
C-x ` (出错信息中)下一个错误,一个窗口显示错误信息,另一个显示源码的出错位置
C-c C-c 转到出错位置
启动gdb调试器后,光标在源码文件缓冲区中时:
C-x SPC 在当前行设置断点
C-x C-a C-s step
C-x C-a C-n next
C-x C-a C-t tbreak
C-x C-a C-r continue
常用命令:
m : mark
u : unmark
d : mark delete
D : 立即删除
x : 执行删除
g : refresh
C : copy
R : move
+ : 创建目录
在编程时可以隐藏函数的实现。M-x hs-minor-mode
(setq hs-minor-mode-prefix [(contrl o)]) 可以改变复杂的命令前缀.
用法:
`C-c @ C-h' : Hide the current block (`hs-hide-block').
`C-c @ C-s' : Show the current block (`hs-show-block').
`C-c @ C-c' : Either hide or show the current block (`hs-toggle-hiding')
`C-c @ C-M-h' : Hide all top-level blocks (`hs-hide-all').
`C-c @ C-M-s' : Show everything in the buffer (`hs-show-all').
查看文本的十六进制编码
M-x hexl-mode