Emacs key bindings for vim users | Scarletsky

盒子

文章目录

简介

Emacs 是一个文本编辑器,号称是伪装成编辑器的操作系统。提起 Emacs,必定会联想到它的竞争对手 Vim,它们都是古老而强大的编辑器。虽然我已经用 Vim 好几年了,也听说过 Emacs 的各种强大的能力,但一直没有动力去学习它,直到最近看到强大的 org mode,才鼓起勇气去学习 Emacs。本文主要记录我学习 Emacs 的过程中与 Vim 的键位比较。

核心键位

Emacs 使用组合键的形式来触发不同的功能,最常见的是以下几个键位:

  • C 即 Ctrl 键,如 <C-x> 表示 按着 Ctrl 再按 x
  • S 即 Super 键,通常是 Windows 键或者是 Option 键
  • M 即 Meta 键,通常是 Esc 键,如 <M-x> 表示先按下 Esc,然后松手,再按 x

常用键位绑定

Edit

Vim Emacs
向上移动 k C-p
向下移动 j C-n
向左移动 h C-b
向右移动 l C-f
移动到行首 0 C-a
移动到行尾 $ C-e
移动到行首非空字符 ^ M-m
移动到下一个单词 w M-f
移动到上一个单词 b M-b
移动到第10行 大专栏  Emacs key bindings for vim usersyle="text-align:left">10gg M-g g 10 RET
移动到下一页 C-d C-v
移动到上一页 C-u M-v
移动到文件首行 gg M-<
移动到文件尾行 G M->
把当前行移动到屏幕中央 zz C-l
进入选择模式 v C-SPC
删除光标中的字符 x C-d
删除光标到行尾的字符 d$ C-k
删除光标所在行 dd C-w 或 C-a C-k
删除下10行 10dd C-u 10 C-w
撤销上一次操作 u C-/
重复上一次命令 . C-z z
向前搜索 / C-s
向后搜索 ? C-r
搜索下一项 n C-s
搜索上一项 N C-r
开始录制宏 qq F3
停止录制宏 q F4
执行宏 @q F4
执行宏10次 10@q C-u 10 F4

Window

Vim Emacs
把窗口水平切分 :new RET C-x _
把窗口垂直切分 :vnew RET C-x 竖线(打出来会破坏布局,所以就不打了)
切换窗口 C-w j/k/h/l C-x o
关闭当前窗口 :q RET C-x 0

Buffer

Vim Emacs
创建 Buffer :new RET C-x b name RET
列出 Buffer :ls RET C-x b
删除 Buffer :bd RET C-x k RET

参考资料

https://www.gnu.org/software/emacs/manual/
http://notex.life/t/emacs-key-binding/18

关闭

Emacs key bindings for vim users的更多相关文章

  1. Sublime key bindings使用

    开启vi mode后,可以使用很多的VI快捷方式,所以我的sublime已经不是单纯的st了,st的VI模式不完全支持所有的快捷键.我们来看一段官网的key bindings示例: { "k ...

  2. 我用Emacs,后来转向Vim——Vim学习之Vim键盘图(绝对值得珍藏)

    Emacs本来就比较臃肿,麻烦.当我发现Vim键盘图时,我就渐渐转向Vim,追随Unix/Linux哲学去了.. 我用了Emacs三个月,因为它的学习曲线没Vim陡,这点吸引了,我使用Linux才7. ...

  3. 《生活在Linux中》之:在Bash的Emacs模式中使用Vim

    export EDITOR=vim ctrl-x ctrl-e

  4. 我所使用的Linux软件集合

    自从2003-2004春节之际初次尝试使用Linux以来,至今已十年有余了.尤其是整个博士研究期间,坚持在Linux下开展学习与研究工作,前前后后试用了不少桌面环境.窗口管理器.终端程序以及其他应用软 ...

  5. ace -- about

    Built for Code Ace is an embeddable code editor written in JavaScript. It matches the features and p ...

  6. vim does not map customized key?

    it is a long time confusing me that why my customized key map in vim does not work? Some vim configu ...

  7. vim和emacs

    vim和emacs 在编程界一直有两大神器的传说.这两大神器一个是emacs,一个是vim.一个是神的编辑器,一个是编辑器之神. 程序员的圈子里面也一直流传着一个段子,说是世界上的程序员分为三种.使用 ...

  8. SpaceVim - 让你的vim变得更加高效和强大

    SpaceVim 中文手册 项 目 主 页: https://spacevim.org Github 地址 : https://github.com/SpaceVim/SpaceVim SpaceVi ...

  9. emacs 操作集锦

    1.C-k 的功能并不是剪切当前行,而是剪切当前行从光标到行末的内容. Emacs 中的剪切不叫剪切(cut),叫kill,复制(copy)不叫copy ,叫kill-ring-save (这个可以理 ...

随机推荐

  1. 放贷额度相关的ROI计算

    违约模型得到概率估计, 将概率值划分5档, 每一档确定一个授信系数 新的授信 = 每月收入* 授信系数 - 老的授信 计算新增授信额度 计算余额损失

  2. selenium 2.x 为什么我录制的脚本回放时几乎必然失败呢?

    本人菜鸟一枚,最近自己在自学selenium,录制的脚本回放从未直接成功过! 我打开百度,搜索selenium,然后点击第一个结果——selenium的百度百科,但是提示打开错误! 录制的任何脚本都不 ...

  3. Multiple alleles|an intuitive argument|

    I.5 Multiple alleles. 由两个等位基因拓展到多个等位基因,可以得到更多种二倍体基因型: 所以单个等位基因的概率(用i代指某个基因,pi*是该基因的频率)是(以计数的方法表示) 所以 ...

  4. 爬虫基本库request使用—爬取猫眼电影信息

    使用request库和正则表达式爬取猫眼电影信息. 1.爬取目标 猫眼电影TOP100的电影名称,时间,评分,等信息,将结果以文件存储. 2.准备工作 安装request库. 3.代码实现 impor ...

  5. springboot集成websocket实现大文件分块上传

    遇到一个上传文件的问题,老大说使用http太慢了,因为http包含大量的请求头,刚好项目本身又集成了websocket,想着就用websocket来做文件上传. 相关技术 springboot web ...

  6. Leetcode 5039. 移动石子直到连续

    第134次周赛 5039. 移动石子直到连续 5039. 移动石子直到连续 三枚石子放置在数轴上,位置分别为 a,b,c. 每一回合,我们假设这三枚石子当前分别位于位置 x, y, z 且 x < ...

  7. Docker系列一: docker简介及基本环境安装

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Li ...

  8. Caused by: java.io.FileNotFoundException: class path resource [../../resources/config/spring.xml] cannot be opened because it does not exist

    在尝试使用Spring的Test的时候遇到了这个错误 原来的代码: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(loca ...

  9. bzoj 3450 Tyvj1952 Easy (概率dp)

    3450: Tyvj1952 Easy Description 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是o,失败 ...

  10. 虚拟环境(virtualenv)

    为什么需要虚拟环境: 到目前位置,我们所有的第三方包安装都是直接通过pip install xx的方式进行安装的,这样安装会将那个包安装到你的系统级的Python环境中.但是这样有一个问题,就是如果你 ...