天天看点

作为Emacs的爱好者,你的基本功真的合格吗?

<b>简评:</b>都说emacs的爱好者经常吹嘘自己的emacs的功能可多了,除了文本编辑,其他的诸如收发邮件、听音乐甚至是打游戏都不在话下,这也说明emacs的扩展性是极其强大的,一个emacs往往可以搞定很多软件需要做的事情。虽然如此,但你的emacs的基本功真的合格了吗?你真的对每一个快捷键都了如指掌了吗?下面就来测试一下吧,看看你是否能打满分呢?

掌握emacs的快捷键可以说是emacs爱好者的基本功,也是提高编辑速度和质量所必备的,但是初学者可能记不住那么多的快捷键必要时可以翻一下,最常用的快捷键数量也就数十个。emacs的快捷键都是绑定于ctrl和alt(或称meta)上的,例如c-x就是ctrl+x,m-x就是alt+x。当然所有的按键都可以自定义。当要退出编辑时c-x c-c 代表着,先按c-x 再按c-c才可以退出编辑环境.

c-x c-f 打开文件,出现提示时输入/username@host:filepath可编辑ftp文件

c-x c-v 打开一个文件,取代当前缓冲区

c-x c-s 保存文件

c-x c-w 存为新文件

c-x i 插入文件

c-x c-q 切换为只读或者读写模式

c-x c-c 退出emacs

c-f 前进一个字符

c-b 后退一个字符

m-f 前进一个字

m-b 后退一个字

c-a 移到行首

c-e 移到行尾

m-a 移到句首

m-e 移到句尾

c-p 后退一行

c-n 前进一行

m-x goto-line 跳到指定行

c-v 向下翻页

m-v 向上翻页

m-&lt; 缓冲区头部

m-&gt; 缓冲区尾部

c-m-f 向前匹配括号

c-m-b 向后匹配括号

c-l 当前行居中

m-n or c-u n 重复操作随后的命令n次

c-u 重复操作随后的命令4次

c-u c-u 重复操作随后的命令8次

c-x esc esc 执行历史命令记录,m-p选择上一条命令,m-n选择下一条命令

c-d 删除一个字符

m-d 删除一个字

c-k 删除一行

m-k 删除一句

c-w 删除标记区域

c-y 粘贴删除的内容

注意:c-y可以粘贴连续c-k删除的内容;先按c-y,然后按m-y可以选择粘贴被删除的内容

c-@ 标记开始区域

c-x h 标记所有文字

c-x c-x 交换光标位置和区域标记区开头

m-w 复制标记区域

c-_ or c-x u 撤消操作

m-x shell 打开shell

m-! 执行shell命令 (shell-command)

m-1 m-! 执行shell命令,命令输出插入光标位置,不打开新输出窗口

m-| 针对某一特定区域执行命令(shell-command-on-region), 比如 c-x h m-|uuencode

c-x 0 关闭本窗口

c-x 1 只留下一个窗口

c-x 2 垂直均分窗口

c-x 3 水平均分窗口

c-x o 切换到别的窗口

c-x s 保存所有窗口的缓冲

c-x b 选择当前窗口的缓冲区

c-x ^ 纵向扩大窗口

c-x } 横向扩大窗口

c-x c-b 打开缓冲区列表

d or k 标记为删除

~ 标记为未修改状态

% 标记为只读

s 保存缓冲

u 取消标记

x 执行标记的操作

f 在当前窗口打开该缓冲区

o 在其他窗口打开该缓冲区

c-x d 打开目录模式

s 按日期/文件名排序显示

v 阅读光标所在的文件

q 退出阅读的文件

d 标记为删除

x 执行标记

d 马上删除当前文件

c 拷贝当前文件

r 重命名当前文件

+ 新建文件夹

z 压缩文件

! 对光标所在的文件执行shell命令

g 刷新显示

i 在当前缓冲区的末尾插入子目录的内容

[n]m 标记光标所在的文件,如果指定n,则从光标所在的文件起后n个文件被标记

[n]u 取消当前光标标记的文件,n的含义同上

t 反向标记文件

%-m 正则标记

q 退出目录模式

说明:在目录模式中,如果输入!,在命令行中包含*或者?,有特殊的含义。*匹配当前光标所在的文件和所有标记的文件,?分别在每一个标记的文件上执行该命令。

m-x compile 执行编译操作

m-x gdb gdb排错

m-x dbx dbx排错

m-x xdb xdb排错

m-x sdb sdb排错

c-s key 向前搜索

c-s 查找下一个

enter 停止搜索

c-r key 反向搜索

c-s c-w 以光标所在位置的字为关键字搜索

c-s c-s 重复上次搜索

c-r c-r 重复上次反向搜索

c-s enter c-w 进入单词搜索模式

c-r enter c-w 进入反向单词搜索模式

m-x replace-string enter search-string enter 替换

m-% search-string enter replace-string enter 交互替换

c-r 在进入查找/替换模式后,该命令进入迭代编辑模式

c-m-x 退出迭代编辑模式,返回到查找/替换模式

c-m-s 向前正则搜索

c-m-r 向后正则搜索

c-m-% 正则交互替换

c-c c-c 相当于bash下的c-c

c-c c-z 相当于bash下的c-z

c-c c-d 相当于bash下的c-d

m-p 执行前一条命令

c-n 执行下一条命令

c-c c-o 删除最后一条命令产生的输出

c-c c-r 屏幕滚动到最后一条命令输出的开头

c-c c-e 屏幕滚动到最后一套命令输出的结尾

c-c c-p 查看前一条命令的输出

c-c c-n 查看后一条命令的输出

m-x print-buffer 先使用pr,然后使用lpr

m-x lpr-buffer 直接使用lpr

m-x print-region

m-x lpr-region

m-x mail 发送邮件, c-c c-s 发送,c-c c-c 发送并退出

m-x rmail 接受邮件

本文转载自:站长百科 原文有删改