EMACS中文指南
时间:2006-05-09 来源:cnscn2008
- display editor
- real-time editor
- advanced editor
- Self-documenting
- Customizable
- Extensible
- support X window enviornment
EMACS 是一个 display 编辑器,因为每一个被编辑的文字都会
被显示在萤幕上。
EMACS 是一个 real-time 的编辑器,因为当新的文字被键入时,
萤幕会在非常短的时间内被更新。
EMACS 的编辑功能不只具备一般编辑器所有的功能,它还提供
如下的功能:
- 文字的填充(filling of text)。
- 程式自动内缩功能。
- 可以同时阅读一个以上的档案。
- 对於字元(characters)、字(words)、列(lines)、句子 (sentences)、段落(paragraphs)、页(pages)以及各种 程式中的 expression 和注解(comments)都有其自有的处理方法。
EMACS 是一个 Self-documenting的软体,因为在任何时候都 可以 `` Ctrl-h'' 指令来得立即的帮助。因为,透过 `` Ctrl-h'' 可以得知每一个 EMACS 的指令。
EMACS 是可以 Customizable 的。使用者可视个人的需求, 来改变 EMACS 指令的定义。GNU EMACS 的 Customization 的设定 非常简单,使用者可以很方便的使用它。 EMACS 是 Extensible 的。GNU EMACS 是由 LISP 语言 所写成的函式共同组成的, 函式与函式间的互动关系(dependency) 不强。就因为 EMACS 是由函式所组合而成的,所以可以随时 将函式作增减而不会破坏 EMACS 既有的结构。 EMACS 也针对 X 的视窗环境,提供自己的选单(menus) 和滑鼠按纽(mouse bottons)功能。 EMACS 对於 text-only 的终端机 也提供许多与 X 环境相当的服务品质,例如在文字模式的终端机, 可以同时开启数个的档案,档案可以互相切换,当使用 shell 模式 来执行 shell 指令的同时也可以编辑档案。但本文的只讨论 text-only 的 EMACS 使用法。 以上的种种就是有关 EMACS 的特色。至於如何使用这些功能就 下列章节所要讨论的重点符号
C- 意思是按住 Ctrol 键M- 意指 Meta 键 (键盘上若无Meta 键,则可以 ESC 键来取而代之)
DEL 意指退格键 (不是 删除(Delete) key)
RET 意指回车键
SPC 意指空格键
ESC 意指Escape键
TAB 意指Tab键 像 "C-M-" (or "M-C") 这样连在一起的意味着同时按住 Control 和 Meta 键不放.
游标移动指令
Home〈到档首〉
C-p
|
C-a -- M-a -- M-b -- C-b +++ C-f -- M-f -- M-e -- C-e
|
C-n
End〈到档尾〉
Emacs-Speak (行话)
Here is a translation to/from Emacs-speak:通用术语 | Emacs术语 | 中文意思 |
selection | region | 选定区域 |
cut | kill | 剪切 |
paste | yank | 粘贴 |
window | frame | 窗口 |
shortcut | key-sequence | 快捷键 |
输入法
没有了中文输入法, Emacs 对於中文使用者一点用处都没有。想要知道您可以使用哪些输入法,您可以键入 C-x RET C-\ SPC ,接著 Emacs 会出现一个所有多国语文的输入法列表窗格。然后您就可以在其中键入您所使用的输入法名称了。下面是作者的作法:(作者使用的是行列输入法,名称为 chinese-array30 。)1. 设定预设的输入法,将下面这一行加入到 ~/.emacs 档案中:
(custom-set-variables '(default-input-method "chinese-array30"))
这样子在启动 Emacs 后,
您就可以直接以 C-\ 指令在英文输入和行列输入法之间切换了。
2. 但是有时候用行列打不出来,需要切换成注音输入法。
有两种方式可以达成这个目的:
a. C-x RET C-\ chinese-zozy RET
b. C-u C-\ chinese-zozy RET
作者建议您使用第二种方式,因为它同时也是作为两种输入法间切换的指令。
接下来您只要键入 C-u C-\ RET 就可以在行列和注音这两者间作切换了。
(注意:中英输入法间的切换还是以 C-\ 指令为之。)
以后我们在不同中文输入法间作切换将可以 C-u C-u C-\ 达成,
原本作者是建议以 M-\ 来补足这个想法,
但是 M-\ 很不幸已经作为 delete-horizontal-space 指令了。
不然 C-\ 搭配 M-\ 不是很漂亮吗?
这样子您应该可以理解如何使用中文输入环境了吧!
当然,您必须将行列改为自己喜欢的输入法。
如果您找不到自己喜欢的输入法,那么您可以:
1. 自己造一个(相关文献在 .../emacs/leim/quail/ 。)
2. 利用现成的输入法档案做出一个
( .../emacs/lisp/international/titdic-cnv.el 。)
只要是 cxterm 的 *.tit 和 xcin 的 *.cin
有提供的输入法都可以。
但是作法上对於终端使用者而言并不十分“自动”,
因此现阶段可能还是需要志愿者协助进行才有办法。
不知道 cxterm 和 xcin 的开发人员是否可以协助提供。
(对了, cxterm 的行列输入法有个小臭虫,应该和谁联系?)
相关阅读 更多 +
排行榜 更多 +