解放右手鼠标,效率实用神器 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

相关文章

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

Linux使用nohup命令在后台运行脚本

《Linux使用nohup命令在后台运行脚本》在Linux或类Unix系统中,后台运行脚本是一项非常实用的技能,尤其适用于需要长时间运行的任务或服务,本文我们来看看如何使用nohup命令在后台... 目录nohup 命令简介基本用法输出重定向& 符号的作用后台进程的特点注意事项实际应用场景长时间运行的任务服

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能

mysql主从及遇到的问题解决

《mysql主从及遇到的问题解决》本文详细介绍了如何使用Docker配置MySQL主从复制,首先创建了两个文件夹并分别配置了`my.cnf`文件,通过执行脚本启动容器并配置好主从关系,文中还提到了一些... 目录mysql主从及遇到问题解决遇到的问题说明总结mysql主从及遇到问题解决1.基于mysql

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

如何安装HWE内核? Ubuntu安装hwe内核解决硬件太新的问题

《如何安装HWE内核?Ubuntu安装hwe内核解决硬件太新的问题》今天的主角就是hwe内核(hardwareenablementkernel),一般安装的Ubuntu都是初始内核,不能很好地支... 对于追求系统稳定性,又想充分利用最新硬件特性的 Ubuntu 用户来说,HWEXBQgUbdlna(Har

IDEA中的Kafka管理神器详解

《IDEA中的Kafka管理神器详解》这款基于IDEA插件实现的Kafka管理工具,能够在本地IDE环境中直接运行,简化了设置流程,为开发者提供了更加紧密集成、高效且直观的Kafka操作体验... 目录免安装:IDEA中的Kafka管理神器!简介安装必要的插件创建 Kafka 连接第一步:创建连接第二步:选