有没有办法改变 Windows Subsystem for Linux 终端中的光标形状?我希望我的光标能够反映我在 vim 或 vi 模式下的状态。
例如,在 Git Bash 中,我可以使用echo -ne "\e[2 q"
和echo -ne "\e[6 q"
在块和行光标之间切换。这些在 WSL 中似乎没有任何效果。
答案1
我假设您通过 WLS 附带的默认终端窗口使用 Bash。
如果是这样,那么你将需要更换该终端,因为它无法理解特殊的转义序列。我知道的唯一方法是安装 GUI,例如 Unity 或 XFCE4,然后安装你首选的终端仿真器。这关联会告诉你如何做到这一点。
这可能只是为了改变光标而做的小改动,但它也有其他优点,安装了 GUI 后,您现在可以运行许多其他 Linux 应用程序,虽然不是全部都能 100% 运行,但大多数都能正常工作,您甚至可以设置一个统一的桌面,在一个屏幕上包含 Linux 任务栏和 Windows 任务栏。
答案2
既然现在有了这个选项,我想在这里分享一下
在 Windows 终端的 settings.json 中你可以设置
"cursorColor" : "#FFFFFF",
"cursorShape": "filledBox",
在“个人资料”中
取自https://docs.microsoft.com/pt-br/windows/terminal/custom-terminal-gallery/retro-command-prompt
答案3
在“设置”->“配置文件”(全部为“默认”,或选择特定配置文件)->“附加设置”->“外观”->“光标”->“光标形状”。设置为“填充框”或您喜欢的任何设置。
(我猜当其他人回答这个问题时,这在 GUI 中是不可用的,例如两年前的答案说你必须在 JSON 中设置它。现在你可以在 GUI 中更改它,至少从 Windows 11 开始。)