emacs的一些使用笔记

默认分类 · 2009-01-04

一、 按ctrl+或者ctrl-调整字体,需把如下代码放入.emacs中

;;放大缩小字体 
(defun increase-font-size () (interactive) (set-face-attribute 'default nil :height (ceiling (* 1.10 (face-attribute 'default :height)))))
(defun decrease-font-size () (interactive) (set-face-attribute 'default nil :height (floor (* 0.9 (face-attribute 'default :height)))))
(global-set-key (kbd "C-+") 'increase-font-size)
(global-set-key (kbd "C--") 'decrease-font-size)

二、启动emacs时不用.emacs的方法

emacs -q可以不使用.emacs而初始化emacs,emacs -u (或者--user)指定另一个用户的.emacs初始化emacs

三、emacs的快捷键绑定方式

1、已有一定前缀,需要绑定具体功能

比如绑定gnus到alt-n(其中alt为既有前缀,和esc是一样的功能,在emacs里面都表示M)。

在emacs中m-x global-set-key 回车 alt-n 回车 gnus,然后c-x esc esc,把minibuffer中的
(global-set-key "\356" (quote gnus)) 复制到.emacs中就把gnus永久绑定了alt-n。

2、重新绑定前缀

比如要绑定左边的windows键做为前缀,则在.emacs中加入如下两句语句即可。

(define-prefix-command 'test-map)
(global-set-key (quote [lwindow]) 'test-map)

说明:

1、其中define-prefix-command在emacs中无法像执行gnus这种命令一样执行,必须写入.emacs中才有效,其中的test-map可以是任何一个字符串

2、(global-set-key (quote [lwindow]) 'test-map)中的lwindow可以通过绑定具体功能的方式找出来。

3、取消已定义的快捷键

比如要去掉ctrl+space的mark功能
在emacs中m-x global-unset-key 回车 ctrl-space ,然后c-x esc esc,把minibuffer中的(global-unset-key (quote 67108896)) 复制到.emacs中就去掉了ctrl+space的mark功能

四、自定义的快捷键

下面四个快捷键用于在不同的tabbuffer中切换

1、alt-s

功能

alt-s:是M-x replace-string的快捷键,用于在选定区域进行文字替换,选定区域指ctrl+'选定的区域,而不是列编辑中选定的区域

在.emacs中的设置

(global-set-key "\363" (quote replace-string))

2、ctrl-c ctrl-c

功能

ctrl-c ctrl-c:是M-x delete-backward-char的快捷键,用于从后向前删除字符,但在wiki模式下不能使用

在.emacs中的设置

(global-set-key "" (quote delete-backward-char))

3、ctrl-+和ctrl--

功能

ctrl-+用于在emacs中增大字体,ctrl--用于在emacs中减小字体,但这个功能需要第一行的代码放到.emacs中才能实现

在.emacs中的设置

(global-set-key (kbd "C-+") 'increase-font-size);用ctrl-+增大字体 (global-set-key (kbd "C--") 'decrease-font-size);用ctrl--减小字体

4、ctrl-‘

功能

ctrl-‘有mark功能

在.emacs中的设置

(global-set-key (quote 67108903) (quote set-mark-command));;

5、lwindow

功能

重新定义一个前缀lwindow键

在.emacs中的设置

(define-prefix-command 'hh) (global-set-key (quote [lwindow]) 'hh)

6、ctrl-right,ctrl-left,ctrl-up和ctrl-download

功能

这几个键是tabbar中的快捷键,分别用于切换不同的buffer和不同的buffer-group

在.emacs中的设置

(global-set-key (quote [C-right]) (quote tabbar-forward-group));;左键win+right 
(global-set-key (quote [C-left]) (quote tabbar-backward-group));;左键win+left 
(global-set-key (quote [C-up]) (quote tabbar-backward));;左键win+up 
(global-set-key (quote [C-down]) (quote tabbar-forward));;左键win+down

7、ctrl-x r ctrl-’,ctrl-x r ctrl-w ,ctrl-x r alt-w,ctrl-x r t

功能

主要用于列编辑时候的快捷键,其中前面三个功能见注释,ctrl-x r t则是用新的字符串替代选中的字符串,并且不需要自定义

在.emacs中的设置

(global-set-key (quote [24 114 67108903]) (quote rm-set-mark))
;;标记c-x r c-' 
(global-set-key "r" (quote rm-kill-region))
;;剪切c-x r c-w 
(global-set-key "r\367" (quote rm-kill-ring-save))
;;复制c-x r m-w

8、f11

功能

在日历中用的快捷键,用于调出日历

在.emacs中的设置

(global-set-key (quote [f11]) (quote calendar));按f11调出日历

9、ctrl-c ctrl-c

功能

用ctrl+c ctrl+c作为从后往前删除的快捷键,但在wiki模式下不管用

在.emacs中的设置

(global-set-key "" (quote delete-backward-char))

10、f10

功能

将F10绑定为显示菜单栏,万一什么东西忘了,需要菜单栏了可以摁F10调出,再摁F10就去掉菜单

在.emacs中的设置

(global-set-key (quote [f10]) (quote menu-bar-mode))

五、参考网站

http://docs.huihoo.com/homepage/shredderyin/wiki/KeyBinding.html ,这是王垠的网站

emacs
Theme Jasmine by Kent Liao