(转) Emacs快捷键

    1.     C = Control
    2.     M = Meta = Alt | Esc
    3.     Del = Backspace
    4.       
    5.     基本快捷键(Basic)
    6.     C-x C-f "find"文件, 即在缓冲区打开/新建一个文件
    7.     C-x C-s 保存文件
    8.     C-x C-w 使用其他文件名另存为文件
    9.     C-x C-v 关闭当前缓冲区文件并打开新文件
    10.     C-x i 在当前光标处插入文件
    11.     C-x b 新建/切换缓冲区
    12.     C-x C-b 显示缓冲区列表
    13.     C-x k 关闭当前缓冲区
    14.     C-z 挂起emacs
    15.     C-x C-c 关闭emacs
    16.       
    17.     光标移动基本快捷键(Basic Movement)
    18.     C-f 后一个字符
    19.     C-b 前一个字符
    20.     C-p 上一行
    21.     C-n 下一行
    22.     M-f 后一个单词
    23.     M-b 前一个单词
    24.     C-a 行首
    25.     C-e 行尾
    26.     C-v 向下翻一页
    27.     M-v 向上翻一页
    28.     M-< 到文件开头
    29.     M-> 到文件末尾
    30.       
    31.     编辑(Editint)
    32.     M-n 重复执行后一个命令n次
    33.     C-u 重复执行后一个命令4次
    34.     C-u n 重复执行后一个命令n次
    35.     C-d 删除(delete)后一个字符
    36.     M-d 删除后一个单词
    37.     Del 删除前一个字符
    38.     M-Del 删除前一个单词
    39.     C-k 移除(kill)一行
    40.       
    41.     C-Space 设置开始标记 (例如标记区域)
    42.     C-@ 功能同上, 用于C-Space被操作系统拦截的情况
    43.     C-w 移除(kill)标记区域的内容
    44.     M-w 复制标记区域的内容
    45.     C-y 召回(yank)复制/移除的区域/
    46.     M-y 召回更早的内容 (在kill缓冲区内循环)
    47.     C-x C-x 交换光标和标记
    48.       
    49.     C-t 交换两个字符的位置
    50.     M-t 交换两个单词的位置
    51.     C-x C-t 交换两行的位置
    52.     M-u 使从光标位置到单词结尾处的字母变成大写
    53.     M-l 与M-u相反
    54.     M-c 使从光标位置开始的单词的首字母变为大写
    55.       
    56.     重要快捷键(Important)
    57.     C-g 停止当前运行/输入的命令
    58.     C-x u 撤销前一个命令
    59.     M-x revert-buffer RETURN (照着这个输入)撤销上次存盘后所有改动
    60.     M-x recover-file RETURN 从自动存盘文件恢复
    61.     M-x recover-session RETURN 如果你编辑了几个文件, 用这个恢复
    62.       
    63.     在线帮助(Online-Help)
    64.     C-h c 显示快捷键绑定的命令
    65.     C-h k 显示快捷键绑定的命令和它的作用
    66.     C-h l 显示最后100个键入的内容
    67.     C-h w 显示命令被绑定到哪些快捷键上
    68.     C-h f 显示函数的功能
    69.     C-h v 显示变量的含义和值
    70.     C-h b 显示当前缓冲区所有可用的快捷键
    71.     C-h t 打开emacs教程
    72.     C-h i 打开info阅读器
    73.     C-h C-f 显示emacs FAQ
    74.     C-h p 显示本机Elisp包的信息
    75.       
    76.     搜索/替换(Seach/Replace)
    77.     C-s 向后搜索
    78.     C-r 向前搜索
    79.     C-g 回到搜索开始前的位置(如果你仍然在搜索模式中)
    80.     M-% 询问并替换(query replace)
    81.       
    82.     Space或y 替换当前匹配
    83.     Del或n 不要替换当前匹配
    84.     . 仅仅替换当前匹配并退出(替换)
    85.     , 替换并暂停(按Space或y继续)
    86.     ! 替换以下所有匹配
    87.     ^ 回到上一个匹配位置
    88.     RETURN或q 退出替换
    89.       
    90.     使用正则表达式(Regular expression)搜索/替换
    91.     可在正则表达式中使用的符号:
    92.     ^ 行首
    93.     $ 行尾
    94.     . 单个字符
    95.     .* 任意多个(包括没有)字符
    96.     \< 单词开头
    97.     \> 单词结尾
    98.     [] 括号中的任意一个字符(例如[a-z]表示所有的小写字母)
    99.       
    100.     M C-s RETURN 使用正则表达式向后搜索
    101.     M C-r RETURN 使用正则表达式向前搜索
    102.     C-s 增量搜索
    103.     C-s 重复增量搜索
    104.     C-r 向前增量搜索
    105.     C-r 重复向前增量搜索
    106.     M-x query-replace-regexp 使用正则表达式搜索并替换
    107.       
    108.     窗口命令(Window Commands)
    109.     C-x 2 水平分割窗格
    110.     C-x 3 垂直分割窗格
    111.     C-x o 切换至其他窗格
    112.     C-x 0 关闭窗格
    113.     C-x 1 关闭除了光标所在窗格外所有窗格
    114.     C-x ^ 扩大窗格
    115.     M-x shrink-window 缩小窗格
    116.     M C-v 滚动其他窗格内容
    117.     C-x 4 f 在其他窗格中打开文件
    118.     C-x 4 0 关闭当前缓冲区和窗格
    119.     C-x 5 2 新建窗口(frame)
    120.     C-x 5 f 在新窗口中打开文件
    121.     C-x 5 o 切换至其他窗口
    122.     C-x 5 0 关闭当前窗口
    123.       
    124.     书签命令(Bookmark commands)
    125.     C-x r m 在光标当前位置创建书签
    126.     C-x r b 转到书签
    127.     M-x bookmark-rename 重命名书签
    128.     M-x bookmark-delete 删除书签
    129.     M-x bookmark-save 保存书签
    130.     C-x r l 列出书签清单
    131.       
    132.     d 标记等待删除
    133.     Del 取消删除标记
    134.     x 删除被标记的书签
    135.     r 重命名
    136.     s 保存列表内所有书签
    137.     f 转到当前书签指向的位置
    138.     m 标记在多窗口中打开
    139.     v 显示被标记的书签(或者光标当前位置的书签)
    140.     t 切换是否显示路径列表
    141.     w 显示当前文件路径
    142.     q 退出书签列表
    143.       
    144.     M-x bookmark-write 将所有书签导出至指定文件
    145.     M-x bookmark-load 从指定文件导入书签
    146.       
    147.     Shell
    148.     M-x shell 打开shell模式
    149.     C-c C-c 类似unix里的C-c(停止正在运行的程序)
    150.     C-d 删除光标后一个字符
    151.     C-c C-d 发送EOF
    152.     C-c C-z 挂起程序(unix下的C-z)
    153.     M-p 显示前一条命令
    154.     M-n 显示后一条命令
    155.       
    156.     DIRectory EDitor (dired)
    157.     C-x d 打开dired
    158.     C(大写C) 复制
    159.     d 标记等待删除
    160.     D 立即删除
    161.     e或f 打开文件或目录
    162.     g 刷新当前目录
    163.     G 改变文件所属组(chgrp)
    164.     k 从屏幕上的列表里删除一行(不是真的删除)
    165.     m 用*标记
    166.     n 光标移动到下一行
    167.     o 在另一个窗格打开文件并移动光标
    168.     C-o 在另一个窗格打开文件但不移动光标
    169.     P 打印文件
    170.     q 退出dired
    171.     Q 在标记的文件中替换
    172.     R 重命名文件
    173.     u 移除标记
    174.     v 显示文件内容
    175.     x 删除有D标记的文件
    176.     Z 压缩/解压缩文件
    177.     M-Del 移除标记(默认为所有类型的标记)
    178.     ~ 标记备份文件(文件名有~的文件)等待删除
    179.     # 标记自动保存文件(文件名形如#name#)等待删除
    180.     */*标记所有文件夹(用C-u */n移除标记)
    181.     = 将当前文件和标记文件(使用C-@标记而不是dired的m标记)比较
    182.     M-= 将当前文件和它的备份比较
    183.     ! 对当前文件应用shell命令
    184.     M-} 移动光标至下一个用*或D标记的文件
    185.     M-{ 移动光标至上一个用*或D标记的文件
    186.     % d 使用正则表达式标记文件等待删除
    187.     % m 使用正则表达式标记文件为*
    188.     + 新建文件夹
    189.     > 移动光标至后一个文件夹
    190.     < 移动光标至前一个文件夹
    191.     s 切换排序模式(按文件名/日期)
    192.       
    193.     或许把这个命令归入这一类也很合适:
    194.     M-x speedbar 打开一个独立的目录显示窗口
    195.       
    196.     Telnet
    197.     M-x telnet 打开telnet模式
    198.     C-d 删除后一个字符或发送EOF
    199.     C-c C-c 停止正在运行的程序(和unix下的C-c类似)
    200.     C-c C-d 发送EOF
    201.     C-c C-o 清除最后一个命令的输出
    202.     C-c C-z 挂起正在运行的命令
    203.     C-c C-u 移除前一行
    204.     M-p 显示前一条命令
    205.       
    206.     Text
    207.     只能在text模式里使用
    208.     M-s 使当前行居中
    209.     M-S 使当前段落居中
    210.     M-x center-region 使被选中的区域居中
    211.       
    212.     宏命令(Macro-commands)
    213.     C-x ( 开始定义宏
    214.     C-x ) 结束定义宏
    215.     C-x e 运行最近定义的宏
    216.     M-n C-x e 运行最近定义的宏n次
    217.     M-x name-last-kbd-macro 给最近定义的宏命名(用来保存)
    218.     M-x insert-kbd-macro 将已命名的宏保存到文件
    219.     M-x load-file 载入宏
    220.       
    221.     编程(Programming)
    222.     M C-\ 自动缩进光标和标记间的区域
    223.     M-m 移动光标到行首第一个(非空格)字符
    224.     M-^ 将当前行接到上一行末尾处
    225.     M-; 添加缩进并格式化的注释
    226.     C, C++和Java模式
    227.     M-a 移动光标到声明的开始处
    228.     M-e 移动光标到声明的结尾处
    229.     M C-a 移动光标到函数的开始处
    230.     M C-e 移动光标到函数的结尾处
    231.     C-c RETURN 将光标移动到函数的开始处并标记到结尾处
    232.     C-c C-q 根据缩进风格缩进整个函数
    233.     C-c C-a 切换自动换行功能
    234.     C-c C-d 一次性删除光标后的一串空格(greedy delete)
    235.       
    236.     为了实现下面的一些技术, 你需要在保存源代码的目录里运行"etags
    237.     *.c *.h *.cpp"(或者源代码的其他的扩展名)
    238.     M-.() 搜索标签
    239.     M-x tags-search ENTER 在所有标签里搜索(使用正则表达式)
    240.     M-,(逗号) 在tags-search里跳至下一个匹配处
    241.     M-x tags-query-replace 在设置过标签的所有文件里替换文本
    242.       
    243.     GDB(调试器)
    244.     M-x gdb 在另一个的窗格中打开gdb
    245.       
    246.     版本控制(Version Control)
    247.     C-x v d 显示当前目录下所有注册过的文件(show all registered files in this dir)
    248.     C-x v = 比较不同版本间的差异(show diff between versions)
    249.     C-x v u 移除上次提交之后的更改(remove all changes since last checkin)
    250.     C-x v ~ 在不同窗格中显示某个版本(show certain version in different window)
    251.     C-x v l 打印日志(print log)
    252.     C-x v i 标记文件等待添加版本控制(mark file for version control add)
    253.     C-x v h 给文件添加版本控制文件头(insert version control header into file)
    254.     C-x v r 获取命名过的快照(check out named snapshot)
    255.     C-x v s 创建命名的快照(create named snapshot)
    256.     C-x v a 创建gnu风格的更改日志(create changelog file in gnu-style)
    257. 原文 http://blog.chinaunix.net/uid-26354188-id-3195392.html
posted @ 2014-02-14 15:31  SmartCity  阅读(112)  评论(0)    收藏  举报