我试图让两个连字符触发短划线,三个连字符触发长划线; 喜欢
:*?:---=::—
:*?:--=::–
Run Code Online (Sandbox Code Playgroud)
除了工作.这是我得到的地方:
:*?:11::
SendLevel 1
Send 2
return
SendLevel 0
:*?:21::3
Run Code Online (Sandbox Code Playgroud)
这项工作(11产生2,111产3)
:*?:--::
SendLevel 1
Send –
return
SendLevel 0
:*?:–-::—
Run Code Online (Sandbox Code Playgroud)
这是相同的脚本,但"1"已被" - "取代,"2"已被" - "取代,"3"已被" - "替换为" - "应生成" - "并且"---"应该生成" - ",但它不起作用,因为在我使用的版本中不完全支持Unicode(来自autohotkey.com的AutoHotKey_L v1.1.09.04).
lag*_*lex 41
.ahk文本文件需要使用UTF8-BOM编码而不是UTF8保存
正如本评论所指出的,发布作为更多可见性的答案.
我从AutoHotKey 论坛复制了以下代码:
\n\n;IMPORTANT, you must save this script as UTF-8 to make it work.\n\n::!?::\n::?!::\nPutUni("\xe2\x80\xbd")\nReturn\n\n::neko::\nPutUni("\xe7\x8c\xab")\nReturn\n\n:?:damn::\nPutUni("\xe2\x9c\xa9\xe2\x98\xa0#\xe2\x80\xbc")\nReturn\n\n;Paste UTF8 string (Hex encoded or not) as unicode.\n;If you don\'t use Hex encoding, you must save your script as UTF8\nPutUni(DataIn)\n{\n SavedClip := ClipBoardAll\n ClipBoard =\n If RegExMatch(DataIn, "^[0-9a-fA-F]+$")\n {\n Loop % StrLen(DataIn) / 2\n UTF8Code .= Chr("0x" . SubStr(DataIn, A_Index * 2 - 1, 2))\n }\n Else\n UTF8Code := DataIn\n\n Transform, ClipBoard, Unicode, %UTF8Code%\n Send ^v\n Sleep 100 ;Generous, less wait or none will often work.\n ClipBoard := SavedClip\n Return\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这PutUni函数会将所需的输入“翻译”为所需的 Unicode 输出。
| 归档时间: |
|
| 查看次数: |
14074 次 |
| 最近记录: |