EmacsNotes

来自公开记录
跳到导航 跳到搜索

<<>>

用 Homebrew 安装最新 Emacs 的命令

brew install -v emacs --HEAD --use-git-head --cocoa

首次安装完后用这条命令来链接 GUI 程序:

ln -s /usr/local/Cellar/emacs/HEAD/Emacs.app /Applications


编译成功后自动关闭编译窗口

From: snlee@newsmth.net-SPAM.no (潜水员)

Newsgroups: cn.bbs.comp.emacs

Date: Sun, 24 Jan 2010 11:22:01 -0600

http://www.bloomington.in.us/~brutt/emacs-c-dev.html

每次编译成功后90%以上都不需要看编译结果,得手动执行 c-x 1 来关闭它。 以下让它编译成功后延迟 1 秒自动关闭,如果失败则不关闭


(setq compilation-finish-functions
      (lambda (buf str)
        (if (string-match "exited abnormally" str)
            ;;there were errors
            (message "compilation errors, press C-x ` to visit")
          ;;no errors, make the compilation window go away in 1 seconds
          (run-at-time 1 nil 'delete-windows-on buf)
          (message "NO COMPILATION ERRORS!"))))


另外一些设置可使编译过程更好看、省事一些

(setq compilation-window-height 15)
(setq compilation-auto-jump-to-first-error t)
(setq compilation-scroll-output t)


--

※ 来源:·水木社区 http://newsmth.net·[FROM: 61.50.219.*]

生成 TAGS 文件

[- BuildTags] 有详细的描述。


find . -type f -iname "*.php" | etags --lang=php -


另一种方法,可以递归索引多种后缀的文件:

find . -name "*.c" -print -or -name "*.h" -print -or -name "*.el" -print | xargs etags


Gnus 保存附件

光标放在附件上,按 o。

要保存多个附件,按 X m,然后选择附件的种类。

添加附件

C-c C-a

发送附件

在写邮件的时候输入 C-c C-m f 或者 C-c RET f。

Gnus 显示邮件头

t

编译 Emacs for Cocoa

获得源代码

两种方法

bzr branch --stacked bzr://bzr.savannah.gnu.org/emacs/trunk

(加 --stacked 参数让下载更快)

git clone git://repo.or.cz/emacs.git


建议使用 git。

编译

./configure --with-ns

make bootstrap

make

make install


./nextstep/Emacs.app/ 就是编译好之后的文件,可以移动到 /Applications 目录里了。

Emacs 宏

录制一个宏

以删除行首空格为例:

  • 开始录制宏,用 C-x (
  • 输入你删除的动作,C-d C-d C-d
  • 移动到下一行,C-n
  • 结束录制宏,用 C-x )

使用

  • 用 C-x e 来使用宏,用 C-u 10 C-x e 来重复使用宏。
  • 用 M-x name-last-kbd-macro 来命名刚刚录制的宏。
  • 用 M-x insert-kbd-macro 来保存一个宏。

Info

  • m 跳到指定节点
  • C-u C-h i 打开 .info 文件
  • 扩充 info 路径:(add-to-list 'Info-default-directory-list "~/emacs/info") 或者 (add-to-list 'Info-directory-list "~/emacs/info") 尚未验证([[1]])

Dired 操作

  • m 标记需要操作的文件
  • u 去除标记
  • C 复制文件 (setq dired-recursive-copies 'always) 操作目录时不再询问是否递归子目录
  • D 删除文件 (setq dired-recursive-deletes 'always) 同上
  • R 重命名文件,也是移动命令
  • ! 执行命令 例如转换文本文件的编码:按 ! 后输入 piconv -f gb2312 -t utf8 > output.txt

在线文章


资源目录