Emacs快捷键 绑定 中文

原文地址:http://hi.baidu.com/lhaix/blog/item/e803d9d02736b098a0ec9c16.html

快捷键

GNU Emacs的快捷键都是绑定于CTRL键和ALT键上。每个快捷键对应一个指令名称,也就是一个对应的函数名称,这允许你根据不同的喜好将快捷键绑定到不同的指令名称。另外,在Emacs中有很多的指令没有绑定快捷键,我们可以通过M-x 指令名称来执行指令。例如,全文替换我们可以使用M-x replace-strings。这样,很多没有绑定快捷键的功能都可以用到了。

基本操作

表1是基本操作指令列表。

C-SPset-mark-command设置标记C-qquoted-insert插入引用
C-abeginning-of-line移动到行首C-risearch-backward向前查找
C-bbackward-char向前移动一个字符C-sisearch-forward向后查找
C-ttranspose-chars掉换前后二个字符位置C-ddelete-char删除一个字符
C-eend-of-line移动到行尾C-vscroll-up向下滚动一屏
C-fforward-char向后移动一个字符C-wkill-region删除选定区域
C-x <scroll-left向左移动一屏C-x >scroll-right向右移动一屏
TABforward-button缩进C-yyank粘贴
C-zsuspend-frame暂停emacsC-nnext-line移动到下一行
C-kkill-line删除一行ESCESC-prefix取消前缀
C-oopen-line增加一行DELdelete-backward-char向前删除一个字符
C-pprevious-line向上移动一行C-zsuspend-emacs暂停Emacs
C-_undo取消C-lrecenter使光标所在行变为屏幕中央

帮助

表2是帮助指令列表。

C-h wwhere-is查看命令菜单位置或者绑定热键C-h kdescribe-key查看热键详细功能描述
C-h thelp-with-tutorial查看Emacs教程C-h cdescribe-key-briefly查看热键简单功能描述
C-h nview-emacs-news浏览Emacs新闻C-h bdescribe-bindings查看绑定热键
C-h mdescribe-mode查看编辑模式C-h C-c查看许可证信息
C-h ?help-for-help查看帮助列表

缓冲区操作

表3是缓冲区操作指令列表。

C-x C-dlist-directory列出当前目录C-x =what-cursor-position显示当前光标所在位置
C-x C-ffind-file查找文件C-x TABindent-rigidly强制缩进
C-x C-odelete-blank-lines删除空白行C-x blist-buffers打开另外一个缓冲区
C-x C-pmark-page全选C-x C-rfind-file-read-only以只读方式打开文件
C-x C-ssave-buffer保存当前缓冲区C-x iinsert-file插入文件
C-x C-ttranspose-lines掉换前后行位置C-x hmark-whole-buffer标记当前全部缓冲区
C-x C-vfind-alternate-file打开另外一个文件,关闭缓冲区C-x lcount-lines-page计算当前缓冲区行数
C-x C-wwrite-file保存缓冲区内容到文件C-x kkill-buffer关闭缓冲区
C-x mmail写EmailC-x 4 mmail-other-window打开新窗口写Email
C-x ssave-some-buffers保存多个文件C-x uadvertised-undo取消上一步操作

宏操作

表4是宏操作指令列表。

C-x (start-kbd-macro开始录制宏C-x )end-kbd-macro结束宏录制
C-x ecall-last-kbd-macro执行上一次绑定的宏命令

窗口操作

表5是窗口操作指令列表。

C-x 0delete-window关闭当前窗口C-x 1delete-other-windows保留当前窗口,关闭其他窗口
C-x 2split-window-vertically水平分割窗口C-x 3split-window-horizontally垂直分割窗口

C语言编程模式

表6是C语言编程模式的指令列表。

M-abackward-sentence移动到语句开头M-eforward-sentence移动到语句结尾
C-M-abeginning-of-defun移动到函数开头C-M-eend-of-defun移动到函数结尾

SGML语言编程模式

表7是SGML语言编程模式指令列表。

C-c C-tsgml-tag插入标记C-c C-asgml-attributes插入属性
C-c C-bsgml-skip-tag-backward移动到前一个标记C-c C-fsgml-skip-tag-forward移动到后一个标记
C-c DELsgml-delete-tag删除一个标记

版本控制命令

表8是版本控制指令列表。

C-x v dvc-directory列出目录下修改过的文件C-x v =vc-diff显示改动
C-x v lvc-print-log显示改动历史记录C-x v ivc-register加入文件到版本控制中
C-x v hvc-insert-headers插入版本控制信息C-x v rvc-retrieve-snapshot取某一版本文件
C-x v vvc-next-action进入提交改动状态

GNU Emacs扩展

Emacs Lisp语言介绍

有用的GNU Emacs扩展

写一个GNU Emacs扩展

这里我们自己动手写一个GNU Emacs扩展,实现复制一行的功能。下面是实现这个扩展的代码。

(defun copy-line (&optional arg) "Save current line into Kill-Ring without mark the line" (interactive "P") (let ((beg (line-beginning-position)) (end (line-end-position arg))) (copy-region-as-kill beg end)))

将上面这段代码拷贝到.emacs中,就可以开始使用这个功能了。

.emacs文件样例

;;显示时间(display-time);;显示行号(column-number-mode t)(show-paren-mode t) ;;设置TAB宽度为4(setq default-tab-width 4) ;;以下设置缩进 (setq c-indent-level 4) (setq c-continued-statement-offset 4)(setq c-brace-offset -4) (setq c-argdecl-indent 4)(setq c-label-offset -4)(setq c-basic-offset 4) (global-set-key "\C-m" 'reindent-then-newline-and-indent) (setq indent-tabs-mode nil)(setq standard-indent 4);;开启语法高亮。 (global-font-lock-mode 1) ;;设置默认工作目录 (setq default-directory "/home/test/source/") ;; 去掉滚动条(set-scroll-bar-mode nil) ;;关闭开启画面(setq inhibit-startup-message t) (setq indent-tabs-mode t);;不产生备份文件 (setq make-backup-files nil) ;;设置自定义变量(custom-set-variables '(column-number-mode t)'(current-language-environment "UTF-8") '(display-time-mode t)'(ecb-options-version "2.32") '(mouse-1-click-in-non-selected-windows t)'(mouse-drag-copy-region t) '(mouse-yank-at-point t)'(save-place t nil (saveplace))'(show-paren-mode t) '(transient-mark-mode t))(custom-set-faces;;选择小工具栏图标(tool-bar-mode -1)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值