Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gvim 8.2没有';t在windows 10 powershell中编辑git提交消息时重新绘制屏幕_Powershell_Vim_Windows 10 - Fatal编程技术网

gvim 8.2没有';t在windows 10 powershell中编辑git提交消息时重新绘制屏幕

gvim 8.2没有';t在windows 10 powershell中编辑git提交消息时重新绘制屏幕,powershell,vim,windows-10,Powershell,Vim,Windows 10,我在windows 10上使用安装了vim。当我在powershell中编辑文件时,一切都很好。但是,当我编辑git提交消息时,vim不会正确地重新绘制屏幕。如果我,我可以看到我的更新文本正确,但这是超级恼人 我将git配置为使用vim: git config --global core.editor vim 如何使vim正常工作?TLDR 给git提供指向我的vim可执行文件的直接完全限定路径修复了一些问题,我不知道为什么: git config --global core.editor &

我在windows 10上使用安装了
vim
。当我在powershell中编辑文件时,一切都很好。但是,当我编辑git提交消息时,
vim
不会正确地重新绘制屏幕。如果我,我可以看到我的更新文本正确,但这是超级恼人

我将
git
配置为使用
vim

git config --global core.editor vim
如何使vim正常工作?

TLDR

给git提供指向我的vim可执行文件的直接完全限定路径修复了一些问题,我不知道为什么:

git config --global core.editor "'C:\tools\vim\vim82\vim.exe' -f -i NONE"
路径周围的单引号很重要,因为
git
不知道如何处理带有反斜杠的路径。 围绕整个配置的双引号非常重要,这样git就不会将
-f-f NONE
应用于
git config
命令。 我发现
-f-I NONE
打开,我不知道它做什么,但是没有它,
git commit
就不能工作

我是如何找到完整路径的

vim
添加一个
c:\windows\vim.bat
文件,当您键入
vim
时,
powershell
使用该文件启动
vim

PS C:\Users\heath> Get-Command vim

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     vim.bat                                            0.0.0.0    C:\windows\vim.bat
vim.bat
非常简单:

@echo off
rem -- Run Vim --
rem # uninstall key: vim82 #

setlocal
set VIM_EXE_DIR=C:\tools\vim\vim82
if exist "%VIM%\vim82\vim.exe" set VIM_EXE_DIR=%VIM%\vim82
if exist "%VIMRUNTIME%\vim.exe" set VIM_EXE_DIR=%VIMRUNTIME%

if not exist "%VIM_EXE_DIR%\vim.exe" (
    echo "%VIM_EXE_DIR%\vim.exe" not found
    goto :eof
)

"%VIM_EXE_DIR%\vim.exe"  %*
因此,我完整的
vim
路径是
C:\tools\vim\vim82\vim.exe

移动到超级用户:移动到超级用户: