emacs常用命令

emacs命令

emacs中的每一个命令都有一个命令名,命令名就是该命令所对应的LISP函数的函数名。在emacs中,我们可以为这些命令配置快捷键,从而达到快速调用命令的目的。

.使用emacs来执行命令的方法有两种:(1).使用Ctrl键(2).使用Meta键。所有emacs命令都可以用Meta键表示出来,键盘上如果没有Meta键,则可以用Alt键或ESC键来代替。常用的emacs命令通常会有一个快捷键与之相连。快捷键通常是以Ctrl来开头(C-xC-c)。如果要使用Meta键来表达与“Ctrl-xCtrl-c”相同的效果,则使用“M-xsave-buffers-kill-emacs”。使用Meta键,可以利用emacs的completion功能。使用emacs的completion功能的方法是将部分字符串键入后,再按下TAB、SPACE或?键即可。

(1).TAB键:尽可能将其的字填满。

(2).SPACE键:将分隔符(-)之前的字填满。

(3).?:将所有可能的completion选择都列出来。

由于emacs中所有的命令都有一个命令名(LISP函数的函数名),因此,我们可以使用“M-x命令名”来调用emacs中的所有的命令。

--------------------------------------------------------------------------------

*基本光标控制

C-v:向下翻屏,与PageDown效果相同(v->vertical)

M-v:向上翻屏,与PageUp效果相同

C-l:重绘屏幕,并将光标所在行置于屏幕的中央

C-b:光标向前移动一格(b->backward)

C-f:光标向后移动一格(f->forward)

C-p:光标向前移动一行(p->previous)

C-n:光标向后移动一行(n->next)

M-b:光标向前移动一个单词

M-f:光标向后移动一个单词

C-a:光标移动到行首

C-e:光标移动到行尾

M-<:光标移动到文章的开头(注意:“<”的输入要shift键,实际为Alt+Shift+<)

M->:光标移动到文章的结尾

C-u:给命令传递参数。例如:“C-u2C-d”表示删除两个字符

M-xgoto-linenRET:调到第n行

--------------------------------------------------------------------------------

*编辑命令

C-d:删除光标后的一个字符

C-k:删除从光标到行尾的字符(k->killl)

C-xu:Undo(想要redo,随便输入一个字符,在Undo)

C-SPC、C-@、M-xset-mark-command:设置mark

C-xh:将整个缓冲区设置为区域

C-w:将区域的文本删除,并放入yankingring中。区域指的是从mark到point(光标所处的位置称为point)之间的文本

M-w:复制区域到yankingring中

C-y:将yankingring中最后一个区域插入当前缓冲区

M-j:回车并且到下一行产生适当的缩进

M-m:将光标移动到当前行的第一个非空白字符上

M-;:产生通用注释

M-xcomment-region:把块注释掉

M-xkill-comment:消除注释

--------------------------------------------------------------------------------

*查找与替换

C-s:向后搜索,光标将停在第一个匹配的字符串处。再按一次C-s将继续搜索下一个匹配的字符串。如果要停止搜索,则使用C-g,此时光标将会回到搜索开始的位置

C-r:向前搜索

M-xreplace-string:替换

--------------------------------------------------------------------------------

*文件操作

C-xc-f:打开文件,如果文件不存在则创建

C-xC-s:保存文件。第一次存盘时,emacs会将文件重命名来备份。重命令的规则通常是在原文件名后加上一个“~”字符。如果要关闭emacs的自动备份功能,使用M-xcustomize-variable<Return>make-backup-files<Return>

C-xC-w:将文件“另存为”

C-xC-v:打开一个新文件,并关闭当前缓冲区

C-xC-r:以只读的方式打开文件

C-xi:将文件插入光标当前位置

--------------------------------------------------------------------------------

*缓冲区

Emacs把每个编辑中的文件都放在一个称为“缓冲区(buffer)”的地方。每打开一个文件,Emacs就在其内部开辟一个缓冲区用来保存打开的文件的数据。ESCESCESC命令可以用来退出打开的小缓冲区,比如:命令提示窗格等

C-xC-b列出当前所有的缓冲区(b->buffer)

C-xb缓冲区名:切换到指定的缓冲区(例如:C-xbM<tab>:切换到以M开头的缓冲区)

C-xs:保存emacs中所有的缓冲区(s->save)

C-xright:切换到下一个缓冲区

C-xleft:切换到前一个缓冲区

C-xC-c:退出emacs,并询问用户是否保存

C-xk:关闭缓冲区

C-z:将emacs挂起,然后回到Shell中,并不退出emacs。之后,我们可以使用%emacs或fg命令来回到emacs

--------------------------------------------------------------------------------

*窗口

Emacs可以有多个窗格,每个窗格显示不同的文字。

C-x0:关闭光标所在的窗口

C-x1:保留光标所在的窗格,并将其扩大到整个屏幕,同时关掉所有其它的窗格

C-x2:水平分割当前窗口

C-x3:垂直分割当前窗口

C-xo:在emacs的窗格中进行切换(o->other)

C-M-v:滚动下方的窗格。一般在我们使用下方的窗格进行参考,而又不想将光标切换到下一个窗格时使用

--------------------------------------------------------------------------------

*使用帮助

C-hc快捷键:显示快捷键的简要说明

C-hk快捷键:显示快捷键所对应的命令名及其详细说明

C-ha关键字:显示包含有指定关键字的命令

C-hi:查看Info文档

--------------------------------------------------------------------------------

*在emacs中运行shell命令

M-!cmdRET:打开一个名为“*ShellCommandOutput*“的窗口,并把该命令的执行结果显示在其中。按下”C-x1“组合键可以关闭这个窗口。由于Shell命令的输出是在一个编辑缓冲区里,因此我们可以对它进行编辑、保存等操作。

M-|cmdRET:运行Shell命令,并使用编辑窗口中选定的区域作为该Shell命令的输入,然后可以选择是否用该Shell命令的输出来替换编辑窗口中选中的区域。

C-uM-!cmdRET:执行一条Shell命令,并将其输出放到编辑区中光标所在的位置处,而不将其输出到”ShellCommandOutput“窗口。

M-xshell:运行一个子Shell,该子Shell对应于emacs中的一个名为”*Shell*"的缓冲区,此后,我们就可以交互式的运行Shell命令了。

M-xterm:运行一个子Shell,该子Shell对应于emacs中的一个名为“*Terminal*”的缓冲区。使用该命令获得的子Shell是一个完整的Shell的模拟,与我们直接在Shell中操作没有什么差别。

M-xeshell:运行emacsshell。该Shell为emacs自己实现的一个shell,而前面运行的shell都为系统中的shell程序(例如:/bin/csh等)。我们可以通过设置变量shell-file-name来设置emacs所使用的默认shell

--------------------------------------------------------------------------------

*Dired功能

emacs的Dired(DirectoryEditor)功能使emacs缓冲区能够用来显示目录列表,并可以用来进入目录的子目录。Dired缓冲区是只读的,不能够被修改。

C-xd:进入Dired

相关推荐