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

2020-07-16 18:39:40 +08:00
 fireleaves
  1. 单纯的用 Git bash,使用 vim 编辑文档,可以正常输入中文。

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

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

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

可能是什么原因呢?

2823 次点击
所在节点    程序员
19 条回复
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
2020-07-16 19:56:33 +08:00
@iamwho 试过了,不行,还是会卡死。。。
fireleaves
2020-07-16 19:58:16 +08:00
感觉这个问题很难定位,因为不管是 Windows terminal 还是 git bash,都可以输入中文,合体之后也可以在命令行输入中文,只有在合体之后的 vim 中不能输入
fireleaves
2020-07-16 19:58:42 +08:00
@fireleaves 奥对了,虽然不能输入,但是不影响显示,难道是 vim 的问题?
hanxiV2EX
2020-07-17 08:35:22 +08:00
我的 vim8.2 输入中文没问题,windows terminal 最新版本
flewsea
2020-07-17 09:27:48 +08:00
最近微软报告了一列输入法卡死的 bug,你可以搜一下,并按照建议操作测试下
flewsea
2020-07-17 09:28:51 +08:00
fireleaves
2020-07-17 10:44:33 +08:00
@flewsea 谢谢,但是我的应该并不是这个原因,因为 Windows 版本还没有升级到 2004
fireleaves
2020-07-17 10:45:38 +08:00
@hanxiV2EX 老哥我是用的 Git Bash 自带的 vim,你是自己安装的 VIM 然后禁用了 Git Bash 的 VIM 吗?还是直接就没有使用 Git Bash 呢?
hanxiV2EX
2020-07-17 13:38:45 +08:00
@fireleaves 我的是 msys64,我记错成 window git 了。
hanxiV2EX
2020-07-17 13:42:43 +08:00
@fireleaves 试了下 windows git 也没问题,vim 也是 8.2 版本。
Windows Terminal
版本: 1.0.1811.0
fireleaves
2020-07-17 15:12:43 +08:00
@hanxiV2EX 升级了一下 git bash 版本,输入中文的问题已经好了。然后遇到了新问题,光标无法移动到行尾,只能在倒数第二个字符的位置。
设置了`set ve+=onemore`之后,编辑模式下好了,但是 ESC 之后,光标就还是回到倒数第二个字符位置。。。
hanxiV2EX
2020-07-17 15:17:05 +08:00
@fireleaves 看来 git bash 不适合用来开发呀
fireleaves
2020-07-17 15:38:45 +08:00
@hanxiV2EX 那...Windows 上有木有类似的可以使用 Linux 命令的终端推荐呢🥺
hbl
2020-07-17 16:34:06 +08:00
用过,编码不好整。现在是 wsl2+terminal
hbl
2020-07-17 16:37:39 +08:00
补充:
在 explorer 右键菜单增加 打开 terminal 的命令(以当前目录打开)。
在 terminal 中 先 CD 到目录 再,`explorer.exe .`
hanxiV2EX
2020-07-17 16:46:08 +08:00
@fireleaves 我是用的虚拟机,ssh 上去开发的。你可以试试 wsl 的
LostPrayers
2020-07-17 19:41:08 +08:00
可以用 vs code remote
fireleaves
2020-07-17 23:02:16 +08:00
@hbl
@hanxiV2EX
@LostPrayers
感谢各位推荐,准备试试 wsl2

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/690680

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX