您的位置:首页 > 其它

Emacs 的基本操作

2013-07-08 16:07 260 查看



在C/C++代码中操作

M-a 移动到当前语句的开始 M-e 移动到当前语句的末尾

C-M-a 移动到当前函数的开始 C-M-e 移动到当前函数的结尾

M-q 若光标在注释文本中间,则进行段落重排,保留缩进和前导字符

C-M-h 把光标放在当前函数开头,把文本块标记放在函数结尾, 即把函数整个选作为一个文本块。

C-c C-q 对整个函数进行缩进

C-x h 选定整个buffer, 然后C-M-\可以对代码进行重新排版

C-c C-u 移动到当前预处理条件的开始位置

C-c C-p 移动到上一个预处理条件 C-c C-n 移动到下一个预处理条件

M-; 对当前行进行注释

C-x C-x 快速返回移动前的光标位置

C-c C-c 对一块代码进行注释;取消注释用命令 uncomment-region


Emacs 中的光标移动

C-b 光标后退一个字符 C-f 光标前进一个字符

C-p 上移一行 C-n 下移一行

M-f 前进一个单词 M-b 后退一个单词

C-a 行首 C-e 行尾

M-a 句首 M-e 句尾

M-{ 上一个段落 M-} 下一个段落

C-v 屏幕上卷一个屏 M-v 屏幕下卷一个屏

C-M-v 另一个窗口下卷一个屏幕 C-M-V 另一个窗口上卷一个屏幕

M-< 文件头 M-> 文件尾

C-u n 或 M-n 重复执行n次后继命令


Emacs中的删除

C-d 删除光标上的字符 DEL 删除光标前的字符

M-d 删除光标后的单词 M-DEL 删除光标前的单词

C-k 从光标位置删除到行尾

C-S-Backspace 删除当前行

C-y 恢复删除最近的一个 M-y 循环恢复删除上一个


文本块操作

C-@ 标记文本块的开始

C-x C-x 互换插入点和文本标记的位置

M-h 标记整个段落

C-x C-p 标记整个页面

C-x h 标记整个缓冲区


查找与替换


简单查找替换

C-s 向前递增查找 C-r 反向递增查找

C-s C-w 向前递增查找,把光标所在的单词作为查找对象 C-r C-w 反向递增查找,把光标所在的单词作为查找对象

replace-string 查找替换光标后所有的内容

M-% 查询替换操作


对于M-%,需要注意的是其相关的一些操作:
SPACE或y 用新字符串替换原来的,并进入下一个位置

DEL或n 不替换,进入下一个位置

. 在当前位置做替换后退出查询-替换操作

, 替换,并显示替换情况(再按空格或y进入下一个位置)

! 对后面的内容全部进行替换,不再提问

^ 返回上一个替换了的位置

RETURN或q 退出查询替换操作

C-r 进入递归编辑状态

C-w 删除此处内容并进入递归编辑状态(好进行其他修改)

M-C-c 退出递归编辑状态,继续完成查询-替换操作

C-] 退出递归编辑状态和查询替换操作


正则表达式查找与替换

C-M-s Return 向前查找正则表达式 C-M-r Return 反向查找正则表达式

C-M-s 向前递归查找正则表达式 C-M-r 反向递归查找正则表达式

query-replace-regexp 查询-替换正则表达式 replace-regexp 无条件替换正则表达式(慎用)


正则表达式中的字符:
^ 匹配行首

$ 匹配行尾

. 匹配任意单个字符

.* 匹配任意个字符

\< 匹配单词的开头

\> 匹配单词的结尾

[] 匹配[]中的任何一个字符,如[a-z]匹配任何一个小写字母


文章引用自:http://www.caole.net/diary/emacs.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: