问题描述
- 在pycharm、webstorm等代码编辑器的终端中输入的最后一个字符为空格或其他部分字符时光标向右错位少许。向左移动光标,光标无法正确指示插入或删除字符的位置。
- 只在JetBrains产品中出现该问题,其他的编辑器或IDE中不出现该问题。
- 只在终端窗体中出现该问题,编辑窗口中不出现。
- 只在powershell中出现该问题,cmd中不出现。
产生原因猜测
oh-my-posh部分字符与JetBrains产品图形界面不兼容。
笔者这里出现问题的是右三角箭头符号,不确定还有哪些符号会导致该问题出现。
解决方法
换用其他不会导致问题出现的主题,比如这里推荐的Paradox。
查找主题
#获取已经安装的oh-my-posh主题列表
Get-Theme
#切换不同的主题,以Paradox为例。
Set-Theme Paradox
#找到一个不会导致问题出现的主题,并将其写入profile。(见 更换主题)
只要指令前的内容不包含右三角箭头等符号即可,因此也可以自定义主题,使信息和指令位于不同行即可。详细可以搜索 "oh-my-posh自定义主题 " 。
更换主题
编辑Profile。(这里使用vscode)
code $profile
#Microsoft.PowerShell_profile.ps1
##这是我的Profile,根据配置,实际可能不同。关注“Set-Theme”就行了。
#CodePage UTF-8
[System.Console]::OutputEncoding=[System.Text.Encoding]::GetEncoding(65001)
Import-Module posh-git
Import-Module oh-my-posh
##修改"---theme---"
Set-Theme ---theme---
重启终端,问题解决。