QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2123|回复: 0

常用的emacs快捷键[Zz]

[复制链接]
发表于 2006-12-12 21:41:37 | 显示全部楼层 |阅读模式
注意:下面每一个快捷键,都可以自由的换成你自己使用的用舒服的键上。

     关于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 ~

※ 来源:·浙江大学海纳百川站 bbs.zju.edu.cn·[FROM: 10.214.18.21]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-3-28 18:47 , Processed in 0.080745 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表