182.html
来自「著名的linux英雄站点的文档打包」· HTML 代码 · 共 866 行 · 第 1/4 页
HTML
866 行
<TABLE cellSpacing=0 cellPadding=3 width="95%"
align=center border=0>
<TBODY>
<TR>
<TD>
<TABLE cellSpacing=0 cellPadding=3 width="100%"
border=0>
<TBODY>
<TR>
<TD vAlign=top>
<p><FONT class=normalfont><B><font color=blue>emacs</font></B></FONT><BR><FONT class=smallfont color=#ff9900>2004-04-23 15:18 pm</FONT><BR><FONT class=normalfont>作者:作者<br>来自:Linux知识宝库<br>联系方式:无名<br><br>Emacs 启动:<br>
直接打emacs, 如果有X-windows就会开视窗. 如果不想用X 的版本,<br>
就用 emacs -nw (No windows)起动.<br>
符号说明<br>
C-X 表示按住CTRL键, 然後按X, 再把CTRL, X一起放开.<br>
M-X META META<br>
<br>
在没有META键的电脑上, M-X 等於先按 ESC键, 接著按 X键.<br>
Sun上面META键就是菱形的那个键.<br>
有些系统META键就是ALT键.(或者某一边的ALT键)<br>
<br>
C-X或 M-X的X没有大小写分别.<br>
Emacs按键命令基本上是一串C-<chr>和M-<chr>组成的.<br>
超过两个以上的按键命令, Emacs会在萤幕最下面一行显示你按过什麽.<br>
这一行叫作mini buffer<br>
<br>
结束Emacs按 C-x C-c<br>
<br>
取消执行 C-g<br>
有些Emacs命令会跑很久, 可以用C-g中断之. 按错键也可以按C-g取消.<br>
<br>
上下移动 C-p 向上 (previous line) C-n向下(next line)<br>
左右移动 C-f 向右 (forward) C-b 向左 (backward)<br>
<br>
其实Emacs内部没有行的概念, 把一篇文章放在一个大buffer<br>
里面, 所以C-f (forward)就是向档尾移动, C-b (backward)<br>
是移回去的意思, 一次一个字.<br>
<br>
翻页 下一页 C-v (view next screen)<br>
上一页 M-v<br>
<br>
翻页时,上一 末尾会留一点在萤幕最上面,以维持连续性.<br>
<br>
Emacs在游标接近萤幕最下方时会自动跳半页, 把档案往前挪一点,<br>
方便阅读.<br>
<br>
重画萤幕 C-L<br>
<br>
Emacs里面游标的专有名词叫point. point == 游标目前的 点<br>
<br>
游标一次跳一个字(word) M-f 往後跳 M-b<br>
<br>
注意 C-f 与 M-f, C-b 与 M-b的对称性.<br>
<br>
移到行头 C-a 行尾 C-e<br>
移到句首 M-a 到句尾 M-e<br>
(M-a 到上一个句点後面,一个句子的起头.<br>
M-e 到句点後面)<br>
<br>
移到档头 M-< 档尾 M-><br>
<br>
删除游标目前指的/後面的字 C-d<br>
前面的字 DEL (Delete键)<br>
DEL的正名叫Rubout (Rub out)<br>
<br>
M-DEL 往回删一个字(word)<br>
M-d 往前删 (游标後面)<br>
C-k 删至行尾 (kill)<br>
M-k 删到一句子结尾(删到句点) (kill)<br>
<br>
<br>
注意Backspace = C-h 在Emacs下是help的意思<br>
後面有(kill)的, 表示此删除的动作是kill, 不太等於delete.<br>
emacs会把kill掉的东西放到kill ring去, 算是一种暂存的地方,<br>
以後可以叫出来.见 yank说明.<br>
<br>
<br>
Undo: C-x u<br>
C-_ 等於 C-x u 有些DEC终端机, C-/就是C-_<br>
有时等於C-Shift- -<br>
<br>
重复执行<br>
<br>
举例, 向右移 8个字, C-u 8 C-f<br>
C-u 在Emacs里是蛮特别的,用来设定一些引数(argument/repeat count)<br>
给其後的命令.<br>
<br>
C-u 2 0 C-n 向下移 20行<br>
<br>
有一个特别的例外, C-u 3 C-v 不是翻三页, 而是整个萤幕向上移三行.<br>
据说这比较有意义.<br>
<br>
C-u 1 0 C-x u UNDO 10次<br>
<br>
给C-L一个引数会怎麽样:<br>
C-u 0 C-l 会重画萤幕,并且把目前的行移到萤幕第一行.<br>
<br>
另外, C-u 100 等於 M-100<br>
C-u 数字 等於 M-数字<br>
<br>
X windows 下,<br>
C-left C-right 一次移一个字(word).<br>
C-up C-down 移动一段 (paragraphs/C语言的话是block)<br>
Home = C-a<br>
End = C-e<br>
C-Home = M-<<br>
C-end = M-><br>
PgUp PgDn = M-v C-v<br>
设定重覆次数更加简单,<br>
比如要向右移10个字 C-1 C-0 right-arrow<br>
就是按住CTRL, 然後打10就对了, 比 C-u 1 0 简单.<br>
<br>
Mouse中键用来选取有hi-light的地方.<br>
右键是menu-button<br>
<br>
如果不小心按两次ESC, 等於 M-ESC, 会有一个讯息跑出来<br>
说你按到一个被disable的命令. 这是高级指令, 作者认为<br>
初学者用不道,所以会问你要不要启动它, 一般回答no.<br>
<br>
如果某一行太长, 萤幕显示不下, Emacs会在萤幕最右边打个$,<br>
表示此行未完,右边还有.<br>
<br>
把一行拆成两行: 在想拆处按Enter即可.<br>
合并两行为一行: 在行尾按C-d (或行首按DEL)<br>
<br>
Yank: 吐出被删掉的(killed)东西.<br>
<br>
只要用kill (C-k, M-k等) 删除, 超过一个字的资料,<br>
emacs就会把它存起来, 然後C-y 可以把它叫出来.<br>
功能跟Cut & Paste一样. Kill 和delete不一样, 只有被<br>
kill掉的东西才能用yank吐回来.<br>
<br>
游标在同一地方不动, 连续kill掉的资料会被当成一次kill掉的,<br>
yank时会一起回来.<br>
<br>
被Kill掉的资料是放在称作 kill ring的资料结构上面, ring就是个圆圈,<br>
被kill掉的东西会依序摆在圆圈上. yank 会放回最近一次kill掉的资料.<br>
如果不是你想要的话, 用M-y 可以换. (M-y就是告诉emacs, 不对不对,<br>
我不是要这一个,换前一个给我).<br>
<br>
M-y 要紧接在C-y之後.<br>
<br>
拷贝文字的方法== 连续 C-k 几次, 把要拷贝的行全部删掉,<br>
然後按 C-y 弄回来. 再到想复制的地方按一次C-y, 就成了.<br>
<br>
把要拷贝的资料kill掉在yank回来好像很笨. 是有比较文明的<br>
方法, 那就是M-w, 不过较麻烦.<br>
<br>
首先,要先设标记. Mark 用 C-SPC 或 C-@ 设. 然候<br>
把游标移到另一端, 按 M-w 就可以把 mark 到 point间的<br>
字存到kill ring上. point 就是游标的意思.<br>
<br>
Emacs不会把Mark起来的地方用highlight表示, 除非在X下.<br>
在X下, 可以用M-w 来拷贝用滑鼠反白的文字.<br>
<br>
kill & yank 就是 cut & paste的意思.<br>
<br>
<br>
以上大部份指令对Bash的命令列编辑也有效<br>
<br>
档案操作<br>
读档: Emacs术语叫 finding a file.<br>
C-x C-f 然後在mini-buffer输入档名. 输入档名时, SPC键有<br>
auto-complete的功能,或者会秀出到目前为止档名前几<br>
个字和输入一样的. (TAB键也有类似功能)<br>
<br>
C-x C-f 叫 find-file<br>
<br>
C-x C-s 存档 (save current file, save current buffer)<br>
C-x s 存所有的档<br>
<br>
C-x i 插入档案 把另外的档案的内容读入目前编辑区内<br>
<br>
视窗<br>
Emacs把档案读进来,存在buffer中.<br>
我们透过window来看/编辑buffer.<br>
<br>
两个视窗会把萤幕切成两部份, 他们可以同时显示<br>
相同的, 或不同的档案.<br>
<br>
对初学者而言, 最需要的是记住怎样让不想要的视窗消失:<br>
<br>
C-x 0 关掉目前的视窗<br>
C-x 1 会让目前的视窗占满整个萤幕 (One Window),<br>
取消/关掉其他的视窗.<br>
<br>
Emacs里面有许多功能都会开一个小视窗来和使用者沟通, 显示讯息.<br>
有时候不会自动消失很讨厌, C-x 1 就很有用.<br>
<br>
另一个功能是如何跳到另一个视窗.<br>
C-x o (other-window)<br>
<br>
<br>
C-x 2 把目前的视窗切成两个 (水平分割)<br>
C-x 3 (垂直分割)<br>
C-x 4 是一串与视窗有关的指令.<br>
C-x 4 是一串与视窗有关的指令.<br>
C-x 5 则是扩展到X的视窗, 称为frame.<br>
C-x 5 2 就是再开另一个X视窗 (frame).<br>
<br>
<br>
多档编辑<br>
C-x C-b 看目前有那些buffer (buffer就是emacs放开起的档案的地方).<br>
C-x b 然後在minibuffer输入buffer的名字,可以切换编辑buffer.<br>
TAB键也有作用. 有些内部的buffer (就是没有档案的buffer),<br>
是用*开头和结束, 这个也要打, 如*scratch*<br>
<br>
最候提醒:<br>
C-x 1 可以把多馀的视窗关掉.<br>
<br>
<br>
Emacs扩充指令<br>
<br>
前面介绍的emacs按键大部份都是C-<chr> 或者 M-<chr>的形式.<br>
这是最简单的按法, 由一对按键构成一个指令.<br>
<br>
Emacs的按键可以超过2个以上. 如 C-x 1 或 C-x C-b.<br>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?