• 请不要在回答技术问题时复制粘贴 AI 生成的内容
shadow1949
V2EX  ›  程序员

怎么实现,中文输入下,按住某键+标点=>英文标点,反之英文输入=>中文标点,这个功能?

  •  
  •   shadow1949 · Mar 29, 2022 · 5031 views
    This topic created in 1684 days ago, the information mentioned may be changed or developed.

    平时写文章,经常切换中英文标点符号,每次按 shift ,还老切不过来,就很郁闷,所以想着有没有办法能够实现类似于按住 shift+字母键,输入大写 /小写这种功能的办法。

    23 replies  •  2025-03-30 00:52:21 +08:00
    Oktfolio
    Oktfolio
    Mar 29, 2022
    1
    搜狗 for macOS 可以单独切换标点,但是没有标题所述功能。
    ChaosesIb
    ChaosesIb
    Mar 29, 2022❤️1
    2
    实现方面倒是不难,键盘钩子监测热键,获取输入法中英状态,然后用 SendInput 输入文本,用 AutoHotkey 可以在几十行内完成。小狼毫或许也可以直接通过配置实现,但 OP 不一定用得惯小狼毫。

    不过我觉得更好的方法是换个 shift 正常的输入法,再配个切换中英时在光标处显示图标的脚本。或者添加个英文键盘,按 win+space 切换输入法。
    sona
    sona
    Mar 29, 2022❤️1
    3
    举例 alt+, 在中文状态输入英文标点 中文输入英文标点, 百度输入法, ahk 实现:

    $!,::sendinput % "{text}" winexist("ahk_class BAIDU_CLASS_IME_87C946A9-47CC-4068-A02B-9381C1F11B24") ? "," : ","
    xjngbla
    xjngbla
    Mar 29, 2022
    4
    微软输入法,ctrl+.就可以切换啊
    AV1
    AV1
    Mar 29, 2022
    5
    我也等一个,不知道 vscode 有没有类似的插件,不管我输入中文标点还是英文标点,它上屏的都是英文标点。
    另外,我不想把输入法设置成中文模式+英文标点。
    zxxufo008
    zxxufo008
    Mar 29, 2022
    6
    @xjngbla #4 他估计只想按一个键,你这样切换要按四次,他的按两次就行了
    275761919
    275761919
    Mar 29, 2022
    7
    @ChaosesIb 我用的惯小狼毫,请问有现成的设置方案吗
    xjngbla
    xjngbla
    Mar 29, 2022
    8
    @zxxufo008 #6 好的吧
    zjttfs
    zjttfs
    Mar 29, 2022
    9
    同想要..
    现在微软输入法要来回按稍微麻烦点.有时又忘记切换
    xinJang
    xinJang
    Mar 29, 2022
    10
    输入法设置不是本来就有中文输入时使用英文符号,虽然我都是 shift 切换的
    AX5N
    AX5N
    Mar 29, 2022
    11
    @DOLLOR 你这个完全属于输入法的问题吧。正常点的输入法都是中文配中文标点,英文配英文标点,还有些输入法允许中文配英文标点,都是可选的。(起码 vsocde 默认情况下不会乱帮你转标点。)
    yuancoder
    yuancoder
    Mar 29, 2022
    12
    搜狗输入法:ctrl+.
    AV1
    AV1
    Mar 29, 2022
    13
    @AX5N
    我只是希望在特定软件里(如 vscode )里永远只输入英文标点,在其他软件里,中文用中文标点,英文用英文标点。
    所以我就想找 vscode 插件,能自动把我输入的中文标点立刻转成英文标点。这样就不需要把输入法设置成“中文配英文标点”
    cxtrinityy
    cxtrinityy
    Mar 29, 2022❤️1
    14
    中文输入法情况下, 可以按 caps lock 大小写那个按键, macOS 、windows 都可以, 锁定大写后符号就是英文的, 不锁定就是中文的, 不跟输入法绑定
    listenerri
    listenerri
    Mar 29, 2022
    15
    win 下的输入法没有自动标点的功能吗?

    比如数字或字母后面自动使用英文标点,linux 下 fcitx5 还可以在自动英文标点后,如果发现不对,按一下删除键( Backspace )自动改为中文标点
    MrBrother
    MrBrother
    Mar 29, 2022
    16
    #14 楼的方法我也在用,很便捷
    hertzry
    hertzry
    Mar 29, 2022 via Android
    17
    @cxtrinityy 按一下 Shift 不也一样吗
    wdssmq
    wdssmq
    Mar 30, 2022
    18
    ![QQ 截图 20220330143344.png]( https://s2.loli.net/2022/03/30/3He5ITrCKw1QyLk.png)

    感觉好多人还是不太懂这个痛点,,本人搜狗五笔,shift + alt 可以在 1 、2 之间切换,按 shift 会在 2 、3 之间切换,然而重点不在这里。。

    $str = "中文字符串";
    ¥

    ↑ 当 ¥ 上屏后我才知道我需要按键切换,只能退格、切换输入法,然后重新打 $
    lucifer69
    lucifer69
    Mar 30, 2022
    19
    同用 14 楼的方法,用大小写键来临时切换到英文状态。
    wgsgyes
    wgsgyes
    Mar 30, 2022
    20
    在中文输入法下,反复切换之后,经常会忘记输入状态是中文标点、还是英文标点,这个有便捷方法解决么?
    shadow1949
    shadow1949
    OP
    Mar 31, 2022
    21
    @cxtrinityy
    @MrBrother
    @lucifer69
    对于我来说,这个和按 shift 切换输入法差不多。
    shadow1949
    shadow1949
    OP
    Mar 31, 2022
    22
    @ChaosesIb
    感谢,我去试试 AutoHotkey 和小狼毫,之前用 AutoHotkey ,win 兼容过 mac 按键,感觉还行。
    w3c0929
    w3c0929
    Mar 30, 2025
    23
    我已经实现了,使用 mykeymap 设置 tab 模式(英文标点)和 caps 模式(中文标点),详情可关注我公众号:谷爱雨
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   773 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 23:06 · PVG 07:06 · LAX 15:06 · JFK 18:06
    ♥ Do have faith in what you're doing.