Emacs使用手册Word文档格式.docx
- 文档编号:21454562
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:13
- 大小:27.74KB
Emacs使用手册Word文档格式.docx
《Emacs使用手册Word文档格式.docx》由会员分享,可在线阅读,更多相关《Emacs使用手册Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
==
游标目前的
点
游标一次跳一个字(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:
u
C-_
等於
有些DEC终端机,
C-/就是C-_
有时等於C-Shift-
-
重复执行
举例,
向右移
8个字,
C-u
8
在Emacs里是蛮特别的,用来设定一些引数(argument/repeat
count)
给其後的命令.
2
0
C-n
向下移
20行
有一个特别的例外,
3
不是翻三页,
而是整个萤幕向上移三行.
据说这比较有意义.
1
UNDO
10次
给C-L一个引数会怎麽样:
C-l
会重画萤幕,并且把目前的行移到萤幕第一行.
另外,
100
M-100
数字
M-数字
X
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
a
file.
然後在mini-buffer输入档名.
输入档名时,
SPC键有
auto-complete的功能,或者会秀出到目前为止档名前几
个字和输入一样的.
(TAB键也有类似功能)
叫
find-file
C-s
存档
(save
current
file,
save
buffer)
s
存所有的档
i
插入档案
把另外的档案的内容读入目前编辑区内
视窗
Emacs把档案读进来,存在buffer中.
我们透过window来看/编辑buffer.
两个视窗会把萤幕切成两部份,
他们可以同时显示
相同的,
或不同的档案.
对初学者而言,
最需要的是记住怎样让不想要的视窗消失:
关掉目前的视窗
会让目前的视窗占满整个萤幕
(One
Window),
取消/关掉其他的视窗.
Emacs里面有许多功能都会开一个小视窗来和使用者沟通,
显示讯息.
有时候不会自动消失很讨厌,
就很有用.
另一个功能是如何跳到另一个视窗.
o
(other-window)
把目前的视窗切成两个
(水平分割)
(垂直分割)
4
是一串与视窗有关的指令.
5
则是扩展到X的视窗,
称为frame.
就是再开另一个X视窗
(frame).
多档编辑
看目前有那些buffer
(buffer就是emacs放开起的档案的地方).
b
然後在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
mh-rmail
(package
mh-e)
mh-smail
送信
强列建议改用emacs读news/bbs.
世界会更美好!
读信的话就要看你的感觉.
这些读信程式都会把信从系统的mail
folder
搬到自己的目录下,
占用quota,
我不喜欢
p
建议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的意思,
它可以带出一串指令.
常用的有:
F
FAQ
t
使用教学
n
NEWS
介绍最近改版的新功能
Info
system.
Info是gnu用来取代man
page的系统,
基本上和文字模示的WWW差不多.
有许多重要的资讯
可以在这边找到.
如果你是新手,
建议你在x-win下
看.
不然,
按键
m
(menuitem),
SPC
l
(last
node:
node就是章节的意思)
(up
node)
d
(directory,
索引).
BS
(Backspace,
back
page).
如果全部只按SPC,
就跟man
一样.
k
describe
key,
告诉你按这个键执行那个lisp
function.
f
告诉你function在作什麽.
如果只按SPC,
emacs会给你所有lisp
函数的列表,
和说明.
v
variable
同function.
apropos的意思(approximate).
给lisp
function的部份
字串,
emacs帮你找.
列出目前所有的keybinding
help.
列出目前的mode的特殊说明.
列出以C-c
开
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Emacs 使用手册