介绍

macOS 有全局的方向快捷键,而 Windows 没有。

  • Control–F:向前移动一个字符。
  • Control–B:向后移动一个字符。
  • Control–P:上移一行。
  • Control–N:下移一行。

如果 Windows 也可以映射一套对应的快捷键就好了。考虑到各种软件的兼容问题,Git for Windows 使用的依然是 Ctrl+F B P N 作为方向快捷键,因此决定与 macOS 使用相同的按键,而不是使用 Win+F B P N。

冲突

Ctrl+B 的功能并没有一个统一的共识,所以可以不做处理。

由于 Ctrl+F 与 Ctrl+Shift+F 一般是作为搜索快捷键使用的,因此在配置映射后,需要将搜索快捷键改为 Win+F 与 Win+Shift+F。

Ctrl+N 一般是新建文件,Ctrl+P 一般是打印,一般不常用,就不去处理了。

环境

  • Windows 10 21H2
  • AutoHotkey 1.1.33.10
  • PowerToys 0.61.1

AutoHotkey

在 Windows 平台下修改快捷键,一般第一个想到的就是 AutoHotkey。AutoHotkey 在快捷键支持上是相当不错的,例如之前也写过:

1
2
^p::Up
^n::Down

使用上面的映射发现在 Intellij Idea 的代码 Context Menu 中无法上下选择选项,而是会直接移动编辑框中的光标本身,看起来是有问题的。

PowerToys

安装 PowerToys,最简单的方式是通过微软应用商店安装,从商店中安装后续会自动更新。

按照文档添加以下映射

功能 快捷键 映射
Ctrl+P Up
Ctrl+N Down
Ctrl+B Left
Ctrl+F Right
搜索 Win+F Ctrl+F
全局搜索 Win+Shift+F Ctrl+Shift+F

实测可以正常在 Intellij Idea 的代码 Context Menu 中上下选择选项。