Win7下Emacs使用笔记二
1. 利用Server模式快速启动emacs
Emacs启动比较慢,使用Server模式可以解决这个问题。启动一个Emacs实例后,可以用M-x server-start命令进入Server模式,然后保留此实例不关闭。此后,可以用“emacesclientw <文件名>”启动emacs,则这次编辑的内容事实上是由server模式的emacs实例打开,速度很快。
但在Win7下启动server-mode (用M-x server-start)命令时,会报某个目录“is an unsafe directory”的错误,无法进入server模式。这时只需要在Windows的资源管理器中找到该目录(如果没有则自己创建),在该目录上按右键,选属性。“安全”-》“高级”-》“所有者”-》“编辑”,将所有者设为当前用户(原来的所有者可能是SYSTEM),即可顺利进入server模式。
如果打开emacsclientw时并没有启动一个server模式的emacs,会报错失败。可以选用EmacsW32 (http://ourcomments.org/Emacs/EmacsW32.html)的patched版,它所提供的emacsclientw在找不到server的时候会自动打开一个emacs实例并进入server模式。
2. 快速启动非定制的emacs
使用emacs的-Q参数即可,这时不载入任何定制包与~/.emacs文件,启动速度也很快。
3. 把emacs加入右键菜单
执行regedit打开注册表编辑器,在【HEY-CLASSES-ROOT/*/shell】下添加一项【Edit with emacs】,数据为“Emacs编辑”,在其下再添加一项【command】,数据为“<emacs安装目录>\bin\emacsclientw.exe -n %0” (如果不想用Server模式,则为“<emacs安装目录>\bin\runemacs.exe %0”)
4. 整合w3m支持
1. 安装cygwin(http://www.cygwin.com/),保证选择了w3m包,如果系统里没有cvs客户端,把cvs包也选上。安装后把cygwin下的bin目录(例如d:\cygwin\bin)加入path环境变量中。
2. 建议选用EmacsW32的patched版(http://ourcomments.org/Emacs/EmacsW32.html)。(gnu emacs 23.x版在w3m中无法打开图片)
3. cmd打开命令行窗口,进入emacs安装目录的site-lisp子目录,执行“cvs -d :pserver:anonymous@cvs.namazu.org:/storage/cvsroot co emacs-w3m”命令获取emacs-w3m插件的最新源码。(网站上的打包下载据说不支持emacs 23.x版)
4. 进入emacs-w3m目录,执行“emacs -batch -q -no-site-file -l w3mhack.el NONE -f w3mhack-nonunix-install”(参考 http://emacs-w3m.namazu.org/index-en.html#installation)。将在上层目录(site-lisp\)中创建一个w3m目录。
5. 在~/.emacs目录中刚加入:
(require 'w3m-load)(setq w3m-use-favicon nil)(setq w3m-command-arguments '("-cookie" "-F"))(setq w3m-use-cookies t) ;打开cookie支持(setq w3m-home-page "www.google.com") ;设置主页(setq w3m-default-display-inline-image t) ;显示图片(setq w3m-default-toggle-inline-images t)
;;允许用C-c e作为命令前缀(define-prefix-command 'ctl-ce-map)(global-set-key (kbd "C-c e") 'ctl-ce-map);;支持使用w3m对xhtml进行预览。如果未安装w3m支持,注释此行(setq evernote-enml-formatter-command '("w3m" "-dump" "-I" "UTF8" "-O" "UTF8")) ; option;;载入evernote模式(require 'evernote-mode);;常用快捷键设置(global-set-key "\C-cec" 'evernote-create-note)(global-set-key "\C-ceo" 'evernote-open-note)(global-set-key "\C-ces" 'evernote-search-notes)(global-set-key "\C-ceS" 'evernote-do-saved-search)(global-set-key "\C-cew" 'evernote-write-note)(global-set-key "\C-cep" 'evernote-post-region)(global-set-key "\C-ceb" 'evernote-browser)(require 'cygwin-mount)(cygwin-mount-activate)
