如何在Windows中直接运行WSL内安装的Neovim程序
可行方案说明
完全可以实现,不需要在Windows系统单独安装Neovim,依托WSL的原生跨系统调用能力就能直接从Windows侧启动WSL内已经装好的Neovim,具体操作方法如下:
基础调用方法
WSL安装后会自动在Windows系统环境下注册全局wsl命令,支持直接调用WSL发行版内的所有可执行程序:
- 先进入WSL的Ubuntu-20.04终端,执行
nvim --version确认Neovim安装状态正常,能正常输出版本信息即可 - 打开Windows侧的PowerShell、CMD或者Windows Terminal,直接执行
wsl -d Ubuntu-20.04 nvim就能启动对应WSL发行版里的Neovim - 如果你只装了Ubuntu-20.04这一个WSL发行版,直接执行
wsl nvim也能达到同样效果
简化调用配置
如果不想每次启动都输入wsl前缀,可以配置别名或者包装脚本,实现Windows侧直接输入nvim就启动程序:
- PowerShell 配置永久别名
- 在PowerShell中执行
notepad $PROFILE打开当前用户的PowerShell配置文件,提示文件不存在时选择新建即可 - 在文件中添加一行配置:
Set-Alias nvim wsl -ArgumentList nvim - 保存文件后重启PowerShell,后续直接输入
nvim就能启动WSL内的Neovim,所有传入的参数会自动转发
- 在PowerShell中执行
- CMD 配置包装脚本
- 新建一个名为
nvim.cmd的文本文件,写入以下内容:
@echo off wsl -d Ubuntu-20.04 nvim %*- 把这个
nvim.cmd文件放到任意已经加入系统PATH环境变量的目录下,之后在CMD里直接敲nvim就能启动,%*会把你输入的所有参数(比如要打开的文件路径)原样转发给WSL内的Neovim,WSL会自动完成Windows路径到Linux路径的转换,不需要手动修改路径格式。
- 新建一个名为
常见场景适配
- 如果你使用Neovim的图形前端(比如Neovide),不需要在Windows本地安装Neovim,只需要在前端配置中将Neovim可执行路径设置为
wsl nvim的调用命令,即可正常连接WSL内的Neovim实例 - 如果要在Windows Terminal中添加Neovim的独立启动项,直接将启动命令行设置为
wsl.exe -d Ubuntu-20.04 nvim即可,点击就能直接进入Neovim界面 - 编辑Windows磁盘(C/D/E盘等)上的文件时,直接传入Windows路径即可正常打开;如果要编辑WSL内部文件系统的文件,建议优先在WSL的工作路径下操作,跨文件系统访问会有额外性能损耗。
注意:如果调用时提示找不到nvim命令,先进入WSL终端执行
which nvim确认Neovim的安装路径在WSL的默认PATH中即可,通过apt安装的Neovim默认路径为/usr/bin/nvim,一般不会出现路径问题。
内容的提问来源于stack exchange,提问作者Mimic Mannan
相关产品推荐
相关产品推荐

