WSL 更改某些应用程序的字体和颜色(nano、tmux、vim)

WSL change the font and color for some applications (nano, tmux, vim)

我正在使用 WSL,但我遇到了字体问题。 WSL 有 CJK 语言的字体问题,我通过编辑 ubuntu 终端初始化文件修复了它 https://github.com/Microsoft/WSL/issues/757 HKEY_CURRENT_USER\Console\C:_ProgramFiles_WindowsApps_CanonicalGroupLimited.UbuntuonWindows_xxxx.ubuntu.exe, add CodePage->(DWORD)FDE9(65001)

但是,当我 运行 某些文本编辑器(例如 vim, emacs, nano)或终端应用程序(例如 tmuxscreen)时,WSL 总是将字体更改为 Windows cmd 的默认字体。有什么办法可以防止这种情况发生吗?

您可以通过在标题栏上 right-clicking 并单击属性轻松更改 WSL 终端的字体。然后你点击字体选项卡,在那里你可以改变字体。如果您想要其他字体,请将其安装在 Windows.Screenshot

为了让 tmux 显示 vim 的正确颜色,我在 .vimrc set termguicolors

中设置了

似乎是一个为时已晚的答案(好像晚了 4 年),但无论如何我还是把它留给仍然找到解决方案的人。

有一个解决方案,您可以为 WSL 创建一个新的 注册表项。见本link中bookyue的回答; https://github.com/microsoft/WSL/issues/3988

  1. Open regedit.
  2. Find this. HKEY_CURRENT_USER\Console\C:_Program Files_WindowsApps_CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2019.522.0_x64__79rhkp1fndgsc_ubuntu1804.exe (you will not as the same as mine)
  3. then, add CodePage(Type: DWORD, Value: 0x01b5). It works for me!

如果您的 WSL 不是 Ubuntu,您可能需要在 Console 下搜索合适的目录。我的是 Debian,它也能正常工作。

此外,请确保您正在为 您当前使用的 WSL 版本 创建密钥。我发现我的桌面上安装了很多版本,可能是 Windows 更新程序安装的,当 Windows 更新程序安装更新版本时,密钥失效。我假设 Windows 将当前版本自动设置为最新版本,在这种情况下,您需要手动为较新版本重新创建相同的密钥才能使其再次运行。