Skip to content

[Function request] Automatic escape of pattern characters in lines on selection #4

Description

@yyy33

For example, if I want to search for line 115 in the document, I should use very nomagic
\V[system="Linux" class="Alacritty" modifier="(AltLeft ShiftLeft)"] or \[system="Linux" class="Alacritty" modifier="(AltLeft ShiftLeft)"] Instead of [system="Linux" class="Alacritty" modifier="(AltLeft ShiftLeft)"]

#TODO 支持向进程的标准输入发送字符串,比如向终端发送字符串【ctrl-shift-c】,
#然后在vim中就可以映射: map 《c-s-c》 key/command
#查看键码的网站
#https://www.toptal.com/developers/keycode/for/a

#F系列键的终端ascii转义序列
KF1 = Escape Shift{O} Shift{P}
KF2 = Escape Shift{O} Shift{Q}
KF3 = Escape Shift{O} Shift{R}
KF4 = Escape Shift{O} Shift{S}
KF5 = Escape BracketLeft 1 5 Shift{Backquote}
KF6 = Escape BracketLeft 1 7 Shift{Backquote}
KF7 = Escape BracketLeft 1 8 Shift{Backquote}
KF8 = Escape BracketLeft 1 9 Shift{Backquote}
KF9 = Escape BracketLeft 2 0 Shift{Backquote}
KF10 = Escape BracketLeft 2 1 Shift{Backquote}
KF11 = Escape BracketLeft 2 3 Shift{Backquote}
KF12 = Escape BracketLeft 2 4 Shift{Backquote}
KF13 = Escape BracketLeft 1 Semicolon 2 Shift{P}
KF14 = Escape BracketLeft 1 Semicolon 2 Shift{Q}
KF15 = Escape BracketLeft 1 Semicolon 2 Shift{R}
KF16 = Escape BracketLeft 1 Semicolon 2 Shift{S}
KF17 = Escape BracketLeft 1 5 Semicolon 2 Shift{Backquote}
KF18 = Escape BracketLeft 1 7 Semicolon 2 Shift{Backquote}
KF19 = Escape BracketLeft 1 8 Semicolon 2 Shift{Backquote}
KF20 = Escape BracketLeft 1 9 Semicolon 2 Shift{Backquote}
KF21 = Escape BracketLeft 2 0 Semicolon 2 Shift{Backquote}
KF22 = Escape BracketLeft 2 1 Semicolon 2 Shift{Backquote}
KF23 = Escape BracketLeft 2 3 Semicolon 2 Shift{Backquote}
KF24 = Escape BracketLeft 2 4 Semicolon 2 Shift{Backquote}
KF25 = Escape BracketLeft 1 Semicolon 5 Shift{P}
KF26 = Escape BracketLeft 1 Semicolon 5 Shift{Q}
KF27 = Escape BracketLeft 1 Semicolon 5 Shift{R}
KF28 = Escape BracketLeft 1 Semicolon 5 Shift{S}
KF29 = Escape BracketLeft 1 5 Semicolon 5 Shift{Backquote}
KF30 = Escape BracketLeft 1 7 Semicolon 5 Shift{Backquote}
KF31 = Escape BracketLeft 1 8 Semicolon 5 Shift{Backquote}
KF32 = Escape BracketLeft 1 9 Semicolon 5 Shift{Backquote}
KF33 = Escape BracketLeft 2 0 Semicolon 5 Shift{Backquote}
KF34 = Escape BracketLeft 2 1 Semicolon 5 Shift{Backquote}
KF35 = Escape BracketLeft 2 3 Semicolon 5 Shift{Backquote}
KF36 = Escape BracketLeft 2 4 Semicolon 5 Shift{Backquote}
KF37 = Escape BracketLeft 1 Semicolon 6 Shift{P}
KF38 = Escape BracketLeft 1 Semicolon 6 Shift{Q}
KF39 = Escape BracketLeft 1 Semicolon 6 Shift{R}
KF40 = Escape BracketLeft 1 Semicolon 6 Shift{S}
KF41 = Escape BracketLeft 1 5 Semicolon 6 Shift{Backquote}
KF42 = Escape BracketLeft 1 7 Semicolon 6 Shift{Backquote}
KF43 = Escape BracketLeft 1 8 Semicolon 6 Shift{Backquote}
KF44 = Escape BracketLeft 1 9 Semicolon 6 Shift{Backquote}
KF45 = Escape BracketLeft 2 0 Semicolon 6 Shift{Backquote}
KF46 = Escape BracketLeft 2 1 Semicolon 6 Shift{Backquote}
KF47 = Escape BracketLeft 2 3 Semicolon 6 Shift{Backquote}
KF48 = Escape BracketLeft 2 4 Semicolon 6 Shift{Backquote}
KF49 = Escape BracketLeft 1 Semicolon 3 Shift{P}
KF50 = Escape BracketLeft 1 Semicolon 3 Shift{Q}
KF51 = Escape BracketLeft 1 Semicolon 3 Shift{R}
KF52 = Escape BracketLeft 1 Semicolon 3 Shift{S}
KF53 = Escape BracketLeft 1 5 Semicolon 3 Shift{Backquote}
KF54 = Escape BracketLeft 1 7 Semicolon 3 Shift{Backquote}
KF55 = Escape BracketLeft 1 8 Semicolon 3 Shift{Backquote}
KF56 = Escape BracketLeft 1 9 Semicolon 3 Shift{Backquote}
KF57 = Escape BracketLeft 2 0 Semicolon 3 Shift{Backquote}
KF58 = Escape BracketLeft 2 1 Semicolon 3 Shift{Backquote}
KF59 = Escape BracketLeft 2 3 Semicolon 3 Shift{Backquote}
KF60 = Escape BracketLeft 2 4 Semicolon 3 Shift{Shift{Backquote}}
KF61 = Escape BracketLeft 1 Semicolon 4 Shift{P}
KF62 = Escape BracketLeft 1 Semicolon 4 Shift{Q}
KF63 = Escape BracketLeft 1 Semicolon 4 Shift{R}

[system="Linux" class="Alacritty" modifier="(MetaLeft ShiftLeft)"]
H >> KF63
J >> KF62
K >> KF61
L >> KF60
Equal >> KF59
Minus >> KF58
Enter >> KF57
Period >> KF56

[system="Linux" class="Alacritty" modifier="MetaLeft"]
H >> KF55
J >> KF54
K >> KF53
L >> KF52
U >> KF51
Equal >> KF50
Minus >> KF49
0 >> KF48
Enter >> KF47
Period >> KF46
O >> KF45

[system="Linux" class="Alacritty" modifier="(ControlLeft ShiftLeft)"]
Semicolon >> KF44
Comma >> KF43
Period >> KF42

[system="Linux" class="Alacritty"]
(ControlLeft ShiftLeft){Any} >> (ControlLeft ShiftLeft){Any}
(ControlLeft ShiftRight){Any} >> (ControlLeft ShiftRight){Any}
#BUG 下面映射理论上可以替代上面的两条映射,但是不起作用
#(ControlLeft Any){Any} >> (ControlLeft Any){Any}

[system="Linux" class="Alacritty" modifier="ControlLeft"]
Semicolon >> KF41
Comma >> KF40
Enter >> KF39
Period >> KF38
BracketLeft >> KF37
Quote >> KF36
Space >> KF35
Any >> ControlLeft{Any}

[system="Linux" class="Alacritty" modifier="(AltLeft ShiftLeft)"]
Semicolon >> KF34
Comma >> KF33

[system="Linux" class="Alacritty"]
(AltLeft ShiftLeft){Any} >> (AltLeft ShiftLeft){Any}
(AltLeft ShiftRight){Any} >> (AltLeft ShiftRight){Any}

[system="Linux" class="Alacritty" modifier="(AltLeft Backquote)"]
Enter >> KF32
Space >> KF31
#J >> KF30

[system="Linux" class="Alacritty" modifier="(AltLeft CapsLock)"]
J >> KF9
K >> KF8

[system="Linux" class="Alacritty" modifier="CapsLock"]
P >> KF7
J >> KF6
K >> KF5
N >> KF4

[system="Linux" class="Alacritty" modifier="AltLeft"]
Semicolon >> KF29
Comma >> KF28
Enter >> KF27
Period >> KF26
Quote >> KF25
Space >> KF24
Any >> AltLeft{Any}

[system="Linux" class="Alacritty" modifier="Backquote"]
Enter >> KF23
Space >> KF22
J >> KF21
K >> KF20
L >> KF19
U >> KF18
Period >> KF17
R >> KF16
V >> KF15
O >> KF14

#BUG 在中文输入法下shiftleft+, shiftleft+. 有问题
[system="Linux" class="Alacritty" modifier="ShiftLeft"]
# Enter >> KF13
Space >> KF12
Any >> ShiftLeft{Any}

[system="Linux" class="Alacritty"]
#TODO 实现类似xcape的效果,在按住超过500ms后就不发送了
ControlLeft >> KF11
AltLeft >> KF10

#warpd
[system="Linux" modifier="CapsLock"]
H >> (AltLeft MetaLeft){C}
J >> (AltLeft MetaLeft){C}
K >> (AltLeft MetaLeft){C}
L >> (AltLeft MetaLeft){C}
N >> (AltLeft MetaLeft){C}
P >> (AltLeft MetaLeft){C}
M >> (AltLeft MetaLeft){X}
O >> (AltLeft MetaLeft){L}
Semicolon >> (AltLeft MetaLeft){H}
I >> (AltLeft MetaLeft){S}

[default]
CapsLock{Space} >> CapsLock
CapsLock >> Escape
Escape >> CapsLock
Space{Any} >> MetaLeft{Any}
(Space ShiftLeft){Any} >> (MetaLeft ShiftLeft){Any}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions