Keymap: caps绑定ctrl、tab配合移动、esc自动切换输入法中英文

痛点

经常使用vim,喜欢用hjkl进行移动操作。ctrl不容易按到,所以绑定到不常使用的大小写锁定键。

在使用笔记和编程软件如 obsidianvscode时配置了vim的插件。如果在按下Esc退出插入模式返回normal时能自动切换英文输入就不必每次按一下shift了。

设置

方法

  1. 重新映射
    /rightarrow Ctrl
    /rightarrow CapsLock
  2. 像vim一样移动
    /rightarrow Tab
    /rightarrow
    /rightarrow
    /rightarrow
    /rightarrow
  3. 按下Esc的同时切换到英文输入,这里使用的搜狗输入法。
    借用了 vscode 下 vim 配置及输入法自动切换
    需要对搜狗输入法进行设置:

    1. 设置-常用-默认状态-中文/英文,勾选为英文。(貌似不做这一步也行)
    2. -搜狗输入法快捷键,设一个不易冲突的快捷键。
      原文使用的F8,但是在 pycharm里面是断点开关的快捷键。
      我在多次尝试后选择了()。

后续
obsidian 和 vscode又出bug了,pycharm目前用的少,改回F8了。
pycharm好像有插件能设置normal模式保持英文输入法。


Windows

使用了autohotkey,脚本:

#NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
; #Warn  ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

Shift & CapsLock:: CapsLock
CapsLock:: Ctrl

Tab & h:: Left
Tab & j:: Down
Tab & k:: Up
Tab & l:: Right
Tab:: Tab

~Esc::
    Send, ^{)} ; 搜狗输入法启动快捷键
    Send, {Shift} ; 中英文切换
return

有需要的话可以使用if语句选择在特定的软件中按键生效。

设为开机启动:

打开运行窗口,在输入框输入 shell:startup 回车打开启动目录,将快捷方式放入即可。

Linux

联合xmodmapxcape实现。

#! /bin/bash

# make caps => ctrl
# and  => caps
xmodmap -e "clear lock"
xmodmap -e "clear control"
xmodmap -e "add control = Caps_Lock Control_L Control_R"
xmodmap -e "keycode 66 = Control_L Caps_Lock NoSymbol NoSymbol"

# make  => left/down/up/right
# need xcape downloaded from github
spare_modifier="Mode_switch"  # no space around = in the bash script

xmodmap -e "keycode 23 = $spare_modifier"
xmodmap -e "keycode 43 = h H Left Left"
xmodmap -e "keycode 44 = j J Down Down"
xmodmap -e "keycode 45 = k K Up Up"
xmodmap -e "keycode 46 = l L Right Right"

# set a keysym for xcape
xmodmap -e "keycode any = Tab"
# run xcape
./path/to/xcape -e "$spare_modifier=Tab"  # notice that there is no space around =

注意 xcape 的存储路径。
同样可以在开机启动时自动加载这个脚本。

版权声明:
作者:siwei
链接:https://www.techfm.club/p/91447.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>