如何在 Windows 中运行 Vim?

问题描述 投票:0回答:6

我刚刚安装了 gVim,并尝试使用通常适用于 Linux 的“vim myfile.java”技术来打开文件并编辑它。但不幸的是,这似乎不起作用。我也尝试过“gvim myfile.java”,但这也不起作用。

有谁知道如何使用 Windows Powershell 或其他技术打开 vim(并像在 Linux 中一样使用它)?

windows shell vim
6个回答
46
投票

安装时

gVim

请确保选中 [✓] 创建 .bat 文件以供命令行使用
它将在
.bat
:
 中创建多个 
C:\Windows\

文件
C:\>cd %windir%
C:\WINDOWS>dir /b *.bat
evim.bat
gview.bat
gvim.bat
gvimdiff.bat
view.bat
vim.bat
vimdiff.bat
vimtutor.bat

请注意:

C:\WINDOWS
已经在
PATH
环境变量中。
当您在命令行中输入
vim
时,
C:\WINDOWS\vim.bat
将启动。
如果您不勾选上述复选框,则需要手动修改
PATH


3
投票

补充一下,我现在使用的是一个高度受控的 Windows 工作站,并且无法访问太多内容。 下载我通常使用的“可执行安装程序”不会创建

bat
文件,也不会出于某种原因创建
vim.exe
,尽管
gvim.exe
已安装在
vim74
目录中并且工作正常。 因此,虽然我还需要设置
PATH
,但
bat
中没有
C:\WiNDOWS
文件,VIm 运行时文件夹中也没有任何命令行可执行文件可供调用,这意味着从命令行(或 Powershell)调用
vim
没用。

我猜测安装中创建命令行相关内容的某些部分(显然包括

vim.exe
)在您没有管理员权限时无法正常恢复。

无论哪种方式,“正确”的做法似乎是像往常一样将

PATH
设置为 vim 可执行文件夹(请注意,如果您没有管理员权限,这可能会比平常更困难) ,然后从通常的下载页面下载与您已安装的gvim
版本相匹配的“Win32控制台可执行文件”,从刚刚下载的zip中提取
vim.exe
,并将其放入同一文件夹中作为
gvim.exe

查看可执行安装程序确实“完全”工作的另一个盒子,vim.bat 文件中有一些 jive 没有为我安装,有关“收集 Win95 的 VIMARGS 中的参数”和

if .%OS%==.Windows_NT goto ntaction

 等,但是至少在Win7上没有这些似乎不是问题。  ;^)


3
投票
Windows 10 有适用于 Windows 的 Linux 子系统。所以你可以在 Windows 中安装 bash,然后从 bash 中你可以使用 vim。我发现它更方便。


1
投票
在您的窗口中安装 gVim,并在安装 gvim 时启用“.bat”,然后单击“下一步”,完成。 你可以在window上使用vim。


0
投票
由于我的工作站的限制,我必须将 vim 实例本地安装到以下文件夹:

%LocalAppData%\Vim


但是仅仅像其他人建议的那样更改环境变量是不够的,因为批处理文件不在安装目录中(例如

vimdiff

)。所以我
弄清楚了它们来自哪里,并制作了自己的批处理文件以将它们添加到环境变量中。为了帮助您制作这些批处理文件,我提供了下面的命令列表,供您在 vim 安装目录中运行(如果先将命令保存到 install.bat
 文件,请将所有 
%
 字符替换为 
%%
 以逃脱它):

echo @echo off > evim.bat echo gvim.exe -y %* >> evim.bat echo @echo off > view.bat echo vim.exe -R %* >> view.bat echo @echo off > gview.bat echo gvim.exe -R %* >> gview.bat echo @echo off > vimdiff.bat echo vim.exe -d %* >> vimdiff.bat echo @echo off > gvimdiff.bat echo vim.exe -d %* >> gvimdiff.bat
然后您必须转到开始>搜索“编辑帐户的环境变量”>查找“路径”>编辑>为

%LocalAppData%\Vim\vim82

添加新子条目。最后,您可能需要关闭并打开命令提示符,或者杀死 
explorer.exe
 并重新启动它。


0
投票
对于锁定安装但不会生成 bat 文件或允许访问路径的用户,您可以将其添加到您的 PowerShell 配置文件中。

New-Alias vi Vim-Launch function Vim-Launch([string]$FILE) { $path = Join-Path $PWD $FILE & "{Your path to the vim.exe}" $path }
    
© www.soinside.com 2019 - 2024. All rights reserved.