emacs 小技巧两则

Vim、Emacs配置和使用
回复
difancn
帖子: 73
注册时间: 2006-04-21 20:33
来自: 湖南
联系:

emacs 小技巧两则

#1

帖子 difancn » 2009-12-11 11:32

1,有时在 ubuntu 中会打开一些 gbk-dos 编码的文件,有需要将其转换成 utf-8-unix 的编码,或者反之,用C-x 回车 f 编码名 回车即可。但如果想用鼠标在模式行上点一下就可以转换,那不是有更多选择,在个人配置文件中加入:
;; 这是一个覆盖了 emacs/lisp/bindings.el 中相同的函数,只是最后一行不同而己 (因修改 bindings.el 不起作用,所以才覆盖,大家知道原因,请告诉我)
(defun mode-line-change-eol (event)
"Cycle through the various possible kinds of end-of-line styles."
(interactive "e")
(with-selected-window (posn-window (event-start event))
(let ((eol (coding-system-eol-type buffer-file-coding-system)))
(set-buffer-file-coding-system
(cond ((eq eol 0) 'gbk-dos) ((eq eol 1) 'utf-8-mac) (t 'utf-8-unix))))))
我在这之前还有一个设置:
(setq eol-mnemonic-undecided "(?)" ;; unknown EOL type
eol-mnemonic-unix "(unix)" ;; LF
eol-mnemonic-dos "(dos)" ;; CRLF
eol-mnemonic-mac "(mac)") ;; CR
这样,打开一个 dos 文件后,你想将其转换成 utf-8-unix编码文件,只需点模式行上的dos,即可在不同编码间切换,最后保存即可。

2. 在 emacs 中应用颜色主题后,你可能觉得 *shell* 中 ls 后,文件夹显示颜色为蓝色太刺眼了(非白底时),用 color-theme.el 中的方式改,效果都不行。可以在配置文件中加入:
;(setq ansi-color-names-vector '["black" "red" "green" "yellow" "royal blue" "magenta" "cyan" "white"])
这是一个映射器,这里只是将第五个元素由原来的blue改成了royal blue。还可以改其它的,用 M-x customize-group 回车 ansi-color 回车,就可以找到它们的对应关系。

用来用去,还是 emacs 好,推荐用源里的 emacs-snapshot 23
上次由 difancn 在 2009-12-11 15:02,总共编辑 1 次。
头像
mikeandmore
帖子: 109
注册时间: 2005-10-13 18:29

Re: emacs 小技巧两则

#2

帖子 mikeandmore » 2009-12-11 13:35

极力不推荐源里的emacs-snapshot!!!
那个gdb-ui非常难用,经常crash

推荐用emacs-23.
yupeng820921
帖子: 94
注册时间: 2009-02-25 19:44

Re: emacs 小技巧两则

#3

帖子 yupeng820921 » 2009-12-12 15:32

2楼正解,源里那个emacs-snapshot问题确实不少,还是自己编译emacs23的正式release版好。
头像
mikeandmore
帖子: 109
注册时间: 2005-10-13 18:29

Re: emacs 小技巧两则

#4

帖子 mikeandmore » 2009-12-13 8:49

yupeng820921 写了:2楼正解,源里那个emacs-snapshot问题确实不少,还是自己编译emacs23的正式release版好。
源里有emacs23的。
虽然其org-mode稍微老了一点,不过还算凑合用。。。
回复