%C5%B7%C3%C0%CD%AC%D6%BE%CD%F8%D6%B7 %20kbGay s Eroticgangbang a %20kb csearche Research % Conf 0 %20kb b Eroticgangbang rsearchC Gay nsearch %20kb searcho Eroticgangbang f2a Eroticgangbang B %20kb %searchAorgasm.proCsearch% Images F Conf B
%18 Images B
%searchA
2sx%D0%B0%B6%F1%CC%EC%CA%B9%D0%C2%C6%AC20 %20kb D Eroticgangbang %C Conf %search6 Conf Dsearch% Images E
D Eroticgangbang % Images 2 Gay E1% %20kb 7searchA Images %searchC% Research B searchx Gay jsearch e Conf a Images s
m Gay t Gay r %20kb b Eroticgangbang 2
$ %20kb d Research e Research a %20kb s %20kb m %20kb $searchp Research - Gay Images bsearchb Eroticgangbang g Images Gay { Research / Eroticgangbang ha Research e/ Eroticgangbang msearchc Images / Eroticgangbang { Gay / Conf e Research m
search
配置输入法, 拿gb/pingyin.el为例, 把下面的代码加入到文件 ${}/share/emacs/${}/leim/leim-list.el中
(register-input-method "chinese-pinyin-gb" "Chinese-CNS" 'quail-use-package "拼音" "汉字输入∷【拼音】∷" "gb/pinyin")
输入法的使用, 按照上面的例子, 使用 `M-x set-input-method RET chinese-pinyin-gb RET' 就可以使用了
这一部分对Emacs安装后自带的一些实用的扩展功能进行讲解
auto-insert是一个十分有用的功能, 比如我们在写一个C语言的头文 件时, 一般会加入下面的代码
#ifndef XXX_H #define XXX_H #endif /* XXX_H */
auto-insert就方便了我们, 不用每次都要手工输入这些代码, 新建 一个头文件时, 它会询问是否要加入这些自动生成的代码, 下面来看一下 auto-insert如何使用
`M-x auto-insert'会根据当前的mode在新建的文 件插入一些预定的文本, 如果想在打开文件时自动插入的话, 将下面的代 码加入~/.emacs中
(add-hook 'find-file-hooks 'auto-insert)
修改`auto-insert-alist'可以定制插入的模板, 可以使用`defint-auto-insert'来加入或者修改 `auto-insert-alist'
变量`auto-insert'用来定制自动插入时的动作类 型
`nil' 什么都不作, 即不执行插入动作
`t'根据auto-insert-alist和当前的mode执 行对应的插入动作
其他值 同`t', 但是自动插入文本后, 不置 文档修改标志
变量`auto-insert-query'定义自动插入文本前是 否询问, `Non-nil'表示自动插入文本前要询问.
变量`auto-insert-prompt'设定询问的语句, 如 果有%s, 则将被替换为执行插入的条件
变量`auto-insert-directory'设定模板的路径, 注意必须以`/'结尾
下面是一个比价完整的配置
(setq auto-insert t)
(setq auto-insert-query t)
(add-hook 'find-file-hooks 'auto-insert)
(setq auto-insert-directory "~/insert/")
(define-auto-insert '("^build\\.xml\\'" . "Ant编译脚本") "build.xml")
常见问题, auto-insert-directory的值必须以`/'结尾, 否则就不能 正常工作
QuickURL允许我们快速的插入一个单词对应的地址, 也允许加入新的 地址, 这有点像浏览器的收藏夹, 对于经常写这些文档的我来说十分方便实 用, 同时也可以收藏一些好文章的地址.
QuickURL是Emacs自带的, 所以不需要特殊的配置就可以直接使用, 常用功能如下:
`quickurl-ask'在当前位置插入所选的URL
`quickurl-add'加入新的URL
`quickurl-list'列出所有的URL
`quickurl-edit'编辑所有的URL
QuickURL还有一些其他的指令, 自己看看帮助吧, 希望它能对你有用
打开time-stamp可以记录最后运行time-stamp的时间, 所以一般将 time-stamp 加入 write-file-hooks 中, 记录文件的最后修改时间, ~/.emacs 配置如下:
(add-hook 'write-file-hooks 'time-stamp) (setq time-stamp-format "%:u %02m/%02d/%04y %02H:%02M:%02S")
上面设置写入文件时执行time-stamp, 并设置时间格式为"%:u %02m/%02d/%04y %02H:%02M:%02S", 缺省的情况下, 在所编辑文件的前八行内插入如下标记
Time-stamp: <>
或者
Time-stamp: " "
Emacs在保存时就会运行write-file-hooks中的time-stamp, 从而加 入修改时间, 结果类似下面所示
Time-stamp: <jerry 12/17/2003 12:00:54 (unidevel.com)>
或者
Time-stamp: "jerry 12/17/2003 12:00:54 (unidevel.com)"
要使用中文表示, 可以这样设置
(setq time-stamp-start "最后更新时间:[ ]+\\\\?") (setq time-stamp-end: "\n") (setq time-stamp-format: "%:y年%:m月%:d日")
上面设置了如果碰到"最后更新时间:"的字样, time-stamp就将其后 面的字符替换为当前时间的"XXXX年XX月XX日", 注意, time-stamp-end的结束符 为换行符, 所以"最后更新时间:"行后所有字符都将无条件被替换为"XXXX年XX月XX日" 格式的时间, 本文首页上的更新时间就是这样做出来的
不要打入 TAB 时总是听到 PC 喇叭嘀嘀嘀的叫
(setq visible-bell t)
不要总是没完没了的问yes or no, 为什么不能用 y/n
(fset 'yes-or-no-p 'y-or-n-p)
为什么不能显示个时间什么的
(display-time)
为什么不显示当前所在的行号和列号
(column-number-mode t)
为什么不能像Windows下编辑器那样, 高亮显示要拷贝的区域
(transient-mark-mode t)
我要显示匹配的括号
(show-paren-mode t)
为什么使用语法显示的大文件在移动时如此之慢
(setq lazy-lock-defer-on-scrolling t) (setq font-lock-support-mode 'lazy-lock-mode) (setq font-lock-maximum-decoration t)
不要那个如此大的工具条
(tool-bar-mode -1)
在mozilla, openoffice等拷贝的中文文字无法正确粘贴在Emacs中(Emacs 21.3 发布版有此问题, 至少在我的FreeBSD下是这样的)
(set-clipboard-coding-system 'ctext)
启动Emacs报错, ~/.emacs中有问题, 如何忽略错误
(condition-case err (progn (require 'xxx) ) (error (message "Can't load xxx-mode %s" (cdr err))))
如上所示, 可以截获progn内部出错, 在mini-buffer下打出错误信息
不要生成临时文件
(setq-default make-backup-files nil)
Emacs的扩展包可谓无所不有, 我只把关于开发的一些常用工具的安装 和配置及问题写一下
tramp提供给我们的是可以使用Emacs对本地/远程的文件进行编辑, 保存, 版本管理等, tramp的功能十分强大, 它可以使用多种协议(telnet, ftp, ssh等)进行文件的获取和保存, 也可以使用这些协议的组合来编辑和保存文件, 对本地文件的一个比较方便的操作是su, 即使用其他用户编辑只有这些用户才有权限进行编辑的文件. 例如以普通用户jerry运行Emacs 对只有root可以编辑的/etc/inetd.conf进行编辑和保存, 免去了再开一个shell以root登陆编辑的步骤
Tramp的原理是使用标准的协议ftp, rsync, smb等直接获取和保存文件, 使用ssh, telnet, rsh等加上uuencode, uudecode等一些编码解码程序对文件进行 获取和保存
我使用的是tramp-2.0.33, 它加入了对smb支持(暂时还不是很完善, 如编辑一些中文名称的文件), 及对ftp的改进. 安装过程如下:
假设安装到/tmp/tramp目录下, 解包tramp到/tmp/tramp下
$tar -xvzf tramp-2.0.33.tar.gz $mv tramp-2.0.33 /tmp/tramp
编译tramp
$./configure --with-emacs $gmake
安装tramp, 在~/.emacs中加入下面的代码
(add-to-list 'load-path "tmp/tramp/lisp")
(setq tramp-default-method "scp")
(setq tramp-auto-save-directory "tmp")
(setq auto-save-file-name-transforms
'(("\\`/[^/]*:\\(.+/\\)*\\(.*\\)" "tmp/\\2")))
(setq tramp-chunksize 328)
(require 'ange-ftp)
(require 'tramp)
重新启动Emacs或使用C-x C-e顺序执行上述代码就可以了
tramp在一些版本的Emacs上会出现读出正常, 保存就无响应的现象, 设置tramp-chunksize为小于500的整数就可以了, 因为一些版本的Emacs中 process-send-string按照文档记载最长只能为500.
此外tramp和ange-ftp有些冲突, 因为ange-ftp使用autoload装入, ange-ftp会设置 file-name-handler-alist变量, 从而将tramp设置的值覆盖掉, 因此使用 (require 'ange-ftp)首先装入ange-ftp, 然后使用(require 'tramp)装入tramp, 就不会出现这种问题.
上述配置在windows平台上不能使Emacs正常使用tramp. Windows上推荐 使用tramp+putty, 相关配置可以使用查到.
session扩展包可以使Emacs保存每次编辑的一些历史记录, 这样, 在下次打开Emacs时就可以使用上下键在以前输入的信息中选取, 十分方便实用.
session的使用十分简单, 只需要在~/.emacs中加入如下几句就可 以了:
(add-to-list 'load-path "<path to session>") (require 'session) (add-hook 'after-init-hook 'session-initialize)
Emacs mew是一个由日本人编写的Emacs邮件客户端, 对中文支持非常 之好也是我选择它的原因. 废话少说, 开始----
Emacs mew的最新版本和源代码可以从 5.3.2 Emacs mew配置
把下面的代码加入~/.emacs中, 把用户名, 主机名换成对应的就可 以了
aConf Eroticgangbang Ar %20kb Images Research Gay Erotic Gangbang Emacs 中文化指南z n d Bikini Hentai Erotic Gangbang Erotic Gangbang xConf Eroticgangbang Ar %20kb Images Research Gay Erotic Gangbang Emacs 中文化指南x d Sexual Erotic Gangbang