V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
shadow1949
V2EX  ›  程序员

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

  •  
  •   shadow1949 · 2022-03-29 12:22:22 +08:00 · 3042 次点击
    这是一个创建于 970 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    $str = "中文字符串";


    ↑ 当 ¥ 上屏后我才知道我需要按键切换,只能退格、切换输入法,然后重新打 $
    lucifer69
        19
    lucifer69  
       2022-03-30 17:11:35 +08:00
    同用 14 楼的方法,用大小写键来临时切换到英文状态。
    wgsgyes
        20
    wgsgyes  
       2022-03-30 23:03:36 +08:00
    在中文输入法下,反复切换之后,经常会忘记输入状态是中文标点、还是英文标点,这个有便捷方法解决么?
    shadow1949
        21
    shadow1949  
    OP
       2022-03-31 13:17:41 +08:00
    @cxtrinityy
    @MrBrother
    @lucifer69
    对于我来说,这个和按 shift 切换输入法差不多。
    shadow1949
        22
    shadow1949  
    OP
       2022-03-31 13:23:35 +08:00
    @ChaosesIb
    感谢,我去试试 AutoHotkey 和小狼毫,之前用 AutoHotkey ,win 兼容过 mac 按键,感觉还行。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   978 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 19:57 · PVG 03:57 · LAX 11:57 · JFK 14:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.