我使用的是 Windows 10。我首先安装了适用于 Windows 的 Git然后我posh-git
在 PowerShell 中安装。
Git 成功安装到C:\Program Files\Git
包含在其中的文件夹vim.exe
中C:\Program Files\Git\usr\bin\
。
我可以vim.exe
像这样从 PowerShell 运行:
& 'C:\Program Files\Git\usr\bin\vim.exe' foo.txt
运行正常。但是当我git commit
在 PowerShell 中执行此操作时,git
会出现vim.exe
以下文本:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# On branch master
#
# Initial commit
#
# Changes to be committed:
# new file: a.txt
#
如果我按下,i我就会进入插入模式。问题是,现在空格键不会将文本移到右侧。它只是将光标移到左侧,并且无法删除已经存在的文本:
从上面的屏幕截图可以看出,预先声明的文本无法删除。知道发生了什么吗?
答案1
您的终端设置可能不正确。为 Unix 系统设计的程序需要TERM
设置环境变量才能正常运行。这会告诉程序的终端库如何解释输入的字符以及如何在屏幕上正确呈现数据。
TERM
根据谷歌搜索,人们过去看到的与 PowerShell 兼容的值包括cygwin
和msys
。如果您使用的是新版 Microsoft Terminal,您可能还可以使用xterm-256color
。
如果你不确定如何设置环境变量,请参阅以下一篇解释它的文章。