Linux下C编程基础之:常用编辑器
M-Delete | 剪切光标前面的单词 | M-k | 剪切从光标位置到句尾的内容 |
M-d | 剪切光标前面的单词 | C-y | 将缓冲区中的内容粘贴到光标所在的位置 |
C-k | 剪切从光标位置到行尾的内容 | C-x u | 撤销操作(先操作C+x,接着再单击u) |
注意 | 在emacs中对单个字符的操作是"删除",而对词和句的操作是"剪切",即保存在缓冲区中,以备后面的"粘贴"所用。 |
(3)复制文本。
在emacs中的复制文本包括两步:选择复制区域和粘贴文本。
选择复制区域的方法是:首先在复制起始点(A)按下"C-Space"或"C-@(C-Shift-2)"使它成为一个标识点,再将光标移至复制结束点(B),再按下"M-w",就可将A与B之间的文本复制到系统的缓冲区中。再使用功能键C-y将其粘贴到指定位置。
(4)查找文本。
查找文本的功能键如表3.5所示。
表3.5 emacs查找文本功能键
功 能 键 | 功 能 |
C-s | 查找光标以后的内容,并在对话框的"I-search:"后输入要查找的字符串 |
C-r | 查找光标以前的内容,并在对话框的"I-search backward:"后输入要查找的字符串 |
(5)保存文档。
在emacs中保存文档的功能键为"C+x C+s"(即先操作C+x,接着再操作C+s),这时,屏幕底下的对话框会出现如"Wrote /root/workplace/editor/why"的字样,如图3.7所示。
图3.7 emacs中保存文档
另外,emacs在编辑时会为每个文件提供"自动保存(auto save)"的机制,而且自动保存的文件的文件名前后都有一个"#",例如,编辑名为"hello.c"的文件,其自动保存的文件的文件名就叫"#hello.c#"。当用户正常地保存了文件后,emacs就会删除这个自动保存的文件。这个机制当系统发生异常时非常有用。
(6)退出文档。
在emacs中退出文档的功能键为"C-x C-c"。
4.emacs中的模式
emacs不仅仅是个强大的编译器,它还是一个集编译、调试等于一体的工作环境。在这里,读者将会了解到emacs作为编译器的最基本的概念,感兴趣的读者可以参考《Learning GNU Emacs,Second Edition》一书进一步学习emacs。
在emacs中并没有像vi中那样的"命令行"、"编辑"模式,只有一种编辑模式。这里所说的"模式"是指emacs里的各种辅助环境。下面着重讲解C模式。
当我们启动某一文件时,emacs会判断文件的类型,从而自动选择相应的模式。当然,用户也可以手动启动各种模式,用功能键"M-x",然后再输入模式的名称,如图3.8所示,这样就启动了"C模式"。
图3.8 emacs中选择模式
在强大的C模式下,用户拥有"自动缩进"、"注释"、"预处理扩展"、"自动状态"等强大功能。在"C模式"下编辑代码时,可以用"Tab"键自动地将当前行的代码产生适当的缩进,使代码结构清晰、美观,它也可以指定缩进的规则。
源代码要有良好的可读性,必须要有良好的注释。在emacs中,用"M-"可以产生一条右缩进的注释。C模式下是"/* comments */"形式的注释,C++模式下是"// comments"形式的注释。当用户高亮选定某段文本,然后操作"C-c C-c",就可以注释该段文字。
emacs还可以使用C预处理其运行代码的一部分,以便让程序员检测宏、条件编译以及include语句的效果。
5.emacs编译调试程序
emacs可以让程序员在emacs环境里编译自己的软件。此时,编辑器把编译器的输出和程序代码连接起来。程序员可以像使用Windows的其他开发工具一样,将出错位置和代码定位联系起来。
emacs默认的编辑命令是对一个make(在本章3.6节中会详细介绍)的调用。用户可以打开"tool"下的"Compile"进行查看。emacs可以支持大量的工程项目,以方便程序员的开发。
另外,emacs为gdb调试器提供了一个功能齐全的接口。在emacs中使用gdb的时候,程序员不仅能够获得gdb的全部标准特性,还可以获得通过接口增强而产生的其他性能。
- Linux下C编程基础之:gcc编译器(08-13)
- Linux下C编程基础之:gdb调试器(08-13)
- Linux下C编程基础之:make工程管理器(08-13)
- Linux下C编程基础之:使用autotools(08-13)
- Linux下C编程基础之:实验内容(08-13)
- Linux下C编程基础之:本章小结与思考与练习(08-13)