`

emacs 常用命令与配置

 
阅读更多
原文地址:http://www.cnblogs.com/UnGeek/archive/2013/04/28/3049448.html



1. 为了用得顺手,需要把Caps Lock键设为Ctrl。Caps Lock功能则设到右手的Context Menu键上或Win键上。可使用KeyTweak工具来帮助改键,不嫌麻烦的话也可直接改注册表。

2. M-x按得不顺手(位置太近反而不好按),可以用ESC-X来代替,或者在.emacs中加入以下代码,把它设到C-X C-M与C-C C-M上,同时把C-X与C-C都设了可以防止不小心按错。

;;更顺手的M-x(可以用C-x C-m或C-c C-m来触发) 
(global-set-key "\C-x\C-m" 'execute-extended-command) 
(global-set-key "\C-c\C-m" 'execute-extended-command) 


3. 实际使用中经常需要使用系统剪贴板(与其他编辑器或浏览器互相复制粘贴),CUA模式对按键习惯影响太大,不想用。用鼠标中键可以粘贴,但太麻烦。可以在.emacs中加入以下代码,把C-c C-c设为复制到系统剪贴板,C-c C-v设为从系统剪贴板粘贴。

;;系统剪贴板快捷键(C-c C-c复制,C-c C-v粘贴) 
(global-set-key "\C-c\C-c" 'clipboard-kill-ring-save) 
(global-set-key "\C-c\C-v" 'clipboard-yank) 


4. C-z默认是挂起emacs,跳回到shell中,这对文本型的shell很有用。但在windows中,事实上变成了毫无实际意义的窗口最小化,浪费了C-z这么顺手的键。可以用以下代码把C-z改为一个类似C-x的组合起始键。

;;允许使用C-z作为命令前缀 
(define-prefix-command 'ctl-z-map) 
(global-set-key (kbd "C-z") 'ctl-z-map) 


5. 初用emacs时,配置方案还不稳定,经常需要打开~/.emacs来编辑,可以设定用C-z i快速打开~/.emacs文件。(需要上面第4点支持)

;;用C-z i快速打开~/.emacs文件。 
(defun open-init-file ( ) 
  (interactive) 
  (find-file "~/.emacs")) 
 
(global-set-key "\C-zi" 'open-init-file) 


6. 标记文本区域起始位置的按键命令是C-Space,在中文系统下被输入切换热键冲掉了。默认的候补方案是M-@,其实就是Alt-Shift-2,非常难按。我把它改为了C-c m。

;;C-Space被输入法占用,改用C-c m来标记文本块 
(global-set-key "\C-cm" 'set-mark-command) 


7. 大而无当的工具栏可以关掉,提供更大的编辑空间。

;;关闭toolbar 
(tool-bar-mode) 


8. 使用emacs时经常需要管理多个buffer,C-x C-b的默认界面太过简陋。emacs事实上已经提供了更好的buffer管理界面ibuffer,在配置文件中选用即可。

;;启用ibuffer支持,增强*buffer* 
(require 'ibuffer) 
(global-set-key (kbd "C-x C-b") 'ibuffer) 


9. 如果想临时开一个缓冲区来输入或暂存一些文本,只要按C-x b,然后胡乱输入一个名称(例如asdf)即可。但默认会使用没有什么功能的Fundamental-mode,可以将默认模式改为Text-mode,并自动打开Fill-mode。

;;默认进入text-mode,而不是没有什么功能的fundamental-mode 
(setq default-major-mode 'text-mode) 
(add-hook 'text-mode-hook 'turn-on-auto-fill) 


10. 用以下配置开启显示行号

;;显示行号 
(global-linum-mode 1) 


11. 用C-x C-f打开文件时默认路径是~,可以用以下配置来更改。

;;设置初始目录为rails项目目录 
(setq default-directory "d:\\rails") 


12. 编程时,一般采用utf-8编码,用以下代码配置。

;;设定语言环境为utf-8 
(setq current-language-environment "UTF-8") 
(setq default-input-method "chinese-py") 
(setq locale-coding-system 'utf-8) 
(set-terminal-coding-system 'utf-8) 
(set-keyboard-coding-system 'utf-8) 
(set-selection-coding-system 'utf-8) 
(prefer-coding-system 'utf-8) 


13. 用shell命令来进入shell mode,默认只能开启一个shell。事实上只要把shell所在的buffer改名(用rename-buffer或rename-uniquely 命令)即可。还嫌麻烦的话,可以在配置文件中定义一个新的newshell命令,在开启shell时询问buffer名称。

;;打开一个新的shell 
(defun newshell (name) 
  (interactive "sBuffer name: ") 
  (shell name) 



14. 刚上手时常用的按键命令记不住,可以自己写一个按键帮助文件(例如~/emacskeys.txt),用C-z k自动在一个新buffer中打开。(需要以上第4点支持)

;;用C-z k快速打开自定义的按键说明文件 
(defun open-key-info-file () 
  (interactive) 
  (split-window-horizontally) 
  (find-file-other-window "~/emacskeys.txt") 
  (outline-mode) 
  (hide-body)) 
 
(global-set-key "\C-zk" 'open-key-info-file) 


帮助文字自动进入Outline Mode,可以用C-c C-a命令来展开所有分类,用C-c C-t命令来收起所有分类(只显示标题),光标在某一个分类上时,可以用C-c C-e命令来查看本分类内容。详细命令可参考后面附文中的Outline Mode部分。(~/emacskeys.txt文件内容附在本文最后)

15. 在windows下,可以让emacs启动后自动最大化。可在配置文件的最后加入:

;;启动0.5秒后自动最大化 (windows下) 
(run-with-idle-timer 0.5 nil 'w32-send-sys-command 61488) 

为了避免其他第三方模块初始化时把窗口复原,这里设置了启动后延时0.5秒再最大化。

16. 在emacs中,如果同时打开了两个buffer,可以用C-M-v按键来让另一个窗口的内容向下翻页,而不改变光标的位置。在阅读文档时非常方便。

17. 最常用的移动光标方式,不是上下左右,而是C-s和C-r(增量查找)。


附常用按键命令列表(~/emacskeys.txt)
引用

* 移动快捷键
C-b :左移一个字符
C-f :右移一个字符
C-n :下移一行
C-p :上移一行

M-b :左移一个单词
M-f :右移一个单词

C-v :下移一屏幕
M-v :上移一屏幕
C-l :刷新屏幕并将光标所在行移到屏幕中央
C-u 0 C-l :刷新屏幕并将光标所在行移动到屏幕上端

C-a :移动到本行开始位置
C-e :移动到本行结束位置

M-a :移动到本句开始位置
M-e :移动到本句结束位置

M-{ :移动到前一自然段
M-} :移动到后一自然段

M-< :移动到文章开头
M-> :移动到文章结尾

M-x goto-line :移动到某一行

* 其他编辑
M-t :单词后移
C-t :字符后移
C-x C-t :行下移

C-x C-u :区域转大写
C-x C-l :区域转小写
M-u :光标至单词结尾转大写
M-l :光标至单词结尾转小写
M-c :首字大写

* 其他基本键
C-j :带缩进回车
M-x :执行函数
C-u :指定函数参数
C-g :中断命令
C-x u :undo
C-/ :undo
C-_ :undo
C-x C-0 :字体复原
C-x C-- :字体缩小
C-x C-= :字体增大

C-x C-z:暂停emacs应用
C-x C-c:关闭emacs应用

* 插入删除
<Delback> :删除光标左边字符
C-d :删除光标右边字符
M-z :删除到指定字符

M-<Delback> :删除光标左边单词
M-d :删除光标右边单词

c-k :从光标处删除至行尾
M-k :从光标处删除至句尾

C-S-<Delback> :删除本行

* 区域操作
M-@ :标记区域起点
M-h :标记一自然段
C-w :删除区域
M-y :将上一次yank所插入的内容改为yank缓冲区中更早的记录内容
C-x C-x :将当前光标与标记位置交换
M-w :缓存区域(以便后续yank)
C-x h :全选当前buffer

* 查找与替换
C-s :正向增量查找
C-r :反向增量查找
M-% :替换(带询问)
C-M-s Enter :正向正则表达式搜索
C-M-r Enter :反向正则表达式搜索
C-M-箭头 :继续正则表达式搜索
C-M-s :正向正则增量搜索
C-M-r :反向正则增量搜索
C-M-% :正则表达式替换(带询问)

M-s h l :高亮显示匹配指定正则表达式的行
M-s h r :高亮显示匹配指定正则表达式的文本
M-s h u :取消指定正则表达式的高亮

* Buffer操作
C-x 1 :当前buffer最大化,关闭其他窗口
C-x C-b :列出所有缓冲区
C-x b :打开指定缓冲区
C-x s :保存所有缓冲区
C-x C-<Left> :前一缓冲区
C-x C-<Right> :下一缓冲区
M-x revert-buffer :恢复当前缓冲区内容(放弃上一次保存之后的修改)
C-x k :删除指定缓冲区

* 文件操作
C-x C-f :查找并打开文件
C-x C-s :保存文件

* 窗口操作
C-x 2 :横向分割当前窗口
C-x 3 :纵向分割当前窗口
C-x o :移动到另一个窗口
C-x 0 :关闭当前窗口
C-x + :平均窗口大小
C-M-v :另一窗口下卷一屏幕
C-x 4 f :在另一窗口查找并打开文件
C-x 4 b :在另一窗口中打开一个buffer
<ESC> <ESC> <ESC> :退出窗口(当Frame中窗口大于一个时)

* Fill Mode
C-x f :设置每行字符数
M-q :对本自然段重新排版

M-o M-s :本行居中
M-o M-S :自然段居中

* 帮助
C-h m :当前major mode的说明
C-h b :键盘命令绑定列表
C-h k :键盘命令帮助
C-h c :键盘命令简明帮助
C-h f :函数帮助
C-h a :函数查找
C-h i :阅读手册

* Outline Mode
C-c C-b :前一同级章节
C-c C-f :后一同级章节

C-c C-p :前一章节
C-c C-n :后一章节

C-c C-u :上一级章节

C-c C-t :令所有除标题外的文字不可见
C-c C-a :显示所有文字
C-c C-q :令前N级的文字可见

C-c C-d :隐藏当前章节的文字和子章节
C-c C-s :显示当前章节的文字和子章节
C-c TAB :显示当前章节的直接子章节标题
C-c C-c :隐藏当前章节的文本
C-c C-e :显示光标所在位置内容
C-c C-l :隐藏光标所在章节的文本和子章节的文本
C-c C-k :显示所有子章节的标题
* Abbrev Mode
C-x a l :将当前光标之前的单词添加为当前Mode的Abbrev
C-x a e :展开Abbrev
C-x ' :展开Abbrev
M-' :标记Abbrev前缀
C-x a g :将当前光标之前的单词添加为全局的Abbrev
C-x a n :跳到Abbrev的下一个slot
C-x a p :跳到Abbrev的上一个slot

* Shell Mode
M-p :向前滚动历史输入记录
M-n :向后滚动历史输入记录
C-c C-p :光标移动到上一次输入位置
C-c C-n :光标移动到下一次输入位置
C-c C-o :清除上一次执行的输出
C-c C-r :光标移动到上一次执行的输出开始位置
C-c C-u :清空本次输入
C-c C-s :保存上一次执行的输出结果
C-c 空格 :换行但不执行(一次性执行多个命令)
C-c . :将历史输入作为参数插入到当前位置
M-r :增量搜索历史输入记录
C-c M-r :根据当前输入内容在历史输入中反向搜索
C-c M-s :根据当前输入内容在历史输入中正向搜索
C-c C-c :中断任务(相当于shell中的Ctrl-C)
C-c C-d :发送eof字符
分享到:
评论

相关推荐

    EMACS常用操作命令_VerilogEMACS_

    8. **快捷键绑定**:通过`.emacs`配置文件,你可以自定义快捷键,例如设置`C-c` `C-v`为插入Verilog模块模板。 9. **项目管理**:使用 Projectile 或 ECB 等插件进行项目导航和管理,快速定位文件和函数。 10. **...

    emacs编辑命令速查手册

    这些命令涵盖了Emacs中最常用的文件处理、光标移动以及文本编辑功能,熟练掌握它们可以极大地提高工作效率。通过持续练习和使用这些快捷键,您可以更快地完成编辑任务,并更好地利用Emacs的强大功能。

    emacs常用配置需要的文件

    在“emacs常用配置”这一主题下,我们将探讨如何设置和优化Emacs以提高编程和文本编辑效率。 首先,我们需要了解Emacs配置的基本结构。Emacs的配置通常保存在`~/.emacs`或`~/.emacs.d/init.el`文件中,这是Emacs...

    emacs基本命令

    ### Emacs基本命令详解 #### 一、概述 Emacs是一款高度可配置且功能强大的文本...以上介绍了Emacs编辑器中常用的一些基本命令,熟练掌握这些命令能够极大地提高工作效率。希望本指南能帮助您更好地理解和使用Emacs。

    emacs使用手册和常用命令

    在本文中,我们将深入探讨Emacs的基本使用、常用命令以及如何查阅使用手册。 1. **Emacs基本概念** - **窗口与缓冲区**:在Emacs中,一个窗口可以显示多个缓冲区,缓冲区是存储文本的地方,而窗口则是显示缓冲区...

    Emacs配置与插件

    本文将深入探讨Emacs的配置与插件使用,帮助新手快速上手。 首先,我们要明白Emacs的基本配置是提升其用户体验的关键。在Emacs中,配置主要通过`.emacs`或`.emacs.d`目录下的文件进行。`.emacs`文件是一个Lisp脚本...

    emacs快捷键表/命令

    本文将详细介绍Emacs的一些常用命令与快捷键,帮助你更快地入门并熟练使用这一强大的文本编辑工具。 #### 基本操作 - **启动与退出** - 启动:在终端中输入`emacs`即可启动。 - 退出:按下`C-x C-c`组合键来退出...

    emacs用法和实用命令

    #### 二、核心功能与常用命令详解 ##### 1. 文件操作 Emacs提供了多种用于文件管理的命令,方便用户进行文件的查找、打开、保存和关闭等操作。 - **C-x C-f**:查找并打开文件。此命令会在新的缓冲区中打开文件,...

    emacs配置IDE

    其中,最常用的是`ESS`(Emacs Speaks Statistics)用于R语言,`AUCTeX`用于LaTeX,`CEDET`( Comprehensive Emacs Development Environment Tools)用于代码分析和自动完成,以及` Projectile`用于项目管理。...

    EMACS 的 VIPOR 模式命令卡片

    本篇文章将详细介绍 VIPOR 模式中的关键概念和常用命令。 #### 二、加载 VIPOR 模式 要启用 VIPOR 模式,有两种方法: 1. **临时启动**:在 Emacs 中直接输入 `M-x viper-mode` 后按回车键。 2. **永久设置**:在...

    三本emacs书籍:生存于emacs+生活于emacs+emacs手册

    《GNU Emacs Pocket Reference》则是一本实用的手册,提供快速参考信息,帮助用户查找常用命令和功能。这本书通常以紧凑的形式列出Emacs的关键操作,包括文本操作、搜索和替换、缓冲区和窗口管理,以及各种模式的...

    emacs 配置

    例如,你可以创建一个函数用于批量重命名文件,或者创建一个快捷方式来执行常用的Git命令。这些小函数能够个性化你的Emacs环境,提高生产力。 在配置Emacs时,避免使用像ECB(Emacs Code Browser)和CEDET这样的...

    emacs的配置文件

    7. **个性化设置**:颜色主题、字体选择、提示信息的样式等都可以在配置文件中进行定制,使Emacs更具个性化。 总的来说,Emacs的配置文件是实现个性化和高效编程的关键,通过对`pp_emacs`的深入理解和应用,用户...

    git emacs purcell 配置

    总的来说,"git emacs purcell 配置" 主题涵盖了 Git 版本控制与 Emacs 编辑器的结合,特别是通过 Purcell 的精心配置,让开发者能够在一个统一、强大且高效的环境中进行软件开发。通过深入理解和应用这些配置,可以...

    常见Emacs命令整理

    本文将详细介绍Emacs中的一些常用命令,这些命令可以帮助用户提高编辑效率,更好地管理文档。 #### 基本命令 - **C-x C-c**: 用于退出Emacs。 - **C-x C-f**: 打开或创建文件。如果指定的文件不存在,Emacs将创建...

    我的emacs配置文件 linux

    10. **其他配置**:例如设置自动保存、备份、临时文件路径、自动缩进等,都是常用且实用的配置。 至于`.emacs.d`目录,其内部结构可能包括以下内容: 1. **初始化文件**:如`init.el`,这是Emacs的另一个初始化...

    emacs完整配置

    3. **插件安装与管理**:Emacs社区开发了大量插件,如AucTeX用于LaTeX编辑,Magit用于Git版本控制,Prelude和Spacemacs是流行的配置集合。`mymacs`可能已经包含了这些插件的安装和配置代码,使得用户可以直接享受...

    emacs配置好了的

    "emacs配置好了的"指的是已经预先配置好了一套完整的设置,使得用户可以直接使用,而无需从零开始进行复杂的个性化配置。 配置好的Emacs通常包括以下方面的优化: 1. **快捷键绑定**:预设了常用操作的快捷键,如...

    emacs 配置,cedet

    Emacs的配置文件(通常为`.emacs`或`.init.el`)是这一切的核心,它记录了所有的个性化设置和插件加载逻辑。 总的来说,Emacs配置涉及的不仅仅是安装和启用插件,更重要的是根据个人习惯和需求进行定制,以实现最...

Global site tag (gtag.js) - Google Analytics