如何在Windows Subsystem for Linux中实现「用Vim打开」功能?
给WSL添加「用Vim打开」右键菜单的解决方案
绝对能解决这个效率痛点!我刚切换到WSL的时候也被这个问题烦了好久,后来折腾出两种靠谱的方法,看你偏好哪种:
方法一:手动修改注册表(适合喜欢自己动手的同学)
- 按下
Win + R打开运行窗口,输入regedit回车,启动注册表编辑器。 - 导航到路径:
HKEY_CLASSES_ROOT\*\shell(这个路径对应所有文件的右键菜单配置)。 - 右键点击
shell项,选择「新建 → 项」,将新项命名为OpenWithWSLVim(名字随便取,自己能识别就行)。 - 选中这个新项,双击右侧面板的
(默认)字符串,把值改成「用WSL Vim打开」——这就是右键菜单里显示的文字。 - (可选)想给菜单加个图标?右键新建「字符串值」,命名为
Icon,值填C:\Windows\System32\wsl.exe,0,这样就会用WSL的图标当菜单图标,也可以换成你自己喜欢的图标路径。 - 接着在
OpenWithWSLVim下面再新建一个子项,命名为command。 - 选中
command项,双击右侧的(默认),把值设置为:wsl.exe vim "%V"。这里的%V会自动把Windows的文件路径转换成WSL能识别的Linux路径,非常省心。
方法二:用批处理脚本一键添加(懒人首选,避免手动改注册表出错)
- 新建一个文本文件,把下面的代码复制进去:
@echo off reg add "HKEY_CLASSES_ROOT\*\shell\OpenWithWSLVim" /ve /d "用WSL Vim打开" /f reg add "HKEY_CLASSES_ROOT\*\shell\OpenWithWSLVim" /v Icon /t REG_SZ /d "C:\Windows\System32\wsl.exe,0" /f reg add "HKEY_CLASSES_ROOT\*\shell\OpenWithWSLVim\command" /ve /d "wsl.exe vim \"%V\"" /f echo 右键菜单添加完成! pause
- 把文件后缀改成
.bat,比如AddWSLVimRightClick.bat。 - 右键点击这个批处理文件,选择「以管理员身份运行」,等脚本执行完就搞定了!
一些注意事项
- 确保你的WSL已经正确安装,并且默认发行版是你常用的(比如Ubuntu),如果不是,可以在Windows终端里运行
wsl --set-default Ubuntu来设置默认发行版。 - 如果想给特定类型的文件单独加这个菜单(比如只给Markdown文件),只需要把注册表路径改成
HKEY_CLASSES_ROOT\.md\shell,其他步骤和上面一样就行。
试一下吧,现在右键点文件就能直接唤起WSL里的Vim了,不用再手动敲命令导航目录,效率提升超多!
内容的提问来源于stack exchange,提问作者A.B.
相关产品推荐
相关产品推荐

