解放右手鼠标,效率实用神器 Autohotkey 利用 Capslock 键匹配 vim 键位| Autohotkey 脚本解决 onenote 上下键问题 | Capslock++

本文主要是介绍解放右手鼠标,效率实用神器 Autohotkey 利用 Capslock 键匹配 vim 键位| Autohotkey 脚本解决 onenote 上下键问题 | Capslock++,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

好多年前就用一个祖传 autohotkey 脚本来在所有地方用上 hjkl 来写字,最近因为 onenote uwp 要寿终正寝了,准备用回 office 的版本,结果想起来之前一直用 UWP 是因为 autohotkey 不支持 onenote win32 版本里面的上下键,最近查找了一下解决了这个问题;

这里备注一下防止以后弄丢这个脚本了。

首先是用法(自动热钥匙软件的教程自己百度一下很多了,这个文章主要解决一下 Onenote 的问题):

Capslock + hjkl 是经典的上下左右键,然后
Capslock + i 是 home, capslock + m 是 end。

附带的一些包括 Capslocks + c, Capslocks + v

对于要跳过词组的
Capslocks + Shift + h 和 j 分别是左右跳过一个词组(英文是以空格分割,中文可能是两个字可能是一句,得看 GUI 软件分词是怎么实现的)。

要选中文本:
Capslocks + alt + hjkl 和 i m 都能用。

下面是完整代码:

;;====================Vim AHK Script=====================;;
;;==================================================================;;
;;=========================CapsLock's Stuff=========================;;
;;==================================================================;;SetCapsLockState, AlwaysOff
CapsLock & w:: Send, ^w                 ; w = close tab
;CapsLock & x:: Send, ^x                 ; X = Cut
CapsLock & c:: Send, ^c                 ; C = Copy
CapsLock & v:: Send, ^v                 ; V = Paste
CapsLock & a:: Send, ^a	; sp= Select All
CapsLock & y:: Send, ^y                	; Y = Redo
CapsLock & s:: Send, ^s                	; s save
CapsLock & /:: Send, ^f                	;#IfWinActive ahk_exe ONENOTE.exe
; https://stackoverflow.com/questions/44170454/up-down-key-not-working-in-onenote-2016-for-autohotkey
CapsLock & j::ControlSend, OneNote::DocumentCanvas1, {Down}
CapsLock & k::ControlSend, OneNote::DocumentCanvas1, {Up}
#IfWinActive
;============================!+k:: Send, ^{UP}            
!+j:: Send, ^{Down}    
^SPACE::  Winset, Alwaysontop, , A
;===========================;caps=esc
CapsLock::Esc
Esc::CapsLock
;===========================;Esc&`
;`::Esc
;Esc::`
;===========================;6 =F6
CapsLock & 6::
if getkeystate("alt") = 0
Send, {F6}
else
Send, +{F6}
return
;===========================;5 =F5
CapsLock & 5::
if getkeystate("alt") = 0
Send, {F5}
else
Send, +{F5}
return
;===========================;Back = Del
CapsLock & BS::
if getkeystate("alt") = 0
Send, {Del}
else
Send, +{Del}
return
;===========================;I = Home
CapsLock & i::
if getkeystate("alt") = 0
Send, {Home}
else
Send, +{Home}
return
;===========================;M = End
CapsLock & m::
if getkeystate("alt") = 0
Send, {End}
else
Send, +{End}
return
;===========================;H = Left
CapsLock & h::
if getkeystate("shift") = 1
Send, ^{Left}
else if getkeystate("alt") = 0  
Send, {Left}
else
Send, +{Left}
return
;===========================;J = Down
CapsLock & j::
if getkeystate("shift") = 1
Send, ^{Down}
else if getkeystate("alt") = 0
Send, {Down}
else
Send, +{Down}
return
;===========================;K = UP
CapsLock & k::
if getkeystate("shift") = 1
Send, ^{Up}
else if getkeystate("alt") = 0
Send, {Up}
else
Send, +{Up}
return
;===========================;L = Right
CapsLock & l::
if getkeystate("shift") = 1
Send, ^{Right}
else if getkeystate("alt") = 0
Send, {Right}
else
Send, +{Right}
return

用了一段时间 mac 回到 Windows 后被 command 键给搞懵了。。。
补充一个 alt 映射到 ctrl 的版本:

;;====================Vim AHK Script=====================;;
;;==================================================================;;
;;=========================CapsLock's Stuff=========================;;
;;==================================================================;;
;;在Script的最前面加上这些语句:SetCapsLockState, AlwaysOff
CapsLock & w:: Send, ^w                 ; w = close tab
;CapsLock & x:: Send, ^x                 ; X = Cut
CapsLock & c:: Send, ^c                 ; C = Copy
CapsLock & v:: Send, ^v                 ; V = Paste
CapsLock & a:: Send, ^a	; sp= Select All
CapsLock & y:: Send, ^y                	; Y = Redo
CapsLock & s:: Send, ^s                	; s save
CapsLock & /:: Send, ^f                	;;; Alt c/v/fa
!a::Send, ^a
!c::Send, ^c
!v::Send, ^v
!x::Send, ^x
!f::Send, ^fa
!s::Send, ^s
!z::Send, ^z
!y::Send, ^y#IfWinActive ahk_exe ONENOTE.exe
; https://stackoverflow.com/questions/44170454/up-down-key-not-working-in-onenote-2016-for-autohotkey
CapsLock & j::ControlSend, OneNote::DocumentCanvas1, {Down}
CapsLock & k::ControlSend, OneNote::DocumentCanvas1, {Up}
^+1::return
^+2::return
^+3::return
^+4::return
^+5::return
#IfWinActive
;============================
!+k:: Send, ^{UP}            
!+j:: Send, ^{Down}    
^SPACE::  Winset, Alwaysontop, , A
;===========================;caps=esc
CapsLock::Esc
Esc::CapsLock
;===========================;Esc&`
;`::Esc
;Esc::`
;===========================;6 =F6
CapsLock & 6::
if getkeystate("alt") = 0
Send, {F6}
else
Send, +{F6}
return
;===========================;5 =F5
CapsLock & 5::
if getkeystate("alt") = 0
Send, {F5}
else
Send, +{F5}
return
;===========================;Back = Del
CapsLock & BS::
if getkeystate("alt") = 0
Send, {Del}
else
Send, +{Del}
return
;===========================;I = Home
CapsLock & i::
if getkeystate("alt") = 0
Send, {Home}
else
Send, +{Home}
return
;===========================;M = End
CapsLock & m::
if getkeystate("alt") = 0
Send, {End}
else
Send, +{End}
return
;===========================;H = Left
CapsLock & h::
if getkeystate("shift") = 1
Send, ^{Left}
else if getkeystate("alt") = 0  
Send, {Left}
else
Send, +{Left}
return
;===========================;J = Down
CapsLock & j::
if getkeystate("shift") = 1
Send, ^{Down}
else if getkeystate("alt") = 0
Send, {Down}
else
Send, +{Down}
return
;===========================;K = UP
CapsLock & k::
if getkeystate("shift") = 1
Send, ^{Up}
else if getkeystate("alt") = 0
Send, {Up}
else
Send, +{Up}
return
;===========================;L = Right
CapsLock & l::
if getkeystate("shift") = 1
Send, ^{Right}
else if getkeystate("alt") = 0
Send, {Right}
else
Send, +{Right}
return

这篇关于解放右手鼠标,效率实用神器 Autohotkey 利用 Capslock 键匹配 vim 键位| Autohotkey 脚本解决 onenote 上下键问题 | Capslock++的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/970547

相关文章

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

基于Python打造一个智能单词管理神器

《基于Python打造一个智能单词管理神器》这篇文章主要为大家详细介绍了如何使用Python打造一个智能单词管理神器,从查询到导出的一站式解决,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 项目概述:为什么需要这个工具2. 环境搭建与快速入门2.1 环境要求2.2 首次运行配置3. 核心功能使用指

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring