# 基于Windows系统的Emacs改键方案
Emacs.ahk 脚本为 Windows 应用程序提供了类Emacs的按键绑定。该脚本最初 fork 自 EmacsChina 论坛某位大神的项目,后来我用 AutoHotKey V2 脚本重新翻版,并添加一些特有功能。
首先使用 SharpKeys 将 CapsLock 按键修改为 RightCtrl,RightCtrl 按键修改为 LeftCtrl。这样使用 Ctrl 键为软件原生功能,CapsLock 键为 Emacs 模式按键,如此,所有应用均有 Windows 风格的完整编辑功能以及 Emacs 的快捷键精髓。
Github:https://github.com/reseen/emacs.ahk (opens new window)
# 特有快捷键介绍
# 中文输入法重新输入选中文字(C-S-r)
通常在中英文混合输入的场景,经常会出现本来想输入中文,结果反应过来时,已经在英文输入模式输了好多字符,这时只好删掉这堆英文,然后重新敲一遍中文。 针对以上情况,Emacs.ahk 添加了该功能,使用方法:选中目标文本后,按下热键(C-s-r),会自动切换到中文输入模式下,将选中的文本重新输入一遍。
# 功能说明
# 通用快捷键列表
通用快捷键针对所有应用均有效
Keybinding | Function | Notes |
---|---|---|
C-x C-c | kill-application | |
C-Space | set-mark-command | |
C-g | quit | |
- | - | - |
C-a | move-beginning-of-line | |
C-e | move-end-of-line | |
C-p | previous-line | |
C-n | next-line | |
C-f | forward-char | |
C-b | backward-char | |
- | - | - |
M-f | forward-word | |
M-b | backward-word | |
- | - | - |
C-S-v | scroll-down | C-v 与 Ditto 冲突 |
M-v | scroll-up | |
- | - | - |
C-x, a | end-of-buffer | |
C-x, e | beginning of buffer | |
C-x, h | mark-whole-buffer | |
C-S-a | mark-beginning-of-line | |
C-S-e | mark-end-of-line | |
C-S-p | mark-previous-line | |
C-S-n | mark-next-line | |
C-S-f | mark-forward-char | |
C-S-b | mark-backward-char | |
- | - | - |
C-w | kill-region | |
M-w | kill-ring-save | |
C-y | yank | |
- | - | - |
C-/ | undo | |
C-? | redo | |
- | - | - |
C-d | delete-char | 可以删除选中区域 |
M-d | delete-word | |
C-k | kill-line | |
- | - | - |
C-o | open-line-up | 在当前行上方插入空白行 |
C-l | open-line-down | 在当前行下方插入空白行 |
C-j | newline-and-indent | 换行并且缩进 |
C-m | new-line | 标准换行 |
C-S-r | reenter-chinese | 使用中文输入法重新输入选中文字 |
# Editor Keymap
已绑定的应用
- VsCode
- Effidit
Keybinding Function Notes C-x C-f find-file 打开 C-s isearch-forward C-r isearch-backward 反向搜索,实际无效 C-. tab-switch-forward C-, tab-switch-backward C-z appliction-minimize
# Explorer Keymap
已绑定的应用
- Explorer
- XYPlorer
Keybinding Function Notes M-] dir-forward M-[ dir-backward M-= dir-up-level M-</td> dir-up-level 返回上级
# Office Keymap
已绑定的应用
- Word / Excel / PowerPoint
- Notepad 3
Keybinding Function Notes C-x C-f find-file C-s isearch-forward C-r isearch-backward 反向搜索,实际无效
# IM Keymap
已绑定的应用
- TIM
Keybinding Function Notes C-j newline-and-indent 换行并且缩进 C-m new-line 标准换行 Alt + Enter C-z appliction-minimize