HOME | Links | About | Read

Emacs笔记

不是教程,非常不完整 文末我贴了几个不错的链接

Table of Contents

markdown-mode编辑快捷键

  • `C-c C-t n`插入hash样式的标题,其中n为1-5,表示第一级到第五级标题
  • `C-c C-t t`插入ubderline样式的一级标题
  • `C-c C-t s`插入underline样式的二级标题
  • `C-c C-a l`插入链接
  • `C-c C-i i`插入图像
  • `C-c C-s b`插入引用内容
  • `C-c C-s c`插入代码
  • `C-c C-p b`加粗
  • `C-c C-p i`斜体
  • `C-c -` 插入水平线

S-TAB可以在大纲视图,目录视图及正常视图之间切换

常用的Emacs缓冲区命令

  • `C-x C-s`保存当前缓冲区
  • `C-x C-c`要求将未保存的缓冲区保存,并退出
  • `C-x C-c`挂起Emacs并使成为后台进程
  • `C-x k`杀死一个缓冲区
  • `C-x C-q`切换当前状态的可读状态
  • `C-x i`在插入点插入文件的内容
  • `C-x b`切换缓冲区

连续按两次`C-x C-z`会出现异常

常用的Emacs编辑命令

  • `C-d`删除插入点的字符
  • `M-d`从插入点开始向后删除字符,直到单词结尾
  • `M-Backspace\M-del`从插入点开始向前删除字符,直到单词开头
  • `C-\C-x u`撤销上一次的键入或者操作
  • `C-g C-`恢复键入和操作
  • `C-u 次数 命令`按总的次数(默认4次)连续执行命令
  • `M-m`跳转到行首的非空字符
  • `M->\M-<`跳转到文末和文首

`C-u 次数 命令`如果命令为移动命令,就可以快速的移动光标

文本调换

  • `C-t`调换字母
  • `M-t`调换单词
  • `C-x C-t`调换行
  • `C-u 2 C-x C-t`连续调换两次

转换大小写

  • `M-u`将光标处到光标词尾的所有文本转换为大写
  • `M-l`将光标处到光标词尾的所有文本转换为小写
  • `M-c`转换所在处字母大小写并调到词尾

`C-o`在光标下方打开一个新行而不移动光标

缩进和填充文本

  • `C-s 【字符串】【C-w】【C-y】`向前搜索字符串(默认为上一次的搜索字符串),`C-w`使用光标到词尾的文本,`C-y`使用光标到行尾的文本。
  • `C-r 【字符串】【C-w】【C-y】`向后,同上
  • `C-s Enter C-w 单词或者短语`向前搜索单词和短语(不管他们之间的间隔)
  • `C-r Enter C-w 单词或者短语`向后,同上
  • `C-M-s/C-M-r`向前和向后搜索正则表达式
  • `M-%`向后搜索字符串,并询问替换
  • `C-M-%`向后搜索正则表达式,并询问替换

高级文本操作

  • `M-n 【操作】`重复执行操作n次
  • `M-4 space`输入4个空格
  • `M-5 C-n`向下移动5行

执行一个命令,然后`C-x z`重复执行一次,接着就可以通过键入z来反复执行这个命令。 `C-u n`也可以重复执行一个命令

命令行选项

  • `emacs +number 文件名`打开文件移动到number的行
  • `emacs +3:12 文件名`打开文件,并移动到第3行的第12个字符
  • `emacs -nw`以终端模式启动

书签

  • `C-x r m bookmark`设置一个名为bookmark的书签
  • `C-x r l`列出所有已保存的书签
  • `函数bookmark-delete`删除一个书签
  • `C-x r b bookmark`跳转到名为bookmark的书签所设置的位置
  • `函数bookmark-save`将所有的书签保存到书签文件~/.emacs.bmk

窗口操作

  • `C-x 2`水平划分窗口
  • `C-x 4 c-o`在另一个窗口显示一个缓冲区(同时保留当前窗口为活动)
  • `C-x 4 b`将窗口水平划为2半,并将其作为活动区
  • `C-x 4 f`在新的缓冲区打开新的文件,水平划分
  • `C-x 4 r`在新的只读缓冲区打开新的文件,水平划分
  • `C-M-v`滚动到下一个由`C-x o`切换到的窗口
  • `C-x o`光标移动到下一个窗口
  • `C-x b`切换到当前窗口的另一个缓冲区
  • `C-x 0`删除当前窗口,并将光标移动到使用`C-x o`切换到下一个窗口
  • `C-x 1`删除当前窗口之外的所有窗口
  • `C-x 4 0`删除当前窗口,并剪切它的缓冲区
  • `C-x 3`垂直划分窗口
  • `C-x `使当前窗口增加一行的高度
  • `C-x }/C-x {`使当前窗口减少或者增加一列的宽度
  • `C-x -`缩小当前窗口到最小尺寸
  • `C-x +`平衡所有窗口尺寸,使它们大小大致相等
  • `函数compare-windows`当前窗口和下一个窗口进行比较

Emacs框架操作命令

  • `C-x 5 2`生成一个新的Emacs框架,并使其成为活动框架
  • `C-x 5 b`在另一个框架中打开指定的缓冲区,不存在其他框架,则创建
  • `C-x 5 f`在另一个框架打开指定文件,不存在其他框架,则创建
  • `C-x 5 r`在另一个框架只读缓冲区打开指定文件,不存在其他框架,则创建
  • `C-x 5 o`移动到下一个框架,并使下一个框架成为活动框架
  • `C-x 5 0`删除当前框架,并使其成为活动框架
  • `C-x 5 1`删除当前框架之外的所有框架
  • `C-z`图标化当前框架,如果已图标化,则取消它的图标化

链接