[!note]

本来主要是想找一下「」和『』,然后这个方法直接可以找到大部分的特殊字符

通过输入法输出

  1. 『Ctr + shift + Z』进入搜狗输入法的『符号大全』

  2. 在『标点符号』项可以找到「」和『』


使用AutoHotKey自定义替换

[!note]

每次想要用到这两个符号的时候都要进入输入法的『符号大全』里面找的话,操作还是没那么方便,所以就想着找到别的更高效的方法,于是就查到了可以使用『AutoHotKey』这个软件进行自定义一些热键。

AutoHotkey 简介

AutoHotkey (AHK) 是一个功能强大的开源脚本语言和自动化工具,主要用于 Windows 操作系统。它通过简洁的语法和强大的功能,使用户能够快速定义快捷键、宏、文本替换规则,甚至开发功能复杂的应用程序。


主要特点

  1. 快捷键绑定

    • 定义自定义快捷键,如组合键(Ctrl+Alt+T)、鼠标按键,甚至设备专用键。
    • 适用于提高工作效率,如快速启动程序、操作窗口等。
  2. 文本替换
    • 设置特定的输入触发特定的输出,例如将 btw 自动替换为 by the way
  3. 脚本自动化
    • 模拟鼠标点击、键盘输入等操作,自动完成繁琐重复的任务。
  4. 窗口管理
    • 自动调整窗口大小、位置,切换窗口,隐藏窗口等。
  5. 硬件扩展支持
    • 自定义处理特殊硬件设备(如自定义游戏键盘和鼠标按键的功能)。
  6. 轻量级与开源
    • 脚本体积小巧,运行效率高,完全免费,拥有活跃的社区支持。

常见用途

  1. 文本和脚本自动化

    • 录入经常使用的短语。
    • 快速批量修改文件名。
  2. 提高工作效率
    • 快捷打开文件、文件夹或网站。
    • 一键填写表单。
  3. 游戏辅助
    • 编写简单的辅助脚本,如自动点击、宏操作等。
  4. 窗口管理
    • 在多显示器之间快速移动窗口。
    • 根据需求排列窗口位置和大小。
  5. 开发工具
    • 定制化工具和简单程序,如定时器、弹窗工具。

基本语法

AutoHotkey 的语法简单易学。以下是一些基本示例:

  1. 快捷键绑定

    ^j::Send, Hello, AutoHotkey!

    解释

    • ^ 表示 Ctrl 键,^j 表示 Ctrl+J
    • 按下 Ctrl+J 时,发送文本 Hello, AutoHotkey!
  2. 文本替换

    ::btw::by the way

    解释

    • 输入 btw 后按空格,自动替换为 by the way
  3. 自动化任务

    F1::
    Run, notepad.exe
    Sleep, 1000
    Send, This is an automated script.{Enter}
    Return

    解释

    • F1 键时,打开记事本,等待 1 秒后输入一行文本。
  4. 窗口管理

    #z::WinMaximize, A

    解释

    • # 表示 Win 键,#z 表示 Win+Z
    • 按下组合键时,最大化当前活动窗口。

安装与使用

  1. 下载: 从 AutoHotkey 官方网站 下载并安装。

  2. 创建脚本

  • 新建一个 .ahk 文件(如 MyScript.ahk)。

  • 使用记事本或任意代码编辑器打开,编写脚本内容。

  • 示例:|-替换为 -| 替换为

    #Requires AutoHotkey v2.0
    
    ::|-::「
    ::-|::」
  1. 运行脚本

    • 双击 .ahk 文件即可运行脚本。

    • 使用托盘图标可以进行暂停、退出脚本或重新加载操作。

      [!tip]

      不知道啥是托盘图标?看下面指示

      找到对应的「图标」,点击鼠标右键就会出现「操作选项」了。

  2. 编译为可执行文件

    • 进入AutoHotKey,选择「Complie」进行编译 .ahk 文件

    • 选择之前写好的脚本,生成 .exe 文件以「独立运行」即之后的每次运行不再需要AutoHotKey,方便设置「开机自启动」。

设置脚本开机自启动

[!tip]

为了使脚本每次开机之后都自动生效,不需要再手动开启,可以直接设置「开机自启动」,只需要将上面编辑好的.exe可执行文件放到「startup」目录下。

  1. 快速进入「startup」目录:点击Ctr+R快捷键,输入shell:startup,回车进入

    当然也可以通过「资源管理器」一步步进入目录

  2. 将.exe文件复制到该目录下,即可


优势与局限

优势

  • 易学易用:简单语法,适合快速上手。
  • 功能丰富:从快捷键到窗口管理,几乎覆盖所有桌面操作需求。
  • 社区支持:拥有丰富的教程和脚本资源。

局限

  • 仅限 Windows 平台:无法在 macOS(可使用textexpander) 或 Linux 上使用。
  • 高级功能需要学习:复杂脚本的编写可能需要掌握更深入的编程知识。
  • 与防作弊软件冲突:用于游戏时,可能被误判为作弊工具。

学习资源

  1. 官方文档:

  2. 社区论坛:
  3. 教程网站:

AutoHotkey 是一款小巧但功能强大的工具,适合想要提升工作效率、自动化任务或定制系统功能的用户。


实现自定义输出特殊字符

在简单了解之后,AutoHotKey的功能完全可以实现我的需求,于是便开始根据自己目前的需要,自定义输出特殊字符。

  1. 明确替换规则

    |-替换成

    -|替换成

    |=替换成

    =|替换成

  2. 编写脚本

    #Requires AutoHotkey v2.0
    
    :*:|-::「
    :*:-|::」
    :*:|=::『
    :*:=|::』

    [!important]

    与一般AutoHotKey的「文本替换」脚本的小小改进:

    关键的修改是在每个替换规则前添加 :*:,这个星号的作用是告诉 AutoHotkey 在检测到触发文本时立即执行替换,而不需要等待终止符(比如空格)。

    这样做可以避免每次都要多输出一个「空格」才能进行替换。

    1. 编译成.exe

      如前面所述

    2. 设置开机自启动

      如前面所述


[!important]

「」『』一般都是成对出现的,所以可以进一步优化脚本:

  1. 将‘|-’替换成‘「」’,并使得替换之后,光标停留在‘「’和‘」’之间,方便输入内容;

  2. 将‘|=’替换成‘『』’,并使得替换之后,光标停留在‘『’和‘』’之间,方便输入内容。

改进之后的脚本:

#Requires AutoHotkey v2.0

:*:|-::
{
SendInput "「」"
SendInput "{Left}" ; 移动光标到括号中间
} :*:|=::
{
SendInput "『』"
SendInput "{Left}" ; 移动光标到括号中间
} ; 保留单独的右括号输入
:*:-|::」
:*:=|::』

这个新版本脚本可以:

  1. 输入 |- 时,自动输入一对 「」 并将光标置于中间
  2. 输入 |= 时,自动输入一对 『』 并将光标置于中间
  3. 仍然保留了单独输入右括号的功能(使用 -|=|

使用效果:

  • 输入 |- → 得到 「|」(|表示光标位置)
  • 输入 |= → 得到 『|』(|表示光标位置)
  • 输入 -| → 得到
  • 输入 =| → 得到

当然,我这么用似乎有点大材小用了,AutoHotKey的强大功能可以实现更多功能,帮助提高效率,更多有趣用法等待被探索。

附:「AutoHotkey 效率提升脚本集

小感慨

没想到会因为先前的一个「特殊字符输出」问题,而最后学到了使用「AutoHotKey」这个工具,感觉很有收获。似乎是对现状的不满足,推动自己去探索,去思考,最后有所收获。

『AotuHotKey』——一个小巧却高效的实用效率工具的更多相关文章

  1. 『计算机视觉』Mask-RCNN

    一.Mask-RCNN流程 Mask R-CNN是一个实例分割(Instance segmentation)算法,通过增加不同的分支,可以完成目标分类.目标检测.语义分割.实例分割.人体姿势识别等多种 ...

  2. 『计算机视觉』FPN:feature pyramid networks for object detection

    对用卷积神经网络进行目标检测方法的一种改进,通过提取多尺度的特征信息进行融合,进而提高目标检测的精度,特别是在小物体检测上的精度.FPN是ResNet或DenseNet等通用特征提取网络的附加组件,可 ...

  3. 『图论』LCA 最近公共祖先

    概述篇 LCA (Least Common Ancestors) ,即最近公共祖先,是指这样的一个问题:在一棵有根树中,找出某两个节点 u 和 v 最近的公共祖先. LCA 可分为在线算法与离线算法 ...

  4. 『AngularJS』$location 服务

    项目中关于 $location的用法 简介 $location服务解析在浏览器地址栏中的URL(基于window.location)并且让URL在你的应用中可用.改变在地址栏中的URL会作用到$loc ...

  5. [原创] 【2014.12.02更新网盘链接】基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装

    [原创] [2014.12.02更新网盘链接]基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装 joinlidong 发表于 2014-11-29 14:25:50 ...

  6. JS 中通过对象关联实现『继承』

    JS 中继承其实是种委托,而不是传统面向对象中的复制父类到子类,只是通过原型链将要做的事委托给父类. 下面介绍通过对象关联来实现『继承』的方法: Foo = { // 需要提供一个 init 方法来初 ...

  7. 『摄影欣赏』16幅 Romantic 风格照片欣赏【组图】

    今天,我们将继续分享人类情感的系列文章.爱是人类最重要的感觉,也可能是各种形式的艺术(电影,音乐,书,画等)最常表达的主题 .这里有40个最美丽的爱的照片,将激励和给你一个全新的视觉角度为这种情绪.我 ...

  8. 『开源』Slithice 2013 服务器集群 设计和源码

    相关介绍文章: <『设计』Slithice 分布式架构设计-支持一体式开发,分布式发布> <『集群』001 Slithice 服务器集群 概述> <『集群』002 Sli ...

  9. 『片段』OracleHelper (支持 多条SQL语句)

    C# 调用 Oracle 是如此尴尬 >System.Data.OracleClient.dll —— .Net 自带的 已经 过时作废. >要链接 Oracle 服务器,必须在 本机安装 ...

  10. 『设计』Laura.Compute 设计思路

    前言: 前一篇文章 <『开源』也顺手写一个 科学计算器:重磅开源> ,继 Laura.Compute 算法开源之后,有 博客园 园友 希望公开一下 Laura.Compute算法 的 设计 ...

随机推荐

  1. sort()的函数参数 —— function(a,b){return a -b} 相关问题_20220114

    sort()的函数参数--function(a,b){return a -b} 相关问题 sort()的定义和用法 sort() 方法用于对数组的元素进行排序. 排序顺序可以是字母或数字,并按升序或降 ...

  2. Maven 项目获取 git 分支、提交等信息

    git-commit-id-plugin 是一个 Maven 插件,用于在 Maven 项目的构建过程中自动获取 git 仓库的信息,如最后一次提交的 ID.分支名称.构建时间等,并将这些信息注入到项 ...

  3. Windows编译运行webrtc全过程,并实现屏幕共享

    文章分为三部分,代码获取/编译/运行. 第一步获取代码,打开cmd执行以下指令即可 set WORKSPACE=E:\webrtc mkdir %WORKSPACE% cd /d %WORKSPACE ...

  4. 学英语工具集KindleVocab和WordSaver

    学英语坚持不下去是因为没选好工具. 我现在用的工具是Kindle+网页读新闻 生词点按之后导出到Anki背诵 借助工具,整个过程几乎无痛 1.Kindle生词及所在句子导出软件 KindleVocab ...

  5. 解决Delphi应用程序向桌面资源管理拖放问题 win10,winxp,win2003测试成功

    解决Delphi应用程序向桌面资源管理拖放问题 win10,winxp,win2003测试成功 如果是实体拖动,是比较好解决的. 如果是虚拟应用程序数据,拖动到本机桌面或资源管理器目录下,获取目录路径 ...

  6. csv导出特殊字符问题

    昨天听到隔壁组讨论说按照逗号分割implode导出到csv文件,传递文件数据给别人的时候,别人按照都好explode分割回来多一个单元格,他们调查了一下发现是内容里面就是有逗号导致的,居然就这么卡住了 ...

  7. linux history 想显示历史命令的时间和作者

    vi ~/.profile 增加 HISTTIMEFORMAT="%F %T `whoami` `who am i|awk '{print $1,$5}'|sed 's/ (/@/'|sed ...

  8. Chrome插件之油猴(详尽版本)

    官方文档: https://www.tampermonkey.net/documentation.php#google_vignette 1.注释语法: // @match https://passp ...

  9. Ant Design Pro项目启动报can not resolve dependence:’…/node_modules/@umijs/renderer-react‘

    前情 公司有经常需要做一些后台管理页面,我们选择了Ant Design Pro,它是基于 Ant Design 和 umi 封装的一整套企业级中后台前端/设计解决方案. 坑位 今天启动项目报如下图 W ...

  10. ksmbd 条件竞争漏洞挖掘:思路与案例

    ksmbd 条件竞争漏洞挖掘:思路与案例 ksmbd 条件竞争漏洞挖掘:思路与案例.drawio 本文介绍从代码审计的角度分析.挖掘条件竞争.UAF 漏洞思路,并以 ksmbd 为实例介绍审计的过程和 ...