作为软件开发人员,必然绕不过编辑器,现在有很多的集成开发环境,也有 emacs,vim 等工具,不同的人选择不同的编辑器,但是仔细想想到底是什么吸引着我们选择某一个编辑器?

基本理念

编辑的时候使用 emacs 的快捷键,其他时候使用 vi 的快捷键. 我还是习惯 spacemacs 的 hybird 模式 :-)

名词解释

  • 命令模式: 执行命令,主要是通过少量按键达到预期目标.
  • 编辑模式: 编辑文本,例如写代码.

命令模式

键绑定 描述
g d 跳转到定义
Ctrl o 回到上一次光标位置
/ 搜索当前文件
h 光标向左移动一个字符
l 光标向右移动一个字符
j 光标向下移动一行
k 光标向上移动一行
d d 删除一行
y y 复制当前行
x 删除当前字符
r 替换当前字符
y 复制选中内容
p 粘贴复制内容
u 撤销
q a 录制宏到 a
@ a 执行录制到 a 上的宏
i 进入到插入模式
v 切换到选择模式
f d 回到正常模式

编辑模式

键绑定 描述
Ctrl a 行首
Ctrl e 行尾
Ctrl b 后退一个字符
Ctrl f 前进一个字符
Ctrl p 光标一定到上一行
Ctrl n 光标移动到下一行
Ctrl k 删除光标后的字符到末尾
Ctrl l 当前行滚动到屏幕中央
Ctrl d 删除一个字符
Ctrl y 粘贴复制内容
Ctrl / 撤销
Ctrl x Ctrl s 保存
Alt b 后退一个单词
Alt f 前进一个单词
Alt w 复制选中内容
Alt j 将当前行移动到下一行
Alt k 将当前行移动到上一行