世界上最强大的编辑器Emacs 基本命令


 这个世界最强是个怎么样的强法呢?一说:Emacs是一种“信仰”。另说:世界上的程序员分三种,一种使用Emacs,一种使用vim,剩余的是其它。(完全无视其他编辑器的存在……)
  1. 基本命令:
    C-x C-c : 退出Emacs
    C-x C-f : 打开一个文件,如果文件不存在,则创建一个文件
    C-x d 进入Dired列表模式
    C-x C-d 获取文件列表(简洁)
    C-x C-f 打开文件,输入路径为打开目录
    C-g : 取消未完成的命令
  2. 编辑:
    C-x u :取消上一次操作,如果取消N次操作: C-u N C-_
    C-x i : 插入文件内容
    C-t : 交换两个字符
    M-t : 交换两个词
    C-x C-t : 交换两行
    C-x C-u : 转换成大写字母
    C-x C-l : 转换成小写字母
    M-c :把光标右边的单词的首字母转换为大写,如果光标在一个单词内,则把光标所在字母转换为大写
    M-u :把光标右边的单词转换为大写,如果光标在一个单词内,则把这个单词右边的部分转换为大写
    M-l : 转换成小写字母
    C-c C-a : 开启/关闭自动缩进模式,如同 M-x c-toggle-auto-state
  3. 移动光标:
    C-v : 向前翻页
    M-v : 向后翻页
    M-r : 将光标移动到屏幕中间那行
    C-a : 移到行首
    C-e : 移到行尾
    M-a : 移到句首
    M-e : 移到句尾
    M-{ : 向上移动一段
    M-} : 向下移动一段
    M-< : 移到整个文本开头
    M-> : 移到整个文本末尾
    C-p : 向上移动一行,p 代表 previous
    C-n : 向下移动一行,n 代表 next
    C-f : 向前移动一个字,f 则代表 forward
    C-b : 向后移动一个字,b代表 backward
    C-u 数字 命令 : 执行多次(数字表示次数)该命令
    C-l : 重绘屏幕,效果就是当前编辑行移动窗口中央,刷新
    C-M-/ : 用c-x h 选定整个buffer后, 然后可以对代码进行重新排版
    M-; 对当前行进行注释
    C-x C-x :快速返回移动前的光标位置
    C-c C-c :对一块代码进行注释;
    uncomment-region :取消注释用命令
  4. Buffer 相关
    C-x h : 选中整个缓冲区的内容,您会发现状态栏和编辑器底部之间的区域出现 Mark set 字样
    C-x k : 关闭当前buffer
    C-x b : 切换到前一个编辑的buff
    C-x C-b : 列出当前所有buffer
    C-x C-s : 保存当前buffer
    C-x s : 保存所有未保存的buffer,会提示你是否需要保存
    C-x C-w : 文件另存为
    C-mouse:按住Ctrl并单击鼠标左键,会弹出一个Buffer Menu,它会按主模式类型列出活动的buffer供你选择。
    M-x kill-some-buffers:删除一些buffer;
  5. 拷贝与粘贴
    C-@ : 设置mark ,或使用 M-x set-mark-command
    C-w : 剪切一块区域;如果没有设置mark,则是剪切一行
    M-w : 拷贝一块区域;如果没有设置mark, 则是拷贝一行
    M-d : 删除光标后的词语
    C-d : 删除一个字符
    C-k : 从当前位置剪切到行尾
    C-y : 粘贴
    M-y : 用C-y拉回最近被除去的文本后,换成 M-y可以拉回以前被除去的文本。键入多次的M-y可以拉回更早以前被除去的文本。
    C-x r k : 执行矩形区域的剪切
    C-x r y : 执行矩形区域的粘贴
    C-x h : 全部选中
    C-o : 在光标后面插入空行
    C-x C-o : 将光标附近的空行去掉,多行的时候,第一次只剩一行,第二次全部删除
  6. 窗口操作
    C-x 0 : 关闭当前窗口
    C-x 1 : 将当前窗口最大化
    C-x 2 : 垂直分割窗口
    C-x 3 : 水平分割窗口
    C-x < : 窗口内容右卷
    C-x > : 窗口内容左卷(这两个命令在垂直分割窗口后比较有用)
    (C-u) C-x ^ : 加高当前窗口,如果有C-u,则每次加高4行
    (C-u) C-x } : 加宽当前窗口
    (C-u) C-x { : 压窄当前窗口
    ESC C-v : 在其它窗口进行卷屏操作
    C-M-v:滚动另一个window(C-v是滚动当前window)
    C-x 4 b(f):在另一个窗口选择另一个buffer(查找另一个文件),这样你可以不用切换到另一个window,就改变其buffer或打开文件;
    C-x 5 2:新建一个frame;
  7. 搜索和替换
    C-s : 向前搜索(增量式搜索);连续C-s,跳到下一个搜索到的目标
    C-s RET : 普通搜索
    C-r : 向前搜索
    C-s RET C-w : 按单词查询
    M-% : 查询替换,也就是替换前会询问一下
    M-x replace-string : 普通替换
  8. 命令行执行命令
    由于Emacs太过强大,内部命令恒河沙数,根本不可能有同样数量的快捷键位来绑定它们!对于没有绑定的命令,可以使用 命令行 执行!
    M-x (Alt+x) 开启命令行,回显区显示为 M-x
    M-x goto-line : 移动到某一行
    M-x replace-string : 普通替换
    M-x replace-regexp : 正则表达式替换
    M-x undo : 撤消
    C-g M-x undo : 重做
    M-x query-replace : 询问替换 等同于C-%
    M-x calendar : 打开日历,q退出.C-u,M-x calendar 打开指定的年,月,日
    C-f :让当前日期向前一天
    C-b:让当前日期向后一天
    C-n:让当前日期向前一周
    C-p:让当前日期向后一周
    M-}:让当前日期向前一个月
    M-{:让当前日期向后一个月
    C-x ]:让当前日期向前一年
    C-x [:让当前日期向后一年 C-a:移动到当前周的第一天
    C-e:移动到当前周的最后一天
    M-a:移动到当前月的第一天
    M-e:多动到当前月的最后一天
    M-<:移动到当前年的第一天
    M->:移动到当前年的最后一天
  9. ctrl+c-v-j, ctrl+c-v-z, ctrl+c-v-c, ctrl+c-v-.  ,  ctrl+c-v-r, ctrl+j
  10. Alt+/ 会自动补全80%的机率以上都会找到你想要的,如果不是多按几次选择一下
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值