Emacs使用手册Word文档格式.docx

上传人:b****6 文档编号:21454562 上传时间:2023-01-30 格式:DOCX 页数:13 大小:27.74KB
下载 相关 举报
Emacs使用手册Word文档格式.docx_第1页
第1页 / 共13页
Emacs使用手册Word文档格式.docx_第2页
第2页 / 共13页
Emacs使用手册Word文档格式.docx_第3页
第3页 / 共13页
Emacs使用手册Word文档格式.docx_第4页
第4页 / 共13页
Emacs使用手册Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

Emacs使用手册Word文档格式.docx

《Emacs使用手册Word文档格式.docx》由会员分享,可在线阅读,更多相关《Emacs使用手册Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。

Emacs使用手册Word文档格式.docx

== 

游标目前的 

点 

游标一次跳一个字(word) 

M-f 

往後跳 

M-b 

注意 

与 

M-f, 

M-b的对称性. 

移到行头 

C-a 

行尾 

C-e 

移到句首 

M-a 

到句尾 

M-e 

(M-a 

到上一个句点後面,一个句子的起头. 

到句点後面) 

移到档头 

M-<

档尾 

M->

删除游标目前指的/後面的字 

C-d 

前面的字 

DEL 

(Delete键) 

DEL的正名叫Rubout 

(Rub 

out) 

M-DEL 

往回删一个字(word) 

M-d 

往前删 

(游标後面) 

C-k 

删至行尾 

(kill) 

M-k 

删到一句子结尾(删到句点) 

注意Backspace 

C-h 

在Emacs下是help的意思 

後面有(kill)的, 

表示此删除的动作是kill, 

不太等於delete. 

emacs会把kill掉的东西放到kill 

ring去, 

算是一种暂存的地方, 

以後可以叫出来.见 

yank说明. 

Undo:

C-_ 

等於 

有些DEC终端机, 

C-/就是C-_ 

有时等於C-Shift- 

重复执行 

举例, 

向右移 

8个字, 

C-u 

在Emacs里是蛮特别的,用来设定一些引数(argument/repeat 

count) 

给其後的命令. 

C-n 

向下移 

20行 

有一个特别的例外, 

不是翻三页, 

而是整个萤幕向上移三行. 

据说这比较有意义. 

UNDO 

10次 

给C-L一个引数会怎麽样:

C-l 

会重画萤幕,并且把目前的行移到萤幕第一行. 

另外, 

100 

M-100 

数字 

M-数字 

windows 

下, 

C-left 

C-right 

一次移一个字(word). 

C-up 

C-down 

移动一段 

(paragraphs/C语言的话是block) 

Home 

End 

C-Home 

C-end 

PgUp 

PgDn 

设定重覆次数更加简单, 

比如要向右移10个字 

C-1 

C-0 

right-arrow 

就是按住CTRL, 

然後打10就对了, 

比 

简单. 

Mouse中键用来选取有hi-light的地方. 

右键是menu-button 

如果不小心按两次ESC, 

M-ESC, 

会有一个讯息跑出来 

说你按到一个被disable的命令. 

这是高级指令, 

作者认为 

初学者用不道,所以会问你要不要启动它, 

一般回答no. 

如果某一行太长, 

萤幕显示不下, 

Emacs会在萤幕最右边打个$, 

表示此行未完,右边还有. 

把一行拆成两行:

在想拆处按Enter即可. 

合并两行为一行:

在行尾按C-d 

(或行首按DEL) 

Yank:

吐出被删掉的(killed)东西. 

只要用kill 

(C-k, 

M-k等) 

删除, 

超过一个字的资料, 

emacs就会把它存起来, 

然後C-y 

可以把它叫出来. 

功能跟Cut 

&

Paste一样. 

Kill 

和delete不一样, 

只有被 

kill掉的东西才能用yank吐回来. 

游标在同一地方不动, 

连续kill掉的资料会被当成一次kill掉的, 

yank时会一起回来. 

被Kill掉的资料是放在称作 

kill 

ring的资料结构上面, 

ring就是个圆圈, 

被kill掉的东西会依序摆在圆圈上. 

yank 

会放回最近一次kill掉的资料. 

如果不是你想要的话, 

用M-y 

可以换. 

(M-y就是告诉emacs, 

不对不对, 

我不是要这一个,换前一个给我). 

M-y 

要紧接在C-y之後. 

拷贝文字的方法== 

连续 

几次, 

把要拷贝的行全部删掉, 

然後按 

C-y 

弄回来. 

再到想复制的地方按一次C-y, 

就成了. 

把要拷贝的资料kill掉在yank回来好像很笨. 

是有比较文明的 

方法, 

那就是M-w, 

不过较麻烦. 

首先,要先设标记. 

Mark 

用 

C-SPC 

或 

C-@ 

设. 

然候 

把游标移到另一端, 

按 

M-w 

就可以把 

mark 

到 

point间的 

字存到kill 

ring上. 

就是游标的意思. 

Emacs不会把Mark起来的地方用highlight表示, 

除非在X下. 

在X下, 

可以用M-w 

来拷贝用滑鼠反白的文字. 

就是 

cut 

paste的意思. 

以上大部份指令对Bash的命令列编辑也有效 

档案操作 

读档:

Emacs术语叫 

finding 

file. 

然後在mini-buffer输入档名. 

输入档名时, 

SPC键有 

auto-complete的功能,或者会秀出到目前为止档名前几 

个字和输入一样的. 

(TAB键也有类似功能) 

叫 

find-file 

C-s 

存档 

(save 

current 

file, 

save 

buffer) 

存所有的档 

插入档案 

把另外的档案的内容读入目前编辑区内 

视窗 

Emacs把档案读进来,存在buffer中. 

我们透过window来看/编辑buffer. 

两个视窗会把萤幕切成两部份, 

他们可以同时显示 

相同的, 

或不同的档案. 

对初学者而言, 

最需要的是记住怎样让不想要的视窗消失:

关掉目前的视窗 

会让目前的视窗占满整个萤幕 

(One 

Window), 

取消/关掉其他的视窗. 

Emacs里面有许多功能都会开一个小视窗来和使用者沟通, 

显示讯息. 

有时候不会自动消失很讨厌, 

就很有用. 

另一个功能是如何跳到另一个视窗. 

(other-window) 

把目前的视窗切成两个 

(水平分割) 

(垂直分割) 

是一串与视窗有关的指令. 

则是扩展到X的视窗, 

称为frame. 

就是再开另一个X视窗 

(frame). 

多档编辑 

看目前有那些buffer 

(buffer就是emacs放开起的档案的地方). 

然後在minibuffer输入buffer的名字,可以切换编辑buffer. 

TAB键也有作用. 

有些内部的buffer 

(就是没有档案的buffer), 

是用*开头和结束, 

这个也要打, 

如*scratch* 

最候提醒:

可以把多馀的视窗关掉. 

Emacs扩充指令 

前面介绍的emacs按键大部份都是C-<

或者 

的形式. 

这是最简单的按法, 

由一对按键构成一个指令. 

Emacs的按键可以超过2个以上. 

如 

C-b. 

一般超过一个按键组合的命令都是用C-x 

开头. 

另外你也可以直接下命令. 

M-x 

之後就可以打一个Emacs命 

令来执行. 

一般这些命令名字都很长, 

不过都不常用. 

等一下 

我们会介绍一些. 

还有介绍怎麽把这些命令设成按键指令. 

就是结束Emacs. 

不过一般Emacs很笨重, 

一旦起动就不轻易 

退出. 

所以比较常用的是C-z 

C-z 

把Emacs暂停, 

回到命令列. 

当你下次再需要编辑时,打fg 

%emacs 

就可以把Emacs唤醒. 

C-z会把emacs缩成icon 

mode 

line 

emacs编辑画面由 

编辑区(buffer) 

状态列 

(modeline) 

和对话区 

(minibuffer) 

构成. 

这里解释 

modeline 

显示的讯息. 

以下是个范例:

--**-XEmacs:

xemacs.qs 

(Fundamental)----74%------- 

由後面往前解释, 

74% 

表示游标的位置. 

(Fundamental)表示编辑模式.这是最原始的模式. 

编辑不同种类的文章 

可能希望用不同的模式, 

比如说C-mode, 

lisp-mode, 

tex-mode, 

text-mode 

等等. 

在不同模式下可能多一些按键出来. 

举例text-mode. 

可以切入text-mode, 

这是一般人编辑文字使用的模式. 

和Fundamental 

没什麽差异. 

不过游标移动时, 

Emacs对一个字的定义就有所不同, 

因而 

等移动一个字, 

一个段落的指令就可能会停在标点符号的前面. 

此时状态列变为... 

(Text)----70%--- 

以上说的是Major 

mode. 

另外还有minor 

mode, 

其实就是一些额外的功能. 

比如说, 

auto-fill-mode 

则状态列显示 

(Text 

Fill). 

auto-fill就是自动断行, 

让文章每行固定有70个字. 

fundamental-mode 

可以变回来. 

这里要说明一下, 

emacs在 

minibuffer下有auto-completion的功能, 

也就是打M-x 

fund 

SPC, 

它会自动补全 

fundamental-mode, 

不用全打. 

如果有两个以上的选择, 

它会告诉你. 

这个功能对 

(C-x 

C-f)等等档案编辑功能也有效. 

前面提过. 

最後解释两个**号. 

右边的*表示文章被修改过了. 

左边的* 

表示这个编辑区(buffer)可以修改. 

有一些emacs的buffer是read-only 

buffer, 

就会标成% 

%%表示档案是read-only. 

C-q 

可以解开read-only的锁定, 

无论如何你要改这个编辑区. 

这是个toggle指令, 

如果原来是可以修改的, 

C-q会把它切成 

read-only. 

Search 

没有Search 

功能的编辑器简直就是小朋友的玩具. 

是一项很重要的功能, 

所以emacs也提供的很完善. 

C-r 

re-search-forward 

re-search-backward 

search-forward 

search-backward 

以上这些指令是基本的search指令. 

C-s, 

C-r是increamental 

search, 

就是你打字的同时, 

emacs就直接帮你找. 

一个是forward, 

一个是backward. 

找到了怎麽办?

按C-g可以取消搜寻, 

跳回原来的位置. 

按Enter就让游标 

停在找到的地方 

-- 

此时minibuffer显示:

saved 

where 

search 

started 

什麽意思?

就是isearch帮你在原来的位置设了一个mark, 

然後把point 

(cursor) 

移到新的位置. 

想跳回去原先的地方?

就可以了.(exchange-point-and-mark) 

可以依序跳回前几次设mark的地方. 

(C-SPC是设mark, 

给它一个argument, 

就是反动作) 

(还记不记得C-u 

可以给後面的指令设一些参数. 

有些指令拿这个参数来当作repeat 

count, 

有些指令就只拿来当作on/off, 

true/false, 

set/clear而已) 

re-search-forward可以让你用regular 

expression搜寻. 

search-forward则没有increamental的功能. 

另外一个指令, 

作用和grep很像:

occure 

和search相提并论的就是replace. 

replace 

就知道了. 

Emacs的设定:

Emacs的设定档是 

$HOME/.emacs 

你应该多少知道, 

emacs是用lisp写成的编辑器, 

.emacs档也都是 

要用lisp的语法设定. 

emacs用的lisp称为elisp, 

和一般的lisp差一点点. 

有一个info 

page, 

emacs-lisp-intro, 

深入浅出的介绍emacs 

lisp. 

如果你还不会, 

不懂programming, 

强烈建议你看这份文件. 

如果你 

会texinfo, 

你可以把它很漂亮的印出来. 

(内容一点点而已, 

两三 

天就看完了) 

如果你把.emacs搞砸了, 

进emacs很奇怪, 

怎麽办?

1. 

vi 

改 

.emacs 

:

>

2. 

-q 

进 

Major 

Modes 

一般常见的emacs 

major 

mode有 

lisp-mode 

有自动对括号/重排, 

直接执行lisp 

code功能. 

c-mode/cc-mode 

c-mode是比较旧的c-mode, 

cc-mode应该是 

目前新的c-mode. 

有自动重排/对括号的功能. 

也可以在emacs内compile, 

跳到compiler 

error 

修正错误. 

执行程式时debug. 

(配合dbx/gdb) 

compile是透过Makefile进行. 

tex-mode 

Tex/Latex编辑模示. 

可能是打一些奇怪的标点 

符号比较方便. 

<

programming-language>

-mode 

同lisp/cc-mode. 

如果是interpreter的话, 

emacs通常都可以直接执行/debug. 

-mode还有tags的功能, 

後述. 

html-mode, 

texinfo-mode, 

sgml-mode:

编写html, 

texi, 

sgml之用. 

w3-mode 

WWW 

browser. 

在x-win上不满意,但可以接受... 

Tags 

是一个显为人知的功能?

所以我想提一下. 

这不是emacs发明的, 

而是vi 

原本的特异功能. 

emacs只是发扬光大而已. 

假设你有一个目录, 

里面是一个程式的原始码, 

tin 

的原始码, 

放在 

~/tin-1.3beta 

下面. 

你想看它们. 

首先, 

叫emacs 

cd到该目录:

cd 

然後, 

建立tag 

table. 

tag 

table 

就是一张对照表, 

记录哪个符号(variable/function 

call) 

对映到哪个档案的哪个地方. 

有这张表, 

emacs可以让我们快速的在程 

式码内游走. 

一般这张表是一个档案, 

叫作TAGS 

(大写) 

M-!

etags 

*.[ch] 

是执行external 

shell 

command的意思. 

etags就是emacs的建表程式. 

你只要告诉它你的source 

code在那□即可. 

vi的话是使用ctags这个程式, 

它建出来的档名叫tags 

(小写). 

因为 

我们介绍emacs, 

所以不管它. 

怎麽看程式?

你知道所有的C 

程式都是由main()开始, 

所以你想 

找到main()在哪个档案. 

这时只要按 

M-. 

然後emacs会问你tag 

在哪里. 

因为我们已经cd到该目录, 

直接按enter就好了. 

然後输入main, 

emacs就会把你带到main(){ 

... 

}去. 

如果 

你看到某个程式片断呼叫一个你没看过的函式, 

你可以把游标 

移到该函式的名字上, 

ENTER 

就搞定了. 

emacs找错了 

(比如有变数和函式同名, 

emacs跳到变数去), 

那你可以用 

找下一个. 

在编辑程式码的时候, 

M-SPC 

很有用, 

它会把游标附近的空白缩成一个. 

在其它地方也有效. 

Emacs的一些package:

dired 

(或C-x 

d) 

游走/编辑 

目录, 

就是档案总管的意思 

) 

man 

就是man 

page 

开个command 

prompt, 

不过不能跑vi,elm, 

tin... 

gnus 

读新闻/读信 

rmail 

读信 

vm 

view 

mail 

mh-rmail 

(package 

mh-e) 

mh-smail 

送信 

强列建议改用emacs读news/bbs. 

世界会更美好!

读信的话就要看你的感觉. 

这些读信程式都会把信从系统的mail 

folder 

搬到自己的目录下, 

占用quota, 

我不喜欢 

建议elm或mutt. 

除非参加mailling 

list配合procmail. 

不然不实用. 

用mh-e 

须要装mh 

这个外部程式, 

不太好. 

建议vm 

gnus. 

写完信, 

就可以送信. 

如果你的资料用rcs/sccs作版本管理, 

emacs自动会起动version 

control 

(minor 

mode.), 

c-x 

c-q 

变成check-in/check-out. 

如何取得更多的资讯:

Emacs的lisp 

经过多年的发展,已成为完整的self-documenting系统. 

很多东西都可以线上找到你要的资讯. 

前面说过,或者你已经不小心按backspace遇到了, 

(就是backspace 

的ascii码) 

在emacs里面是help的意思, 

它可以带出一串指令. 

常用的有:

FAQ 

使用教学 

NEWS 

介绍最近改版的新功能 

Info 

system. 

Info是gnu用来取代man 

page的系统, 

基本上和文字模示的WWW差不多. 

有许多重要的资讯 

可以在这边找到. 

如果你是新手, 

建议你在x-win下 

看. 

不然, 

按键 

(menuitem), 

SPC 

(last 

node:

node就是章节的意思) 

(up 

node) 

(directory, 

索引). 

BS 

(Backspace, 

back 

page). 

如果全部只按SPC, 

就跟man 

一样. 

describe 

key, 

告诉你按这个键执行那个lisp 

function. 

告诉你function在作什麽. 

如果只按SPC, 

emacs会给你所有lisp 

函数的列表, 

和说明. 

variable 

同function. 

apropos的意思(approximate). 

给lisp 

function的部份 

字串, 

emacs帮你找. 

列出目前所有的keybinding 

help. 

列出目前的mode的特殊说明. 

列出以C-c 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 中考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1