emacs 命令,emacs基本操作
Emacs基金会-csqlwy-博客公园
首先,emacs基金会的一些好网站:
IBM的emacs编辑环境教程。整个系列教程将由浅入深的向你介绍Emacs。这个强大的编辑器的功能,会让你从完全不熟悉变成能够完成基本操作的高手。
Emacs中文网:http://emacser.com/
emacs wiki:http://www.emacswiki.org/
接下来,从别人那里转来的操作比较完整:
本文转自:http://www.devfront.com:8080/? q=node/115
Emacs快捷键摘要
文档功能
当提示编辑FTP文件时,打开文件并输入/username@host:filepath。
打开一个文件,替换当前的缓冲区。
保存文件
将C-x C-w另存为新文件
C-x i插入文件
C-x C-q切换到只读或读写模式
C-x,c-c退出Emacs
编辑操作
C-f前进一个字符
C-b后退一个字符
M-f,向前一个字
M-b回一个字。
C-a移动到该行的开头
汉英移动到行尾
移动到句子的开头
M-e移到句子的末尾
C-p后退一行。
C-n,向前一行
M-x goto-line跳转到指定的行
向下翻页
M-v向上翻页
m缓冲器标题
m缓冲区尾部
前向匹配括号
C-M-b向后匹配括号
当前行居中。
M-n或C-u n重复后续命令n次。
C-u重复以下命令4次。
重复以下命令8次。
C-x ESC ESC执行历史命令记录,M-p选择上一条命令,M-n选择下一条命令。
删除一个字符。
删除一个单词
删除一行。
M-k删除一句话。
删除标记区域
粘贴删除的内容。
注意:C-y可以粘贴连续C-k删除的内容;先按C-y,再按M-y粘贴删除的内容。
C-@标记开始区域
C-x h标记所有文本
交换光标位置和区域标记区域的开始。
M-w复制标记区域
C-_或C-x u撤消操作
执行SHELL命令
M-x SHELL打开外壳
M-!执行SHELL命令(shell-command)
M-1 M-!执行SHELL命令将输出插入光标位置,而不打开新的输出窗口。
M-对特定区域执行命令(shell-command-on-region ),例如C-C-x h M-uuencode。
窗口操作
C-x 0关闭此窗口
C-x 1只留下一个窗口
C-x 2垂直共享窗口
C-x 3水平均窗口
切换到另一个窗口
C-x s保存所有窗口的缓冲区。
选择当前窗口的缓冲区。
C-x垂直扩展窗口
C-x}水平扩展窗口
缓冲列表操作
打开缓冲区列表
或者k被标记为删除
~标记为未修改
%被标记为只读。
s保存缓冲区
取消标记
x执行标记操作。
打开当前窗口中的缓冲区。
o在另一个窗口中打开缓冲区。
目录操作
C-x d开放目录模式
s显示按日期/文件名排序。
读取光标所在的文件。
停止读取文件
d被标记为删除
x执行标记
立即删除当前文件。
复制当前文件
r当前文件的重名
新建文件夹
z压缩文件
!对光标所在的文件执行SHELL命令。
g刷新显示
我将子目录的内容插入到当前缓冲区的末尾。
m标记光标所在的文件。如果指定了n,将从光标所在的文件开始标记接下来的n个文件。
【n】u取消当前光标标记的文件,n的含义同上。
反向标记文件
%-m常规标记
退出目录模式
注意:在目录模式下,如果你输入!包含*还是?有着特殊的含义。*匹配当前光标所在的文件和所有标记的文件,分别对每个标记的文件执行此命令。
程序编译
M-x compile执行编译操作。
gdb位错
M-x dbx DBX调试
M-x xdb XDB调试
M-x sdb SDB位错
搜索模式
C-s键向前搜索
C-s找到下一个
回车停止搜索。
C-r键反向搜索
C-s C-w以光标所在的单词作为关键字进行搜索。
重复最后一次搜索
重复最后一次反向搜索
C-s输入C-w进入单词搜索模式。
进入反向单词搜索模式。
M-x替换-字符串输入搜索-字符串输入替换
m-% search-string enter replace-string enter交互式替换
在C-r进入查找/替换模式后,该命令进入迭代编辑模式。
C-M-x退出迭代编辑模式,返回查找/替换模式。
前向常规搜索
向后正则搜索
C-M-%常规交互替换
外壳模式
C-c C-c相当于Bash下的C-c
C-c C-z相当于Bash下的C-z
C-C-d在Bash下等价于C-c C-d。
M-p执行前面的命令。
C-n执行下一个命令。
C-c-o删除最后一个命令的输出。
C-c C-r屏幕滚动到最后一个命令输出的开头。
C-c C-e屏幕滚动到最后一组命令输出的末尾。
C-C-P查看前面命令的输出
检查后一个命令的输出。
打印数据
M-x print-buffer首先使用pr,然后使用lpr。
M-x lpr-buffer直接使用lpr。
M-x打印区域
M-x lpr区域
发送和接收邮件
M-x邮件发送邮件,c-c-s发送,c-c-c发送并退出。
M-x rmail接受邮件
参考资料:
奥莱利,Emacs第三版
Linux/BSDMarchday的blogAdd新评论评论
星期二,2007年1月23日02:41-3月日
一些FAQQ:如何使用gdb让emacs在设置断点时突出源代码行?
答:断点是C-x空间。
-
欧洲央行可以在这里下载:http://ecb.sourceforge.net/
-
问:编辑C文件时,现在M-;是//形式的注释
我想用/* */
我该怎么办?
答:[1]M-x c模式
[2](defun my-c-comment()
(互动)
(插入“/* */”
(反向字符3))
(global-unset-key M-;
(全局设置密钥 M-;我的-c-评论)
-
问:emacs和XEmacs有什么区别?
答:http://www . xemacs . org/About/xemacsvsgnuemacs . html
-
最新emacs for windows的
http://ftp.gnu.org/gnu/windows/emacs/
-
问:当你想打开一个文件时,应该自动缩进,不要总是按TAB键。你是怎么写的。emacs?
答:
(global-set-key C-m re indent-then-newline-and-indent)
或者这样:
(附加-钩子 c-模式-公共-钩子
(()
(定义键c模式图
C-m re indent-then-newline-and-indent)))
-
问:我的是21.3.1,ecb2.27,我的ecb不支持双击鼠标。我不知道你们欧洲央行是什么版本。可以支持双击鼠标或者用快捷键切换到ecb窗口吗?
答:有快捷键。如果是C-c,g . m将被转移到方法窗口。g转到目录窗口,
说实话,我觉得ecb窗口跳不方便。没有speedbar好。只需设置speedbar-get-focus的快捷键。这可以被切换。更何况speedbar上什么都有,会员功能列表都在上面。按F跳转到文件模式,基本上ecb有的都有了。
-
问:有没有windows版的Q:ecb?
这些东西没有平台。都是elisp语言。只需使用emacs字节编译。但我认为欧洲央行的跳跃是麻烦的。
-
问:我在emscs中打开了几个文件进行编辑。如果我想关闭缓存中的文件,应该怎么做?
答:1C-x k
A2:c-x c-b在要关闭的缓冲区的D行,在x处就ok了。
-
问:我想在打开文件时自动缩进。
答:你可以用C-x h检查一切,然后C-M 就行了。
-
问:我不想要emacs de toolbar,如何让它不显示?
A1:在选项中显示/隐藏,关闭工具栏,然后在选项中选择保存选项,下次就再也不出来了。
A2:(工具栏模式nil)也可以添加到。emacs。
-
问:Q:emacs的正确发音?
答:马克思?卖个壳丝?
-
问:如果打开文件时文件名中有空格,如何输入这个空格?
发布:
答:在空格前加 。
-
问:如果我不小心按错了键,跑到了文件的开头或结尾,如何快速返回到刚才光标所在的位置?
答:C-u C-@
-
问:当编译一行出现错误时,我想快速将光标定位到这一行。我该怎么办?
答:可以用C-x’。注意是`,也就是F1下面的那个,不是单引号。
实际上,M-x下一个错误是好的。
-
问:emacs中复制的东西如何在系统中使用?emacs似乎没有使用与系统相同的粘贴板。
a1:C-Y不行吗?或者直接在emacs里做。M-x外壳
A2:
M-x gdb
文件xxx.c
奔跑
-
问:我怎么跑。Q:emacs中的c程序?我只会编译。c程序,但是我不会运行。每次只能退出emacs,在外壳下运行。
答:不用退出,只需按C-x C-z进入shell,然后就可以在shell下运行了,然后fg就可以回来了。或者你的M-x shell,可以直接在emacs里面运行。
-
问:我的emacs缩进是两个空格。如何设置为8?
答:(setq c-basic-offset 8)
-
问:在终端下使用Ctrl x 2/3可以上下左右分屏。默认是一半对一半。你能调整这两扇窗户的大小吗?
答:M-x放大窗口(c-x ^)
M-x收缩窗口
你可以把它们绑定到你最喜欢的键上。
-
问:如何在emacs中显示日期?
答:(设置显示-时间-日期-日期测试)
(显示时间)
-
问:请问如何在C-s中粘贴搜索到的内容?
A1:移动光标到你要找的地方(不要粘贴),C-S C-W
答2:男-女
-
问:没有生成备份文件。
答:(setq make-backup-files nil)
-
问:如何在emacs中删除从光标位置到行首的内容?
A1:Meta - C-k
A2:Ctrl-u 0 Ctrl-k
-
问:我在xp中使用GNU Emacs 21.3.1.
当您多次按pagedown时.emacs将失去其响应.发生了什么事?
因为你设置了滚动边距。
-
问:编写程序时,经常会遇到很长的代码块(用 {} 包装)
有没有什么方法可以在需要的时候收缩一个代码块,并扩展它?
答:
m-x hs-次要模式
* C-c @ ESC显示全部
*全部隐藏
* C-c @ C-s显示块
* C-c @ C-h隐藏模块
* C-c @ C-c切换隐藏/显示
我重新定义了显示块和隐藏块的键。
(附加挂钩c模式挂钩hs次要模式)
C-c bh展示区
隐藏块
-
问:语法每次都突出显示:(global-font-lock-mode t)添加您的。emacs文件。
-
随着ecb的安装,有一个颜色主题可以调整配色方案,ecb-change-layout可以改变ecb窗口的布局。
-
问:在Q:emacs中,如果我想复制一个段落或一行,应该怎么做?
现在我要切,(C空间.C-w)先,然后看一下paste(C-y)。有没有更好的操作?
答:M-w
-
问:谁知道如何让光标自动从当前缓冲区跳转到正在编译的程序的缓冲区,然后让光标保持在这个缓冲区的底部?现在我每次编译程序都是C-x o,然后C-Shift到底层看结果。挺麻烦的。我不知道这样的程序。.
答:
;S-F9调用编译并设置编译命令。
;F9保存所有文件并编译它们(没有提示)
(defun du/onekey-compile()
保存缓冲区并开始编译
(互动)
(保存一些缓冲区t)
(切换到缓冲区-其他-窗口 *编译*
(编译编译命令)
;(其他-窗口1)
)
(全局设置密钥[S-f9] (lambda()
(互动)
(切换到缓冲区-其他-窗口 *编译*
(编译)
;(其他-窗口1)
))
(全局设置键[f9] du/onekey-compile)
-
问:如何显示ASCII表?
a:http://www . cpqd . com . br/~ vini cius/emacs/ascii . El
-
问:如何使emacs中的选定区域为矩形,而不是选择所有行?
答:Ctrl空格键,然后将光标移到下几行。
ctrl x r k
ctrl x r y
-
问:我的tab键是用来格式化的,那么我怎样才能键入一个真正的制表符呢?
答:C-q选项卡
-
问:如何从磁盘加载当前编辑的文件?有时候文档可能被别人改了,所以有这个需求。
答:M-x还原缓冲区
-
问:一般我的emacs启动后,会去/usr/share/emacs/site-lisp找扩展。
请问这个目录可以指定吗?
因为我将把我的emacs移动到另一台没有root权限的机器上。
所以我无法更改他们的/usr/share/emacs/site-lisp,所以只能在自己的目录下工作。
答:
添加一个(setq load-path(cons /home/bleem 1998/。的开头是emacs-site-lisp/load-path))。emacs。
然后将所有扩展包放在“/home/bleem1998/”中。emacs-site-lisp/
-
问:如何在emacs中设置字体和背景的颜色?
a:设置背景色M-x set-background-color。
你可以写信给。emacs,打开emacs并设置:
(set-face-background 默认为 azure );天蓝色或其他颜色。
如果你只想在窗口模式下设置背景,但在终端下不需要,那就加上判断:
(如果是窗口系统
(设置-面部-背景默认为 azure ))
-
问:在文本模式下,emacs的一些热键被替换为终端的热键。比如终端中的ctrl-h是退格键,而emacs中的在线帮助。因此,在emacs中按ctrl-h就变成了删除光标前面的字符。这样的情况还有很多。怎么设置才能用emacs的热键代替终端?.
答:
(global-set-key C-h backward-delete-char-untabify)
(global-set-key[DEL] delete-char)
-
问:我用的是emacs,屏幕显示大概是80行25列。当打开多个窗格时,每个窗格不能显示很多字符。
你能让屏幕显示更多的行和列吗?
我不太清楚你的意思。emacs窗口不够大吗?还是编辑emacs时自动换行的栏目太小?
如果是后者(setq默认-填充-第85列)
如果是前者,可以在打开emacs时选择更大的尺寸,或者移动鼠标放大尺寸-_-
(如果是窗口系统
(设置默认框架列表
(附加
((顶。0)(左。0)(宽度。120)(身高。60))
默认框架列表)))
-
Q:fcitx的hot CTR OL-SPACE和emacs的mark-set比较重。每次用emacs打中文,都打不出来。我该怎么办?
马克可以用C-@
-
问:如何用/n替换all /r/n,或者如何删除all /r?
答:除了使用一些工具软件(如dos2unix、tr等。)要直接转换文件,Emacs中有以下两种方法:
[1],替代法
使用Emacs的replace命令replace-string用null替换要删除的内容:
M-x替换字符串RETURN #执行替换字符串命令。
替换字符串:C-q C-m RETURN #替换字符串。C-q C-m是字符的输入形式。
With: RETURN #被替换为空字符串。
[2]解码方法
如果Emacs无法自动解码文件,您可以指定文件的解码方法来打开文件。对于这个问题,只要指定一个可行的dos解码方法(比如chinese-euc-dos),Emacs就会自动转换,让窗口格式的文本文件内容正确显示。启动Emacs后:
C-x C-m c chinese-euc-dos RETURN #指定编码方式为chinese-euc-dos。
你的文件名返回#打开文件
-
问:1。当emacs在所选文本之后输入时,可以设置什么来替换所选文本?
答:m-x pending _ delete _ mode #切换到Delete_Selection模式。
-
问:2。如何在大小写之间切换选中的一段文字?
A: c-x c-l #转换成小写。
C-x C-u #被转换成大写文本。
-
问:如何在Q:emacs中设置显示文件的字体大小?
答:可以通过修改默认face的Height属性来实现(customize-face命令或者在菜单中寻找修改face的选项)。
如果是XEmacs,有菜单选项可以直接改变字体大小。
-
问:能告诉我从其他地方复制到emacs的快速连接键吗?
答:
用c-x i将文件复制到缓冲区
使用c-x c-i将一个缓冲区复制到另一个缓冲区。
用C-Y复制剪贴板。
在Linux中,可以直接用鼠标选中要复制的内容,然后用鼠标中键复制到缓冲区。
-
问:emacs启动后如何最大化?
答:
(setq initial-frame-list ((top。0)(左。0)(宽度。97)(身高。49)))
自己修改数值。
资料来源:http://www.chinaunix.net/jh/23/702156.html