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

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

  •  
  •   shadow1949 · 94 天前 · 1336 次点击
    这是一个创建于 94 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    $str = "中文字符串";


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