emacs 使用的学习记录

Vim、Emacs配置和使用
回复
mofeng
帖子: 7
注册时间: 2006-11-10 22:01

emacs 使用的学习记录

#1

帖子 mofeng » 2006-11-19 23:24

emacs有功能强大,各种功能复杂,我按照自己的学习过程整理了一个简要的说明。记住下面这些估计基本的就够用了,详细的东西还是参考其他人的详细说明吧。


emacs 使用的学习记录

(注:alt按键等价于ESC按键)

启动emacs
关闭emacs,快捷键c-x c-c
取消当前快捷键的命令c-g
Undo功能:c-x u
中文输入法的切换:c-\;但是这里的输入法比较难用

打开一个文件:c-x c-f ,在minibuffer可以使用TAB键自动匹配目录和文件,如果文件名不存在,则是新建文件。
保存一个文件:c-x c-s;如果要另存则使用c-x c-w
保存所有文件:c-x s

下一页:c-v 上一页:alt-v
使用上一页和下一页功能,常用的另外一个快捷键是c-l 表示将光标定在中间。

移动头/尾,使用的快捷键组合是a (ahead) 和 e (end)和ctrl和alt的组合。
例如:
c-a表示行头;alt-a表示段落头;
c-e表示行尾;alt-e表示段落尾;

删除单个字符可以直接使用del按键,如果要删除单词,可以使用alt-d,
如果要删除到行尾,则使用c-d.
如果要删除到段落尾,则使用alt-d
删除当前行,通常使用c-a移动到行头,然后使用c-k 删除一行。

所有删除的内容保存在一个缓冲区内,可以使用c-y粘贴到光标处。
拷贝指定内容必须先设置头和尾,设置头标记使用c-空格,光标移到尾时,使用alt-w即可拷贝指定的内容。粘贴指定的内容可以使用c-y粘贴。

如果粘贴的缓冲区内有多个数据,在使用了c-y后,希望更换粘贴内容,则可以使用alt-y更换缓冲区的内容。

关于Undo功能,可以使用c-x u来实现Undo的功能,如果是希望重复执行Undo,则可以利用重复执行命令来实现。

重复执行命令:c-u 数字 c-x u 表示重复执行指定数字的undo功能。
也可以使用alt-数字来表示重复的次数。

关于emacs窗口的快捷键;通常使用下列命令:
c-x 1表示当前窗口最大化;
c-x 2表示水平分割为2个窗口;
c-x 3表示垂直分割为2个窗口;
c-x o表示在两个窗口切换。(注意:这里是字母o,不是数字0)

只读和非只读模式的快捷键是c-x c-q;重复执行就是只读模式的切换。

强大的查询功能:
c-s 然后输入要查询的字符串,在窗口会立即切换到指定的位置,使用c-s可以继续往后匹配,使用c-r可以往前匹配;
在查询过程中,如果按了回车,则光标会停在查询的位置上,如果要返回到查询前的位置,使用c-g取消命令即可返回。或者使用c-x c-x命令。


调用list相关命令使用alt-x 然后输入调用的命令即可,命令可以使用TAB键自动匹配。

emacs执行多种模式,在不同的模式下使用不同的关键字显示。
切换模式:alt-x text-mode可以到文本模式
alt-x cc-mode 可以到C 模式
alt-x html-mode 可以到 html模式

emacs使用buffer的概念,所以可以有多个buffer,buffer不仅是文件,也可以是shell或者其他。
关于buffer的操作:
c-x c-b 列出所有的buffer
c-x b 缓冲区名称,调出缓冲区内容并显示在指定的窗口。

alt-x kill-buffer ,在提示的minibuffer中输入缓冲区名称,即可关闭指定的缓冲区。


关于TAG功能。
首先建立TAG,进入命令行:alt-!然后输入 etags *.[ch] 表示将后缀为.c和.h的文件建立TAG;
然后在emacs中使用alt-.即可激活查找TAG定位的功能,直接输入C语言的函数名称即可定位到指定的文件,指定的位置。

激活emacs的shell可以使用alt-x shell即可;

帮助命令里面最好用的是使用c-h a激活查询功能,输入部分字符串即可查找到相关的所有命令。
c-h m列出所有的模式。
回复