cnhnln 发表于 2006-12-12 21:41:37

常用的emacs快捷键[Zz]

注意:下面每一个快捷键,都可以自由的换成你自己使用的用舒服的键上。

   关于Buffer
Ctrl+x Ctrl+f 打开一个文件,如果没有些文件,刚创建它。
Ctrl+x Ctrl+s 保存当前Buffer中的文件。
Ctrl+x Ctrl+w 保存当前Buffer为另一个文件,并打开编辑
Ctrl+x s 保存所有Buffer中的文件。
Ctrl+x 1 隐藏当前活动Buffer之外的Buffer。
Ctrl+x b 更换到其它的Buffer。
Ctrl+x Ctrl+b 显示所有的Buffer。
Ctrl+x 2 水平分割活动的Buffer为两个。
Ctrl+x 3 垂直分割活动的Buffer为两个。

   关于光标
Ctrl+a 移动光标到行首。
Ctrl+e 移动光标到行尾。
Ctrl+f 光标向前移动一个字。
Ctrl+b 光标向后移动一个字。
Alt+a 光标向前移动一行。
Alt+e 光标向后移动一行。
Alt+f 光标向前移动一个词。
Alt+b 光标向后移动一个词。
Ctrl+v 向前翻页。
Alt+v 向后翻页。

   关于命令
Alt+x 执行命令。
Ctrl+u 重复执行后边的命令。
Ctrl+x ( 开始定义一个宏。
Ctrl+x ) 结束定义这个宏。
Ctrl+x e 执行刚定义的宏。

   关于文本
Ctrl+k 吞掉当前光标到行尾的字符。
Ctrl+y 吐出刚刚吞进的字符。
Alt+y 吐出吞进的别的字符。

   为了自己使用方便,我自己定义了一些快捷键。如果你看着哪个好玩一点,可以将它们按行写入你的用户目录下的.emacs文件中。它们是:
;;;;Ctrl+x Alt+r进入Shell
(define-key ctl-x-map "\M-r" 'shell)
;;;;Ctrl+x Alt+m编译文件
(define-key ctl-x-map "\M-m" 'compile)
;;;;Ctrl+x Alt+g调试程序
(define-key ctl-x-map "\M-g" 'gdb)
;;;;Ctrl+x Alt+q交互式替换字符串
(define-key ctl-x-map "\M-q" 'query-replace)

   下面这些东西,是我用于每次从Shell中Exit之后,自动关闭它的Buffer的。
;;;;关闭退出Shell的Buffer
(setq outline-minor-mode-prefix [(control o)])
(add-hook 'shell-mode-hook 'wcy-shell-mode-hook-func)
(defun wcy-shell-mode-hook-func ()
(set-process-sentinel (get-buffer-process (current-buffer))
         #'wcy-shell-mode-kill-buffer-on-exit)
   )
(defun wcy-shell-mode-kill-buffer-on-exit (process state)
   (message "%s" state)
   (if (or
   (string-match "exited abnormally with code.*" state)
   (string-match "finished" state))
   (kill-buffer (current-buffer))))

   Dos文本文档经常每行后面有个^M,下面这些东西可以互相转化Unix与Dos文本文件
    (defun dos-unix () (interactive)
    (goto-char (point-min))
    (while (search-forward "\r" nil t) (replace-match "")))
    (defun unix-dos () (interactive)
    (goto-char (point-min))
    (while (search-forward "\n" nil t) (replace-match "\r\n")))
   我的这些设置可以自动填加Perl源文件的文件头,你可以同样设置其它文件
    (defun insert_perl_head ()
    (interactive)
    (if (= (point-max) (point-min))
    (progn
    (insert "#!/bin/perl\n #This perl source code is for \n #Author:Alf\n #Email:[email protected]\n #Url:http://69.46.6.65/~alf/\n #If you find some bugs or have some advise to me, please contact me.")
    (previous-line 4))))
    (add-hook 'perl-mode-hook 'insert_perl_head)
--
永恒之女人,前進之力量。3B ~


页: [1]
查看完整版本: 常用的emacs快捷键[Zz]