# Obsidian Windows Chinese IME AHK Solution **Repository Path**: andyliu9/obsidian-windows-chinese-ime-ahk-solution ## Basic Information - **Project Name**: Obsidian Windows Chinese IME AHK Solution - **Description**: 使用AHK(Auto Hotkey)来解决Obsidian在Windows上面使用中文输入法造成标点符号异常(光标错位或被选中)的情况。 - **Primary Language**: AutoHotkey - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2022-03-11 - **Last Updated**: 2023-12-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Obsidian Windows Chinese IME AHK Solution #### 介绍 使用AHK(Auto Hotkey)来解决Obsidian在Windows上面使用中文输入法造成标点符号异常(光标错位或被选中)的情况。 #### 注意 仅支持Windows 10的默认中文输入法(微软拼音),此脚本会将所有符号(包括数字)按键接管,可能无法在某些需要使用数字或符号作为快捷功能按键的软件中使用,因此使用前请自行测试,确保使用时不会遇到问题。 #### 安装教程 ##### 方式1 直接下载[WindowsIME.exe](https://gitee.com/andyliu9/obsidian-windows-chinese-ime-ahk-solution/attach_files/1004263/download/WindowsIME.exe)并运行,需将微软拼音设置当中的中英文模式切换从Shift改为Ctrl。 ##### 方式2 1. 下载并安装AHK(Auto Hotkey),官网:https://www.autohotkey.com/ 2. 下载本仓库中的[WindowsIME.ahk](https://gitee.com/andyliu9/obsidian-windows-chinese-ime-ahk-solution/blob/master/WindowsIME.ahk)文件 3. 将微软拼音设置当中的中英文模式切换从Shift改为Ctrl 4. 双击运行WindowsIME.ahk即可 #### 更改微软拼音设置的方法 设置-编辑语言和键盘选项-中文选项-微软拼音选项-按键-模式切换(中/英文模式切换)-修改为Ctrl(AHK脚本中有重新定义Shift的功能,因此在运行脚本时**Ctrl与Shift键均可以用来切换中英文**) ![输入图片说明](Attachments/Windows%20Microsoft%20Pinyin%20Setting.png) #### 使用注意事项 1. Ctrl+Alt+K是用来启动和关闭AHK脚本的快捷键,请注意是否有快捷键冲突 2. 中文模式下输入引号会直接输入成对的引号(即‘’或“”)而非单个引号,此为受限于AHK所做的妥协 3. 再次提醒,仅支持Windows 10默认中文输入法(微软拼音) #### 特别说明 部分代码来自网络,如有版权问题请联系我,谢谢! #### 心路历程 我自己是Obsidian的深度用户以及爱好者,但是自从Obsidian更新了Live Preview(使用Codemirror6)之后一直存在一些中文输入法输入标点相关的bug并且长时间未得到修复;我也在Forum与Discord当中分别联系过开发者并且提供了一系列的[复现场景](https://forum.obsidian.md/t/windows-ime-issues-with-chinese-full-width-characters/33504),但是由于这些bug涉及底层代码因此较难修复,官方并未给出预计的修复时间,对我们用户来说可能会等待很久。 经过一个多月的摸索,了解到使用Auto Hotkey可以接管符号,因此通过一些自学与开发,克服了一些技术上的难关(比如判断是否正在输入、判断中英文状态等)之后,我完成了这个简单的脚本,自己使用下来可以解决目前我遇到的所有问题,虽然可能不是完美适用于所有系统或软件但是思路上是通用的,分享给大家希望能够有所帮助。 如果使用下来能够解决你所遇到的问题,欢迎分享给其他Obsidian的用户,如果有其他建议也欢迎提Issue反馈。 最后,如果有帮到你,欢迎[Buy me a coffee](https://eggplant-steam-ed2.notion.site/Buy-me-a-coffee-c9e422e9242b42caac1b24b8b3e5c375)或者给个免费的星星,随缘打赏,谢谢你的支持!