V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
fireleaves
V2EX  ›  程序员

Windows terminal + Git bash 遇到的一个诡异的问题

  •  
  •   fireleaves · 2020-07-16 18:39:40 +08:00 via Android · 2821 次点击
    这是一个创建于 1622 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 单纯的用 Git bash,使用 vim 编辑文档,可以正常输入中文。

    2. 在 Windows terminal 的 profiles 中添加上 git bash,然后可以正常在命令行中输入中文,比如 cd 到中文路径下。

    3. 在 Windows terminal 中使用 git bash,然后用 vim 编辑文档,输入中文,卡死。

    单纯的 git bash 和 Windows terminal 都可以输入中文,合体之后正常命令也可以输入中文,合体之后的 vim 输入中文卡死。

    可能是什么原因呢?

    19 条回复    2020-07-17 23:02:16 +08:00
    iamwho
        1
    iamwho  
       2020-07-16 18:56:34 +08:00
    $ locale
    LANG=
    LC_CTYPE="C.UTF-8"
    LC_NUMERIC="C.UTF-8"
    LC_TIME="C.UTF-8"
    LC_COLLATE="C.UTF-8"
    LC_MONETARY="C.UTF-8"
    LC_MESSAGES="C.UTF-8"
    LC_ALL=

    $ export LANG=C.UTF-8

    $ export LC_ALL=C.UTF-8

    $ locale
    LANG=C.UTF-8
    LC_CTYPE="C.UTF-8"
    LC_NUMERIC="C.UTF-8"
    LC_TIME="C.UTF-8"
    LC_COLLATE="C.UTF-8"
    LC_MONETARY="C.UTF-8"
    LC_MESSAGES="C.UTF-8"
    LC_ALL=C.UTF-8

    $ vim ~/test

    $ cat ~/test
    测试
    fireleaves
        2
    fireleaves  
    OP
       2020-07-16 19:56:33 +08:00 via Android
    @iamwho 试过了,不行,还是会卡死。。。
    fireleaves
        3
    fireleaves  
    OP
       2020-07-16 19:58:16 +08:00 via Android
    感觉这个问题很难定位,因为不管是 Windows terminal 还是 git bash,都可以输入中文,合体之后也可以在命令行输入中文,只有在合体之后的 vim 中不能输入
    fireleaves
        4
    fireleaves  
    OP
       2020-07-16 19:58:42 +08:00 via Android
    @fireleaves 奥对了,虽然不能输入,但是不影响显示,难道是 vim 的问题?
    hanxiV2EX
        5
    hanxiV2EX  
       2020-07-17 08:35:22 +08:00 via Android
    我的 vim8.2 输入中文没问题,windows terminal 最新版本
    flewsea
        6
    flewsea  
       2020-07-17 09:27:48 +08:00
    最近微软报告了一列输入法卡死的 bug,你可以搜一下,并按照建议操作测试下
    fireleaves
        8
    fireleaves  
    OP
       2020-07-17 10:44:33 +08:00
    @flewsea 谢谢,但是我的应该并不是这个原因,因为 Windows 版本还没有升级到 2004
    fireleaves
        9
    fireleaves  
    OP
       2020-07-17 10:45:38 +08:00
    @hanxiV2EX 老哥我是用的 Git Bash 自带的 vim,你是自己安装的 VIM 然后禁用了 Git Bash 的 VIM 吗?还是直接就没有使用 Git Bash 呢?
    hanxiV2EX
        10
    hanxiV2EX  
       2020-07-17 13:38:45 +08:00
    @fireleaves 我的是 msys64,我记错成 window git 了。
    hanxiV2EX
        11
    hanxiV2EX  
       2020-07-17 13:42:43 +08:00
    @fireleaves 试了下 windows git 也没问题,vim 也是 8.2 版本。
    Windows Terminal
    版本: 1.0.1811.0
    fireleaves
        12
    fireleaves  
    OP
       2020-07-17 15:12:43 +08:00 via Android
    @hanxiV2EX 升级了一下 git bash 版本,输入中文的问题已经好了。然后遇到了新问题,光标无法移动到行尾,只能在倒数第二个字符的位置。
    设置了`set ve+=onemore`之后,编辑模式下好了,但是 ESC 之后,光标就还是回到倒数第二个字符位置。。。
    hanxiV2EX
        13
    hanxiV2EX  
       2020-07-17 15:17:05 +08:00
    @fireleaves 看来 git bash 不适合用来开发呀
    fireleaves
        14
    fireleaves  
    OP
       2020-07-17 15:38:45 +08:00 via Android
    @hanxiV2EX 那...Windows 上有木有类似的可以使用 Linux 命令的终端推荐呢🥺
    hbl
        15
    hbl  
       2020-07-17 16:34:06 +08:00 via Android
    用过,编码不好整。现在是 wsl2+terminal
    hbl
        16
    hbl  
       2020-07-17 16:37:39 +08:00 via Android
    补充:
    在 explorer 右键菜单增加 打开 terminal 的命令(以当前目录打开)。
    在 terminal 中 先 CD 到目录 再,`explorer.exe .`
    hanxiV2EX
        17
    hanxiV2EX  
       2020-07-17 16:46:08 +08:00
    @fireleaves 我是用的虚拟机,ssh 上去开发的。你可以试试 wsl 的
    LostPrayers
        18
    LostPrayers  
       2020-07-17 19:41:08 +08:00
    可以用 vs code remote
    fireleaves
        19
    fireleaves  
    OP
       2020-07-17 23:02:16 +08:00 via Android
    @hbl
    @hanxiV2EX
    @LostPrayers
    感谢各位推荐,准备试试 wsl2
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5338 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 09:13 · PVG 17:13 · LAX 01:13 · JFK 04:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.