当前位置: 首页 > 嵌入式Linux > 正文

嵌入式之行(4):我的emacs(上)

说明: 

1、文中字母说明: 

c-x是指按Ctrl+x组合键 

m-x是指按Alt+x组合键 

没有c-m-的,就是输入该字母本身 

 

2、本文以李迟的实践经验以及在网上看到的配置,简单介绍一下emacs的操作命令,再介绍emacs的配置。喜欢emacs也罢,喜欢vim也罢,喜欢gvim也罢,喜欢linux还罢,喜欢windows更罢,一切都是浮云,由它们去吧。

1、基本命令使用 

(1)、编辑

emacs foo.c  打开文件(如要同时打开多个可以这样:emacs foo.c bar.c ——默认是水平分割的两个窗口)

c-x c-s  保存文件

c-x c-c  退出emacs(未保存的话会出现提示)

c-x c-f   emacs中打开文件,这时会提示要打开的文件的路径,可以使用Tab键补全文件名,打开后会覆盖当前那个窗口(可以打开多个窗口,再打开文件)

 

c-space开始标记

c-@      取消标记

m-w      复制选中的

c-w              剪切选中的

c-y        粘贴

 

c-f      点前移一格

c-b     点后退一格

c-p     点向上一行

c-n     点向下一行

m-f     点向前到下一个单词

m-b    点移动到上一个单词

c-a     点移动到行首

c-e     点移动到行尾

m-a    点移动到句首

m-e    点移动到句尾

m-{    点移动到段首

m-}    点移动到段尾

 

c-s        向前搜索    

c-r         向后搜索

 

c-k        删除一行中光标后面的所有东西

c-d     删除点下的字符

m-d    删除点所在的单词

 

m-g g (再输入行号)  跳到某一行

 

c-x [      移至顶

c-x ]      移至底

 

c-x c-u  选中字符全大写

c-x c-l   选中字符全小写

c-x u     取消操作

c-g        退出某些命令(如,按错了某些命令,可以用这个命令取消它)

 

好像不能直接使用Tab键的,如要使用,可以:c-q Tab

 

(2)、编译

m-x compile(即按Alt+x键,再输入compile)启动一个编译

默认的是make -k,可以删除,再输入编译的命令,如gcc foo.c bar.c

编译的结果会在新的窗口显示出来,如出错就可以对照来找了错误之处了。

要关闭编译结果窗口,可以使用c-x 0或删除*compilation*等方法。

 

(3)、窗口删除、切换、变化等

c-x 2     (水平) c-x 3 (垂直)将本窗口分割成多个窗口——是本窗口的内容被分割!故内容是一样的,可以在选中的窗口的再打开文件、编辑文件等等!!!!:

 

c-x 0     (这是数字0)关闭本窗口——如果当前只打开一个窗口,输入此命令出现提示,大意是说你尝试关闭唯一的窗口(更准确的说法是buffer)

c-x ^   使窗口增高

c-x }   使窗口增宽

c-x {   使窗口变窄

c-x >   窗口显示右边的内容

c-x <   窗口显示左边的内容

c-x o    切换到另一个窗(这是字母o)——跳到指定的还不知道,所以只能一个一个地跳了

c-x c-b  显示当前的emacs打开了多少个buffer(列表有:在缓冲区的文件(或shell),大小,模式、位置)

c-x b     选择某一个buffer,这时会提示选择哪一个

c-x k     关闭某一个buffer,这时会显示默认要删除的文件,回车即删除默认的文件,如果要删除其它的,一定要输入列表中显示的全部名称,如,打开一个shell,要结束它就要输入:c-x k *shell*,这样才行

 

怎么样?看得头大吧?我当初学习的时候,是拿笔做笔记的,遇到某些记不住的,或好的,都记下来,慢慢地学习,日子久了,也渐渐地熟悉了。所以学习emacs不要怕,只要你克服害怕的心理,不断地使用它,你就会发现它也没那么难。——我的本命年的寒假最大的收获之一就是逼着自己学习emacs,并学会使用它。

 

好了,下面所讲的emacs配置,主要是针对写代码的。比如多窗口调试,自动补齐,函数、变量查找等等。

2、软件安装

先简单写一下几个工具的安装,我将它们的压缩包都放在.emacs.d目录下。关于这几个工具的作用,百度吧。这些工具对emacs版本都有要求,具体的要看各自的README文件。

 

(1)cedet(自动补齐)

解压,进入该目录,输入make,具体可以看INSTALL文件。在配置文件中加载:

(load-file “~/.emacs.d/cedet-1.0pre7/common/cedet.el”)

 

(2)ecb( Emacs Code Browser,即代码浏览器)

解压,make出现错误:

 

Byte-compiling ECB with LOADPATH= …

emacs -batch -no-site-file -l ecb-compile-script –eval ‘(ecb-byte-compile t)’

Cannot open load file: /home/latelee/.emacs.d/ecb-2.40/c:/Programme/emacs-22.3/site-lisp/package-development/cedet/common/cedet.el

make: *** [ecb] 错误 255

 

原来,它依赖于cedet的,修改Makefile文件,找到CEDET这一行,可以看到,它的默认路径不是我们安装cedet的路径,需要修改。

我的改法是:

CEDET=~/.emacs.d/cedet-1.0pre7(根据实际情况修改路径)

OK!没有问题。注意,它没有make install的,在配置文件中加载:

(add-to-list ‘load-path “~/.emacs.d/ecb-2.40″)

(require ‘ecb)

 

(3)cscope(查找变量/函数)

解压,进入该目录,./configuremake

加载:

(add-to-list ‘load-path “~/.emacs.d/cscope-15.7a/contrib/xcscope”)

(require ‘xcscope)

 

(4)doxymacs(根据代码写出文档)

解压,进入该目录,./configuremakemake install,之后,在家目录下会有share目录,在.emacs.d目录下新建一个doxymacs目录,将share复制到其下。在配置文件中可以这样加载:

(add-to-list ‘load-path “~/.emacs.d/doxymacs/share/emacs/site-lisp”)

(require ‘doxymacs)

 

如果不这样做,在启动emacs时,会出错以下错误:

File error: Cannot open load file, doxymacs

因为根据上面加载路径,它没有在.emacs.d找到doxymacs目录,所以会出错。

我主要使用该工具的注释风格,我试过根据代码生成文档,但没有成功。这个过程有点复杂。

上面就是这几个工具的简单安装过程,下面再写一下配置。

本文固定链接: http://www.latelee.org/embedded-linux/learning-elinux-4-my-emacs-i.html

如无特别说明,迟思堂工作室文章均为原创,转载请注明: 嵌入式之行(4):我的emacs(上) | 迟思堂工作室

目前暂无评论

发表评论

*

快捷键:Ctrl+Enter