More Vim modes and more roboustness via macros

This commit is contained in:
Knyffen 2021-08-25 17:17:16 +02:00
parent 6b92168548
commit 4f457f7024

View File

@ -12,7 +12,7 @@
# Define virtual keys # Define virtual keys
Vim = Virtual1 Vim = Virtual1
Ins = Virtual2 Ins = Virtual2 # (mostly used as a negative !Ins)
Jump = Virtual3 Jump = Virtual3
# Set LED indicator # Set LED indicator
@ -22,40 +22,48 @@ Jump = Virtual3
# Regular remappings # Regular remappings
CapsLock >> ContextMenu CapsLock >> ContextMenu
# Multi-step G-jumps # Define Macros
!Jump !Shift Vim{G} >> Jump VimI = !Jump !Control (Ins Vim) # Insert mode
(Vim Jump){Escape} >> Jump VimJ = !Ins !Shift !Control (Jump Vim) # G+commands (jumps)
VimJS = !Ins !Control (Jump Vim) # G+commands (jumps) hold shift
VimN = !Ins !Jump !Shift !Control Vim # Normal mode
VimNS = !Ins !Jump !Control (Vim Shift) # Normal mode hold shift
# Ins is for emulating e.g. insert mode, search or typing commands # Vim insert mode
!Ins Vim{I} >> Ins VimN{I} >> Ins
Ins{Enter} >> Ins VimN{A} >> ArrowRight Ins
Ins{Escape} >> InsEsc VimI{Enter} >> Enter Ins
VimI{Escape} >> InsEsc
# Vim jumps
VimN{G} >> Jump
VimJ{Escape} >> Jump
[title="Firefox"] [title="Firefox"]
!Ins Vim{U} >> PageUp VimN{U} >> PageUp
!Ins Vim{D} >> PageDown VimN{D} >> PageDown
# Search # Search
!Ins Vim{Slash} >> Control{F} Ins VimN{Slash} >> Control{F} Ins
!Ins Vim{N} >> F3 VimN{N} >> F3
!Ins Vim{Shift{N}} >> Shift{F3} VimNS{N} >> Shift{F3}
InsEsc >> Ins
# Jump # Jump
(Vim Jump){G} >> Home Jump VimJ{G} >> Home Jump
!Jump (Vim Shift){G} >> Shift End # shift is necessary to avoid the shift+end key combination VimNS{G} >> Shift End # shift is necessary to avoid the shift+end key combination
[title="KRunner"] [title="KRunner"]
InsEsc >> Ins Escape InsEsc >> Ins Escape
# Systemwide Vim mode # Systemwide Vim mode
[system="Linux"] [system="Linux"]
!Ins Vim{H} >> ArrowLeft VimN{H} >> ArrowLeft
!Ins Vim{J} >> ArrowDown VimN{J} >> ArrowDown
!Ins Vim{K} >> ArrowUp VimN{K} >> ArrowUp
!Ins Vim{L} >> ArrowRight VimN{L} >> ArrowRight
!Ins !Control Vim{W} >> Control{ArrowRight} VimN{W} >> Control{ArrowRight}
!Ins Vim{B} >> Control{ArrowLeft} VimN{B} >> Control{ArrowLeft}
!Ins Vim{Backspace} >> ArrowLeft VimN{Backspace} >> ArrowLeft
!Ins Vim{Backslash} >> AltLeft{F2} Ins VimN{Backslash} >> AltLeft{F2} Ins
VimN{X} >> Delete
InsEsc >> Ins InsEsc >> Ins
# VIM: let g:neomake_verbose = 3 # VIM: let g:neomake_verbose = 3