环境准备
# Mac
# vscode 环境准备:
安装 vscode
vim (opens new window) 扩展
mac
系统设置 - 键盘,将 按键重复
调到最快,将 重复前延迟
调到最短
在命令行执行如下代码(开启长按键盘重复输入):
defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false # For VS Code
defaults write com.microsoft.VSCodeInsiders ApplePressAndHoldEnabled -bool false # For VS Code Insider
defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false # For VS Codium
defaults write com.microsoft.VSCodeExploration ApplePressAndHoldEnabled -bool false # For VS Codium Exploration users
defaults delete -g ApplePressAndHoldEnabled # If necessary, reset global default
2
3
4
5
最后一个命令如果出现上图报错,不用管,重启 vscode
就好了
# 键位映射准备
推荐使用 karabiner-elements (opens new window) 进行键位映射,Karabiner-Elements | Henry 是对软件的简单介绍
要注意给权限,否则不生效
映射规则如下:
非 HHKB
键盘 ctrl
与 caps lock
互换;在日常中,caps lock
键的作用其实不大,而 ctrl
键的使用频率更高,但他们的位置却相反,所以换过来会更适合我们日常使用
互换以后,我们切换中英文就有点不方便了,可以再添加一个规则:Post caps_lock if left_control is pressed alone.
打开这个网址 (opens new window),点击后面的 Import
来引入该规则
在弹框中选择 打开 Karabiner-Elements.app
点击下图中的 Import
来引入
引入以后点击左下角的 Add rule
找到 Post caps_lock if left_control is pressed alone.
,点击后面的 Enable
启用该规则
这样当我们单独按下左 control
后,就是切换中英文,配合别的按键,就是 control
键
然后我们还需要加一个规则:SpaceFN (opens new window),引入步骤同上
意思就是把 space
映射为 fn
键,当我们使用小配列键盘时,总是需要使用 fn
加别的按键实现一些功能,但 fn
的位置却不好,导致我们使用的时候总是很别扭,而 space
我们很容易触碰,但功能却只是加空格或确认输入,有点浪费这大好位置了
如上图所示,SpaceFN: Space+[hjkl] to Left, Down, Up, Right
,以后无论在任何地方,只要使用 space+hjkl
即可实现方向键;SpaceFN: Space+[1234567890-=] to F[1-12]
,使用 space+123...
即可实现 F123...
功能键;简直好用的不得了
这里顺便说一下,崔大视频里推荐的是 control + hjkl
,但由于 Windows
的 ctrl
承担了太多的快捷键了,为了双端按键统一,我都改成 space
了,这个看大家的喜好
如果你使用的是 SpaceFN
,那么看视频里如果提到 control + hjkl
,自动替换到 space +hjkl
即可
# Windows
# vscode 环境准备:
安装 vscode
vim (opens new window) 扩展
由于 Windows
默认就支持长按重复输入,故不需要处理
# 键位映射准备 (自己实现)
推荐使用 autohotkey (opens new window) 进行重映射按键 (opens new window)
但这个软件有一定的学习成本,好在有大佬基于这个软件做出来一个可通过界面配置的第三方软件:MyKeymap (opens new window),完全满足我们的需求,就是默认配置与我们有些许不同,需要修改一下:
由于本人是 mac/Windows
双系统开发,mac
使用的键盘是 HHKB
,故 Windows
会改键,达到无论在哪个系统,按键习惯都一致的效果,还是那句话:依个人喜好配置
首先是系统按键改键
Mac
左下角的系统按键依次是:control/options/command
,而 Windows
的是 ctrl/win/alt
一般的对应关系是 options -> alt
, command -> ctrl
,所以改键配置为:
LCtrl::LWin ; 左 ctrl 改为 左 win
LWin::LAlt ; 左 win 改为 左 alt
LAlt::LCtrl ; 左 alt 改为 左 ctrl
2
3
打开 MyKeymap
的设置界面,将上方的代码输入到下图红框中即可
但这有一个致命缺点:Win + L
或 Ctrl + Alt + Del
这样的特殊热键无法覆盖,要想完全改键,需要修改注册表,推荐使用KeyTweak (opens new window)
关于使用 autohotkey
改键与使用注册表改键的区别看这里 (opens new window)
而我们上面将 Mac
的 caps lock
与 control
互换了,所以 Windows
也需要改变一下
这里我们就不互换按键了,直接修改 caps lock to Ctrl
,达到按键习惯与 mac
一致
这个功能 MyKeymap
还无法做到,需要我们新建一个后缀名为 .ahk
的文件,把下方的代码粘贴进去并双击打开即可
; CapsLock 短按切换输入法,先按其他功能键再按 CapsLock 为切换大小写;CapsLock 与其他某个键同按时,CapsLock 映射为 ctrl,如 CapsLock + w => ctrl + w
; https://zhuanlan.zhihu.com/p/389784449
#InstallKeybdHook
; 禁用大写功能,防止误触
SetCapsLockState, alwaysoff
Capslock::
Send {LControl Down}
KeyWait, CapsLock
Send {LControl Up}
if ( A_PriorKey = "CapsLock" )
{
Send {ctrl down}{shift down}
Send {shift up}{ctrl up}
}
; CapsLock + [ 进入 normal 模式,并切换到英文输入法,系统配置的切换到英文快捷键是 ctrl + 0,具体配置参见下一篇
if ( A_PriorKey = "[")
{
; Send {Esc}
Send ^0
return
}
return
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
由于 MyKeymap
默认为 caps lock
绑定了很多功能,所以我们需要禁用这些功能;如下图,把和 caps lock
有关的开关均关闭
接下来是 SpaceFN
:
我们先在 开关/设置
中打开 空格模式
然后切换到 空格模式
,点击需要配置的按键,选择对应的功能即可
如下图,我们将 space + 1
映射为 F1
大家可以点击 推荐点此查看示例
查看如何配置
- 01
- 搭配 Jenkins 实现自动化打包微前端多个项目09-15
- 02
- 自动化打包微前端多个项目09-15
- 03
- el-upload 直传阿里 oss 并且显示自带进度条和视频回显封面图06-05