Skip to content

qw457812/dotfiles

Repository files navigation

dotfiles-typing-svg

Hack keyboard use Karabiner, and maintain my karabiner config with Goku.

Head over to nikitavoloboev's personal wiki to learn more about karabiner and goku.

Here are some settings (click to see)
Type From To Comment Favorite Todo
layer space+any shift+any use the most strongest finger yes!
layer v/m+any control+any use the second strongest finger yes!
layer s+h/j/k/l arrow keys yes!
layer s+d/f copy/paste
layer d+j/k cmd+shift+]/cmd+shift+[ in chrome; ctrl+tab/ctrl+shift+tab in wps switch tabs in most apps yes
layer d+m maximiz window remap Rectangle
layer d+f/s clicking(like vimium-f)/scrolling remap Homerow
layer f+j/k delete/return so easy to delete yes!
layer w+any launch application w+j -> open chrome when not in chrome; w+j -> cmd+` when already in chrome yes!
layer o+any open website o+f -> create new tab of chrome
layer a+h/j/k/l/v/b/n mouse navigation/click during navigation: hold f to slow down, hold s to scroll avoid pinky problem
layer a+i/o zoom in/out
layer t+any toggle setting/information t+d -> toggle dark mode
layer g+h/j/k/l home/page_down/page_up/end
layer x+h/j/k/l shift+arrow vi visual mode
layer r+h/j/k/l scrolling
simultaneous keys j+k esc yes
simultaneous keys m+k translate remap Easydict left hand mode with mouse
modifier alone left cmd cmd+tab so easy to switch previous app yes!
modifier alone right cmd mouse center click to active app, then maximize window use it a lot when vimium/ideavim lose focus in chrome/IntelliJ yes
modifier alone left option tmux prefix yes
modifier alone right option translate in chrome/IntelliJ/Others remap immersive-translate/Translation/Easydict yes
modifier alone left shift switch english/chinese input by Rime (nothing to do with goku) avoid pinky problem
modifier alone right shift caps_lock turn on caps_lock to enter vi mode (in process) more vi binding
modifier alone fn copy
modifier alone left control paste
other caps_lock esc(pressed alone)/control(as modifier) use j+k and v/m+any instead
mouse right click copy word(double right click)/selected(hold right click)
mouse option/command + left click copy word/selected
mouse middle click paste(hold middle click to overwrite)
trackpad s/d + finger on trackpad copy word/selected easy to accidentally trigger
trackpad f + finger on trackpad paste(hold f to overwrite) easy to accidentally trigger
trackpad h/j/k/l + finger on trackpad arrow keys(one finger), home/page_down/page_up/end(two fingers) easy to accidentally trigger

Using Glove80 keyboard.

Using WhatPulse to track keyboard input.

My neovim config based on NvChad.

Very poor, need to be improved.

TODO:

  1. Try LazyVim, Kickstart, AstroNvim by Lazyman, configure them and compare with NvChad.
  2. Find out a set of keybindings that can be used everywhere, equivalent mapping configurations for other IDEs VIM integrations: IdeaVim, VSCodeVim.

Tips:

  1. Remap esc.

    • For all keyboard (mainly for Apple Internal Keyboard): remap jk to esc by karabiner.
    • For Glove80 specifically: remap one of the thumb keys to esc by karabiner.
    • In vim(s): inoremap jj <esc> or inoremap jk <esc>.
  2. Turn up Key repeat rate and turn down Delay until repeat in System Settings -> Keyboard.

    See .macos.

  3. When leaving insert mode, auto switch to english input source (if necessary).

  4. Remap shift (optional).

    • For all keyboard: remap space to shift by karabiner.

      Don't worry, the original tap and hold (repeat) functions of space are retained.

.ideavimrc

settings.json

keybindings.json

DOOMDIR

Using Emacs Plus.

.zshrc

.tmux.conf.local

vifmrc

My rime config for Chinese input based on rime-ice and powered by TigerCode.

Using KeyboardHolder to keep Squirrel as the only input source on macOS, instead of ABC.

And using ShowyEdge to notice when input source automatically changes to ABC.

Using emacs-rime in Doom Emacs.

sketchybarrc

.yabairc

zathurarc

Using zathura-pdf-poppler plugin.

Fix zathura auto focus on open problem by using yabai.