EmacsNote
Table of Contents 1 常用的快捷键 2 C-x b 3 移动窗口大小 4 Bookmark 5 Macros 6 缩进 7 Center 8 Outline-Mode 9 Rectangleset 10 寄存器 11 dired 12 C/C++编辑模式 13 Auctex 14 Org-mode 15 Emacs中插入当前时间: 16 Emacs中为每行插入行号 1 常用的快捷键 C-M \ 缩进每个前面有空格的行 C-x Tab 缩进(前面可以加C-u n) C-o 光标下增加一个空行 C-M o光标下增加一个空行,光标右边的文字平行下移 C-x C-o删除光标附近的所有空行 C-^ 光标所在的行与上一行合并 M-\删除光标附近的所有空格 M-spc 删除光标附近的空格,仅剩下一个空格 单词 M-u全部大写 M-l全部小写 M-c首字母大写 区域 C-x C-u C-x C-l C-y 可以多次粘贴最后一次kill的内容 C-y M-y可以选择kill-ring里面的内容 C-x C-v打开一个文件取代当前的缓冲区 C-x ESC ESC 结合M-p M-n选择历史命令 2 C-x b % 标记为只读 d 标记为删除 s 标记为保存 x执行 m 作标记 按v则依次将m标记的在不同的水平窗口中显示出来 1 将当前选中的全屏显示 C-x C-b 打开buffer列表 C-x f 将当前选中的buffer在当前的windows可显示 C-x o 将当前选中的在另一个windows中显示 且光标置于新的windows 上 C-x C-o 将当前选中的在另一个windows中显示 且光标位置不变 3 移动窗口大小 在多个Vertical Windows的情况下: C-x > C-x <水平滚动 C-x ^ 竖直方向上扩大窗口 C-x { 缩小窗口 C-x } 扩大窗口 C-x + 使两个窗口恢复大小相同 C-x -使窗口调整到合适的大小 刚好容纳buffer 4 Bookmark C-x r l 在窗口中列出所有的 Bookmark C-x r m 设置Bookmark C-x r b 查找Bookmark M-x Bookmark-delete 删除 M-x Bookmark-rename 重命名 M-x Bookmark-save 保存对Bookmark的设置 除在Buffer窗口可以用的外还有 w 显示此Bookmark所在文件的路径 理解为way l 显示此Bookmark是从哪个文件中加载的 理解为load r 为此Bookmark重命名 理解为Rename a 仅显示此Bookmark的注释 理解为anotation A 显示所有Bookmark的注释 e 理解为edit 为此Bookmark添加注释 5 Macros F3 or C-x ( %开始编辑Macro F4 or C-x ( %退出编辑Macro F4 or C-x x %执行最近的一次Macro C-x C-k e %开始编辑现存的Macro {{ C-x e % 编辑最近的一次Macro }} C-x C-k C-d 删掉最近一次Macro C-x C-k C-p 上一个Macro C-x C-k C-n 下一个Macro C-x C-k C-t 交换两个Macro的位置 C-x C-k n 为一个Macro命名 此后便可以用M-x name来执行这个Macro 要想永久性地使用这个Macro 1.可以把它写在.emacs里面,打开.emacs后 M-x insert-kbd-macro 再输入name 2.可以添加如下语句(global-set-key "\C-x\C-kT" 'transpose-names) 3.若上面的语句不在.emacs里面添加也可以,不过要在.emacs里面加上你所写进的文件名 如下:(load-file "~/macros/html.macs") 递归模式 TextA C-u C-x q 进入递归编辑模式 TextB C-M c 退出递归编辑模式 TextC 在Macro编辑的时候TextB不算作是Macro的一部分 调用Macro的时候先显示TextA,再等待user输入,user按C-M c退出再显示TextC Query模式 在想要Query的地方按键C-x q 则当Macro执行到此处的时候将会query y n enter C-r C-l y 表示继续 n与enter都停止执行 C-r 进入递归模式 允许user输入自己的text,C-M c退出递归模式 并继续query C-l 与普通的一样 方便user查看已编辑过的文本 Region编辑 选中region C-x C-k r 则可以对此region的text进行macro操作 注意区别:此时的macro不需要换行,会自动换行 6 缩进 C-x Tab 将选中的Region缩进一个Space Tab 将选中的Region缩进8个Space M-m 将Cursor移动到一行的第一个非空字符 C-M o 将Cursor后面的Text另起一行,且位置不变 选中Region M-x increase-left-margin 使整个选中的Text左移4个字符 increase-right-margin decrease-left-margin decrease-right-margin 7 Center M-o M-s Center-line 将一行放在该行中间 M-o M-S Center-paragraph 段放在中间 Center-Region 将选中的Region放在中间 8 Outline-Mode 第一等级有一个asterisk 第二等级有两个asterisk …… 此模式下所有快捷键都是以C-c开头的 C-c C-n 移动到该等级的下一个等级 C-c C-p 移动到该等级的上一个等级 C-c C-f 移动到与该等级相同的下一个等级 C-c C-b 移动到与该等级相同的下一个等级 C-c C-u 移到到该等级的上一个等级 C-c C-a 显示所有的Text C-c C-t 隐藏所有的文本只显示heading C-c C-q 只显示第一等级 C-c C-^ 该等级与同等级的上一个交换位置 包括body C-c C-v 该等级与同等级的下一个交换位置 包括body 9 Rectangleset 均以C-x r打头 C-x r k kill C-x r y yanking C-x r d delete 删掉 C-x r c clear 只是清成空白,并不删掉 C-x r o open rectangle C-x r r char 将rectangle里的内容粘贴到register r里面 其中寄存器可以用任何character来表示 C-x r i char 将register r里面的内容粘贴到光标所的地方的rectangle里面 C-x r t string 将选中rectangle的第一行都用string替换 10 寄存器 C-x r s copy-to-register region C-x r r copy-rectangle-to-registe C-x r space pointer-to-register C-x r j jump-to-register C-x r i insert-register 恢复寄存器中的文本 M-x view-register 11 dired C-x d进入目录操作模式,与C-x C-b操作相似 d标记删除 x执行操作 D立刻删除 v阅读 +新建新建文件 Z解压或者压缩文件 s按日期/文件名排列 C拷贝 R重命名 m标记文件 如果前面有n则标记从光标所在文件的后n个文件 u取消标记 如果前面有n则取消标记从光标所在文件的后n个文件 q退出 12 C/C++编辑模式 M ; comment line M-j comment-indent-new-line新起一行并indent,若上行commnet,则下一行也comment. C-c C-c comment region C-u C-c C-c uncomment region M \ delete the whitespace in the head C-M h mark the function you are in C-x spc delete the whitespaces but leave one in the head of the line you are in C-M-p Move forward over a parenthetical group C-M-n Move backward over a parenthetical group C-M-u Move up a parenthesis structure C-M-d Move down a parenthesis structure C-c C-q indent the function you are in C-c C-n move forward across a preprocessor condtional C-c C-p move backward across a preprocessor condtional 13 Auctex C-c ret 插入命令 C-c C-m 同上 C-c C-s 插入part chapter section subsection paragraph subparagraph C-c C-j 或者是 M-ret 插入item C-c C-e environmet C-c { 自动补全括号 C-c ] 自动完成环境 C-c ; comment or uncomment region C-c % comment or uncommentparagraph C-c C-f C-i italic C-b bold face C-s slanted C-e emph C-r roman C-f Sans Serif C-c Small Cups C-t Typewriter 字体命令前面加上C-u 就是替换 C-c C-f C-d 删除字体 C-c C-q C-e format environmet C-s format section C-p C-p format paragraph C-r C-rformat region C-M-a 环境的开始 C-M-e 环境的结束 C-c ` next error C-c C-r compile region C-c C-v quick view 14 Org-mode C-u C-u C-u <TAB> show all %#+BEGIN_EXAMPLE 中间的格式不变 %#+END_EXAMPLE %#+OPTIONS: "\n:t" 使换行有效 %#+BEGIN_EXAMPLE -t //-t参数使在出现框里 还可以用-h -w指定高宽 (defun org-xor (a b) "Exclusive or." (if a (not b) b)) %#+END_EXAMPLE 15 Emacs中插入当前时间: C-u M-! date 16 Emacs中为每行插入行号 C-x h 全选 C-u M-| 对region实行shell command (只有M-|则不会对region有所影响) cat -n 显示行号 或者 C-u M-! cat -n filename(你想要显示行号的文件名) Author: visaya<[email protected]> Date: 2011-07-24 16:44:17 CST HTML generated by org-mode 6.33x in emacs 23
Org-mode的源文件。
CSDN的博客怎么回事!!!???
#+ OPTIONS: "\n:t"
EmacsNote
* 常用的快捷键
#+BEGIN_EXAMPLE
C-M \ 缩进每个前面有空格的行
C-x Tab 缩进(前面可以加C-u n)
C-o 光标下增加一个空行
C-M o光标下增加一个空行,光标右边的文字平行下移
C-x C-o删除光标附近的所有空行
C-^ 光标所在的行与上一行合并
M-\删除光标附近的所有空格
M-spc 删除光标附近的空格,仅剩下一个空格
单词 M-u全部大写
M-l全部小写
M-c首字母大写
区域 C-x C-u
C-x C-l
C-y 可以多次粘贴最后一次kill的内容
C-y M-y可以选择kill-ring里面的内容
C-x C-v打开一个文件取代当前的缓冲区
C-x ESC ESC 结合M-p M-n选择历史命令
#+END_EXAMPLE
* C-x b
#+BEGIN_EXAMPLE
% 标记为只读
d 标记为删除
s 标记为保存 x执行
m 作标记 按v则依次将m标记的在不同的水平窗口中显示出来
1 将当前选中的全屏显示
C-x C-b 打开buffer列表
C-x f 将当前选中的buffer在当前的windows可显示
C-x o 将当前选中的在另一个windows中显示 且光标置于新的windows 上
C-x C-o 将当前选中的在另一个windows中显示 且光标位置不变
#+END_EXAMPLE
* 移动窗口大小
#+BEGIN_EXAMPLE
在多个Vertical Windows的情况下:
C-x > C-x <水平滚动
C-x ^ 竖直方向上扩大窗口
C-x { 缩小窗口
C-x } 扩大窗口
C-x + 使两个窗口恢复大小相同
C-x -使窗口调整到合适的大小 刚好容纳buffer
#+END_EXAMPLE
* Bookmark
#+BEGIN_EXAMPLE
C-x r l 在窗口中列出所有的 Bookmark
C-x r m 设置Bookmark
C-x r b 查找Bookmark
M-x Bookmark-delete 删除
M-x Bookmark-rename 重命名
M-x Bookmark-save 保存对Bookmark的设置
除在Buffer窗口可以用的外还有
w 显示此Bookmark所在文件的路径 理解为way
l 显示此Bookmark是从哪个文件中加载的 理解为load
r 为此Bookmark重命名 理解为Rename
a 仅显示此Bookmark的注释 理解为anotation
A 显示所有Bookmark的注释
e 理解为edit 为此Bookmark添加注释
#+END_EXAMPLE
* Macros
#+BEGIN_EXAMPLE
F3 or C-x ( %开始编辑Macro
F4 or C-x ( %退出编辑Macro
F4 or C-x x %执行最近的一次Macro
C-x C-k e %开始编辑现存的Macro
{{
C-x e % 编辑最近的一次Macro
}}
C-x C-k C-d 删掉最近一次Macro
C-x C-k C-p 上一个Macro
C-x C-k C-n 下一个Macro
C-x C-k C-t 交换两个Macro的位置
C-x C-k n 为一个Macro命名 此后便可以用M-x name来执行这个Macro
要想永久性地使用这个Macro
1.可以把它写在.emacs里面,打开.emacs后 M-x insert-kbd-macro
再输入name
2.可以添加如下语句(global-set-key "\C-x\C-kT" 'transpose-names)
3.若上面的语句不在.emacs里面添加也可以,不过要在.emacs里面加上你所写进的文件名
如下:(load-file "~/macros/html.macs")
递归模式
TextA
C-u C-x q 进入递归编辑模式
TextB
C-M c 退出递归编辑模式
TextC
在Macro编辑的时候TextB不算作是Macro的一部分
调用Macro的时候先显示TextA,再等待user输入,user按C-M c退出再显示TextC
Query模式
在想要Query的地方按键C-x q
则当Macro执行到此处的时候将会query
y n enter C-r C-l
y 表示继续
n与enter都停止执行
C-r 进入递归模式 允许user输入自己的text,C-M c退出递归模式 并继续query
C-l 与普通的一样 方便user查看已编辑过的文本
Region编辑
选中region C-x C-k r 则可以对此region的text进行macro操作
注意区别:此时的macro不需要换行,会自动换行
#+END_EXAMPLE
* 缩进
#+BEGIN_EXAMPLE
C-x Tab 将选中的Region缩进一个Space
Tab 将选中的Region缩进8个Space
M-m 将Cursor移动到一行的第一个非空字符
C-M o 将Cursor后面的Text另起一行,且位置不变
选中Region M-x
increase-left-margin 使整个选中的Text左移4个字符
increase-right-margin
decrease-left-margin
decrease-right-margin
#+END_EXAMPLE
* Center
#+BEGIN_EXAMPLE
M-o M-s Center-line 将一行放在该行中间
M-o M-S Center-paragraph 段放在中间
Center-Region 将选中的Region放在中间
#+END_EXAMPLE
* Outline-Mode
#+BEGIN_EXAMPLE
第一等级有一个asterisk 第二等级有两个asterisk ……
此模式下所有快捷键都是以C-c开头的
C-c C-n 移动到该等级的下一个等级
C-c C-p 移动到该等级的上一个等级
C-c C-f 移动到与该等级相同的下一个等级
C-c C-b 移动到与该等级相同的下一个等级
C-c C-u 移到到该等级的上一个等级
C-c C-a 显示所有的Text
C-c C-t 隐藏所有的文本只显示heading
C-c C-q 只显示第一等级
C-c C-^ 该等级与同等级的上一个交换位置 包括body
C-c C-v 该等级与同等级的下一个交换位置 包括body
#+END_EXAMPLE
* Rectangleset
#+BEGIN_EXAMPLE
均以C-x r打头
C-x r k kill
C-x r y yanking
C-x r d delete 删掉
C-x r c clear 只是清成空白,并不删掉
C-x r o open rectangle
C-x r r char 将rectangle里的内容粘贴到register r里面 其中寄存器可以用任何character来表示
C-x r i char 将register r里面的内容粘贴到光标所的地方的rectangle里面
C-x r t string 将选中rectangle的第一行都用string替换
#+END_EXAMPLE
* 寄存器
#+BEGIN_EXAMPLE
C-x r s copy-to-register region
C-x r r copy-rectangle-to-registe
C-x r space pointer-to-register
C-x r j jump-to-register
C-x r i insert-register 恢复寄存器中的文本
M-x view-register
#+END_EXAMPLE
* dired
#+BEGIN_EXAMPLE
C-x d进入目录操作模式,与C-x C-b操作相似
d标记删除 x执行操作
D立刻删除 v阅读
+新建新建文件 Z解压或者压缩文件
s按日期/文件名排列
C拷贝
R重命名
m标记文件 如果前面有n则标记从光标所在文件的后n个文件
u取消标记 如果前面有n则取消标记从光标所在文件的后n个文件
q退出
#+END_EXAMPLE
* C/C++编辑模式
#+BEGIN_EXAMPLE
M ; comment line
M-j comment-indent-new-line新起一行并indent,若上行commnet,则下一行也comment.
C-c C-c comment region
C-u C-c C-c uncomment region
M \ delete the whitespace in the head
C-M h mark the function you are in
C-x spc delete the whitespaces but leave one in the head of the line you are in
C-M-p Move forward over a parenthetical group
C-M-n Move backward over a parenthetical group
C-M-u Move up a parenthesis structure
C-M-d Move down a parenthesis structure
C-c C-q indent the function you are in
C-c C-n move forward across a preprocessor condtional
C-c C-p move backward across a preprocessor condtional
#+END_EXAMPLE
* Auctex
#+BEGIN_EXAMPLE
C-c ret 插入命令
C-c C-m 同上
C-c C-s 插入part chapter section subsection paragraph subparagraph
C-c C-j 或者是 M-ret 插入item
C-c C-e environmet
C-c { 自动补全括号
C-c ] 自动完成环境
C-c ; comment or uncomment region
C-c % comment or uncommentparagraph
C-c C-f C-i italic
C-b bold face
C-s slanted
C-e emph
C-r roman
C-f Sans Serif
C-c Small Cups
C-t Typewriter
字体命令前面加上C-u 就是替换
C-c C-f C-d 删除字体
C-c C-q C-e format environmet
C-s format section
C-p C-p format paragraph
C-r C-rformat region
C-M-a 环境的开始
C-M-e 环境的结束
C-c ` next error
C-c C-r compile region
C-c C-v quick view
#+END_EXAMPLE
* Org-mode
#+BEGIN_EXAMPLE
C-u C-u C-u <TAB> show all
#+END_EXAMPLE
#+BEGIN_EXAMPLE
%#+BEGIN_EXAMPLE
中间的格式不变
%#+END_EXAMPLE
#+END_EXAMPLE
#+BEGIN_EXAMPLE
%#+OPTIONS: "\n:t"
使换行有效
#+END_EXAMPLE
#+BEGIN_EXAMPLE
%#+BEGIN_EXAMPLE -t //-t参数使在出现框里 还可以用-h -w指定高宽
(defun org-xor (a b)
"Exclusive or."
(if a (not b) b))
%#+END_EXAMPLE
#+END_EXAMPLE
* Emacs中插入当前时间:
#+BEGIN_EXAMPLE
C-u M-! date
#+END_EXAMPLE
* Emacs中为每行插入行号
#+BEGIN_EXAMPLE
C-x h 全选
C-u M-| 对region实行shell command (只有M-|则不会对region有所影响)
cat -n 显示行号
或者
C-u M-!
cat -n filename(你想要显示行号的文件名)
#+END_EXAMPLE