免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1294 | 回复: 0
打印 上一主题 下一主题

emacs 快捷键 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-08 01:14 |只看该作者 |倒序浏览
  • 如果直接输入,键盘上的数字、字母以及符号仅仅插入该字符。
  • 常用的函数被绑定到 Ctrl 或者 Meta 键所对应的快捷键上(例如 C-e 到行
    尾, C-_ 是撤消, C-y 是粘贴)。
  • 如果绑定到前缀 Ctrl 上的函数操作对象是一个字符,那么绑定到前缀 Meta
    上的函数对应的的操作对象则是一个词(如果这快捷键有意义的话)。类似的,
    如果前缀 Ctrl 对应的快捷键操作对象是一行,那么前缀 Meta 对应的快捷键
    将操纵句子。例如: C-t 互换两个字符,而 M-t 互换两个词。 C-e 移动到
    行尾,而 M-e 移动到句子的尾部。
  • 一些不是特别常用的函数绑定到前缀 C-x 上。例如 C-x C-c 退出
    Emacs

    C-x 2 水平分割当前 window 。
  • 与某个 mode 相关的的函数被绑定到前缀 C-c 上。
  • 最不常用的函数根本没有键绑定,而是使用 M-x 然后输入函数名来调用他们。
  • 前缀 C-x 4 被保留作操作另外一个 window 用的函数,例如 C-x 4 C-f 在另
    外一个 window 里面打开文件。类似的, C-x 5 被绑定到操纵其他frame 的
    函数上面: C-x 5 C-f 才另外一个 frame 里面打开文件。注意到这两个函
    数与 C-x C-f (打开文件) 有同样的键绑定,只是在中间插入了 4 或者 5,
    这并不是一个巧合。

自己设置快捷键,比如设置F4跳行,F5编译,F6调试
(global-set-key[f4] 'goto-line);
(global-set-key[f5] 'compile);
(global-set-key[f6] 'gdb);
  • M-! 执行shell命令
  • 直接在终端中运行emacs emacs -nw
  • C-X 表示按住CTRL键, 然后按X, 再把CTRL, X一起放开.
  • M-X 等于先按 ESC键, 接著按 X键.
  • M-X 等于alt键.
  • C-X或 M-X的X没有大小写分别.
  • 超过两个以上的按键命令, Emacs会在萤幕最下面一行显示你按过什么.这一行叫作mini buffer
  • 结束Emacs按 C-x C-c
  • 取消执行 C-g
  • C-p 向上移 (previous line)
  • C-n 向下移(next line)
  • C-f 向右移 (forward)
  • C-b 向左移 (backward)
  • C-v 下一页(view next screen)
  • M-v 上一页
  • C-L 重画萤幕
  • M-f 向前跳一个字(word)
  • M-b 往后跳一个字(word)
  • C-a 移到行头
  • C-e 移到行尾
  • M-a 移到句首 (M-a 到上一个句点后面,一个句子的起头.)
  • M-e 移到句尾 (M-e 到句点后面)
  • M-
  • M-> 移到档尾
  • C-d 删除游标目前指的后面的字
  • DEL 删除游标目前指的前面的字 (Delete键)
  • M-DEL 往回删一个字(word)
  • M-d 往前删 (游标后面)
  • C-k 删至行尾 (kill)
  • M-k 删到一句子结尾(删到句点) (kill)
  • C-x u 撤消操作
  • C-_ 也是撤消操作
  • C-k 剪切 (kill)
  • M-k 剪切 (kill)
  • 剪切一段文字的方法: 将光标移到想要剪切的文字段开头, 用 C-@ (或 C-SPC )设标记( Mark set ), 将光标移到想要剪切的文字段末尾, 用 M-w 剪掉那段文字.
  • C-y 粘贴 (yank) , kill & yank 就是 cut & paste的意思.
  • C-x C-f 打开文件(可以用tab 或SPC键自动补全文件名)
  • C-x C-s 保存文件
  • C-x s 保存所有的文件
  • C-x i 插入文件(把另外的档案的内容读入目前编辑区内)
  • C-x 0 关掉目前的视窗
  • C-x 1 会让目前的视窗占满整个萤幕 (One Window), 取消/关掉其他的视窗.
  • C-x o 跳到另一个视窗
  • C-x 2 把目前的视窗切成两个 (水平分割)
  • C-x 3 (垂直分割)
  • C-x 4 是一串与视窗有关的指令.
  • C-x 5 则是扩展到X的视窗, 称为frame.
  • C-x 5 2 就是再开另一个X视窗 (frame).
  • C-x C-b 看目前有那些buffer (buffer就是emacs放开起的档案的地方).
  • C-x b 然后在minibuffer输入buffer的名字, 可以切换编辑buffer, TAB键也有作用. 有些内部的buffer (就是没有档案的buffer), 是用*开头和结束, 这个也要打, 如*scratch*
  • 按 M-x 之后就可以打一个Emacs命令来执行
  • C-x C-c 就是结束Emacs,比较常用的是C-z
  • C-z 把Emacs暂停, 回到命令列. 当你下次再需要编辑时, 打fg %emacs 或者 fg 就可以把Emacs唤醒. 在X下, C-z 会把emacs缩成icon.

  • 2007-04-04  00:58
    `C-'                 Control-(即 Ctrl-),按住 Ctrl 键再按其他键
    `M-'                 Meta-(或 Alt-),按住 Alt 键再按其他键;或按一下 ESC,再按其他键
    `C-M-'               Control-Alt-,按住 Ctrl 和 Alt 两个键再按其他键
    point                位点。文档中的一个位置,一般是光标的左下角
    mark                 标记。由命令设置,用来定义/保存文档中的位置信息
    region               区域。在 mark 和 point 之间部分,称为一个 region
    RET                  回车键
    TAB                  制表符键
    ESC                  ESC 键
    SPC                  空格键
    Backspace, DEL      退格键
    Delete         删除键
    === 如果不知道 ===
    C-x C-c              退出并关闭 Emacs
    C-z               
    C-x C-z              退出并挂起 Emacs
    C-x C-f              打开文件/目录
    C-x i                插入文件内容
    C-x C-r              只读方式打开一个文件
    C-x u                Undo( 想要Redo,动一下光标或按一下 C-g 再Undo :)
    C-x C-s              保存文件
    C-x s                询问保存所有未存盘文件
    C-x C-w              文件另存为…
    C-l                  刷新窗口,并将当前行移至窗口中心。给定参数,可以设置
                         当前行的位置,不妨试试 M-0 C-l 或 M-- C-l 或 M-4 C-l
    C-g                  退出当前命令。如果你不知道Emacs正在干什么呢,多按几次
                         C-g,就会恢复到正常状态
    ===     在线帮助     ===
    C-h t                TUTORIAL
    C-h i                Online Info
    C-h c                给出键序列(简称键)绑定的命令名字
    C-h w                由命令名字给出键的绑定
    === 给命令传参数 ===
    C-u                  给定参数前缀
    M-0
    ...
    M-9                  参数0...9
    M--                  负参数
    === 光标的移动     ===
    C-a                  行首
    C-e                  行尾
    C-n                  下一行
    C-p                  上一行
    C-f                  前进一个字符
    C-b                  后退一个字符
    M-f                  前进一个词
    M-b                  后退一个词
    C-M-n C-M-p 括号间跳转
    === 搜索和替换     ===
    C-s                  增量搜索
    C-r                  向后增量搜索
    M-x search-forward
                         搜索
    M-x search-backward
                         向后搜索
    C-M-s
    M-x isearch-forward-regexp
                         正则表达式增量搜索
    C-M-r
    M-x isearch-backward-regexp
                         正则表达式向后增量搜索
    M-x search-forward-regexp
                         正则表达式搜索
    M-x search-backward-regexp
                         正则表达式向后搜索
    ESC %                询问替换
    M-x query-replace-regexp
                         正则表达式询问替换
    M-x replace-string 替换
    M-x replace-regexp 正则表达式替换
    ===区域的拷贝和粘贴===
    * 区域是Mark和Point之间的部分,Point就是光标的左下角,Mark由命令设置。
    * `Yanking ring'是一个存放文本的地方,从这里你可以拷贝删除(kill)的文本。
    * `Yanking'表示插入刚刚删除(kill)的文本。
    C-SPC              
    C-@               
    M-x set-mark-command
                         设置 mark
    C-x C-x              交换 mark 和 point
    C-w                  将区域的文本删除,并放入yanking ring中
    M-w                  复制区域到yanking ring中
    C-y                  将yanking ring中最后一个区域插入当前缓冲区
    M-y                  按一次C-y后,多次按M-y,则用yanking ring中的其他区域替
                         换刚刚插入的区域
    C-o                  在光标后面插入空行
    C-x C-o              将光标附近的空行去掉,多行的时候,第一次只剩一行,第二
                         次全部删除
    C-d                  删除一个字符(不能yank)
    M-d                  删除光标附近的一个词
    C-x h                将整个缓冲区设置为区域(缓冲区尾是mark,首是point)
    C-k                  删除(kill)从光标处到行尾
    === 基本编辑 ===
    C-q                  插入下一个的字符,比如插入字符`^X'用“C-q C-x”
    C-t                  交换两个字符
    M-t                  交换两个词
    C-x C-t              交换两行
    C-x =                显示光标所在字符的信息
    C-v                  向下滚动窗口
    M-v                  向上滚动窗口
    === 多窗口和多缓冲区 ===
    C-x b                转到另一个缓冲区
    C-x k                删除缓冲区
    C-x 2                水平分个窗口
    C-x 3                垂直分割窗口
    C-x 1                去掉其它窗口
    ESC ESC ESC          同上
    C-x 0                去掉当前窗口
    C-x o                光标到另一个窗口中
    C-M-v                向下滚动另一个窗口,给一个负的参数,则向上滚动
    === 宏 ===
    C-x (                开始一个宏的定义
    C-x )                结束一个宏的定义
    C-x e                执行宏
    M-x name-last-kbd-macro
                         给最后一个宏命名
    M-x insert-kbd-macro
                         在当前文件中插入一个已定义并命名过的宏
    === 矩形区域操作 ===
    * 矩形区域的两端是由 Mark 和 Point 确定的。
    C-x r t              用串填充矩形区域
    C-x r o              插入空白的矩形区域
    C-x r y              插入之前删除的矩形区域
    C-x r k              删除矩形区域
    C-x r c              将当前矩形区域清空
    ;; C-c g f 快速打开文件
    (global-set-key (kbd "C-c g f") 'ffap)


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/41420/showart_417124.html
  • 您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP