macOS Emacs 文本光标快捷键指南

(Emacs) Keyboard Shortcuts for Editing Text Fields in OS X
对于刚 switch 到 Mac 平台的 Windows 用户来说, macOS 风格的快捷键需要适应. 但是对于 Emacs 用户来说, macOS Emacs 风格快捷键又能带来不少的操作的便捷提升.

但是这种便利性不是所有人能理解, 所以先放几个 Q&A.

Q: 触控板/鼠标也能完成光标移动, 为什么要使用键盘快捷键?
A: 使用触控板/鼠标意味着你需要讲双手离开你的键盘热区, 这个操作有巨大的时间开销, 同时精准度取决于你手的稳定性.

Q: 传统的方向键和 Fn 模拟控制按键也能完成光标移动, 为什么还要学习这类快捷键?
A: 无论是直接使用方向键还是 Fn 配合方向键滚动, 或是 Fn + del(BS), 这两者都非常低效.

Q: 什么地方我能使用这些快捷键?
A: 所有满足 Cocoa 标准的文本框, 如 macOS 应用/iOS 应用(需要接入到键盘), 早期符合标准的应用, Terminal.

Q: Control 按键太难按, 如何适应?
A: 如果你不能适应, 那么就在键盘种对调 Capslock 和 Control. 你可能是 HHKB 的潜在用户.

文本移动

移动是最基本的操作之一, 一定要记住 Emacs 快捷键有很多的规律, 要注意举一反三.

字符移动 (右侧为方向按键的模式)
向前 ⌃Backward ←
向后 ⌃Forward →

分词移动 (+⌥Option)
向前 ⌃⌥Backward ⌥←
向后 ⌃⌥Forward ⌥→

行移动
行首 ⌃A (第一个字母) ⌘←
行尾 ⌃End ⌘→
上一行 ⌃Previous ↑
下一行 ^Next ↓

文本选择

相对于之前的移动按住 ⇧Shift, 即可进行文本选择.

删除文本

字符删除
左退格 ⌃H ⌫Backspace(delete)
又退格 ^Delete Fn+⌫Backspace(delete)/DEL

分词删除 (可以结合选择来避开使用 fn/delete)
左词删除 ⌥⌫
右词删除 Fn+⌥⌫

行删除
向左行删除 ^U(仅终端) ⌘⌫
向右行删除 ^Kill

特色操作

字符转置 ^Transpose
插入 ^Insert
向右删除(剪切) ^Kill
行拉取(粘贴) ^Yank