如何使用Linux的Windows子系统“使用Vim打开”?

gywdnpxw  于 2022-11-11  发布在  Linux
关注(0)|答案(2)|浏览(256)

一些背景:我通常使用Ubuntu上的Vim来打开文件,因为你可以右键单击并选择“用Vim打开”。我一直在Linux的Windows子系统上试验Vim。
要在Linux的Windows子系统上打开一个文件,唯一的方法似乎是使用bash终端导航到该目录,然后键入vim filename.extension。这对我的工作流来说是非常低效的。有没有什么方法可以使用Linux的Windows子系统获得“用Vim打开”选项?

jljoyd4f

jljoyd4f1#

经过大量的实验,我决定最好的方法是使用Vim for Windows而不是Vim for WSL。主要原因是Vim for WSL不支持剪贴板的复制粘贴功能,并且您不能右键单击文件并选择用Vim打开。要使用Vim打开选项在Windows Vim中工作,您必须编辑
[HKEY_本地_机器\软件\Vim\Gvim]
通过改变路径
路径=C:\程序文件\Vim\vim74\gvim.exe

路径=C:\程序文件\Vim\vim74\vim.exe
此解决方案来自帖子How do I make “Edit with Vim” open Vim instead of gVim on windows?
更新:经过更多的实验,Windows Vim似乎不支持鼠标=a命令,复制和粘贴在WSL和cmd Vim上都很有缺陷/不存在,所以使用GVim或安装Linux发行版可能会更好。

zkure5ic

zkure5ic2#

向上下文菜单中添加一个项目,以使用PowerShell打开WSL VIM中的文件:

New-Item -Path 'Registry::HKEY_CLASSES_ROOT\*\shell\VIM\command' -Force | Out-Null;
Set-ItemProperty -Path 'Registry::HKEY_CLASSES_ROOT\`*\shell\VIM' -Name '(default)' -Value 'VIM' -Force | Out-Null;
Set-ItemProperty -Path 'Registry::HKEY_CLASSES_ROOT\`*\shell\VIM' -Name 'Icon' -Value 'C:\Windows\System32\wsl.exe,0' -Force | Out-Null;
Set-ItemProperty -Path 'Registry::HKEY_CLASSES_ROOT\`*\shell\VIM\command' -Name '(default)' -Value "wsl vim -p `"`$(wslpath '%1')`"" -Force | Out-Null;

相关问题