一些背景:我通常在Ubuntu上使用Vim来打开文件,因为您可以右键单击并选择"使用Vim打开"。 我一直在Linux的Windows子系统上试验Vim。
要在 Linux 的 Windows 子系统上打开文件,唯一的方法似乎是使用 bash 终端导航到该目录并键入 vim filename.extension。 这对于我的工作流程来说效率非常低。 有没有办法使用Linux的Windows子系统获得"使用Vim打开"选项?
经过大量的实验,我决定最好的方法是将 Vim 用于 Windows,而不是 vim 用于 WSL。主要原因是 Vim for WSL 不支持从剪贴板复制粘贴功能,并且您无法右键单击文件并选择使用 Vim 打开。 要使使用 Vim 打开选项适用于 Windows Vim,您必须在
[HKEY_LOCAL_MACHINE\软件\Vim\Gvim]
通过更改路径
path=C:\Program Files\Vim\vim74\gvim.exe
自
path=C:\Program Files\Vim\vim74\vim.exe
此解决方案是从帖子中找到的 如何使"使用 Vim 编辑"在窗口上打开 Vim 而不是 gVim?
更新:经过更多的实验,Windows Vim似乎不支持mouse=a命令,复制和粘贴在WSL和cmd Vim上确实存在错误/不存在,因此最好使用GVim或安装Linux发行版。
将项目添加到上下文菜单以打开带有PowerShell
的WSL VIM
文件:
New-Item -Path 'Registry::HKEY_CLASSES_ROOT*shellVIMcommand' -Force | Out-Null;
Set-ItemProperty -Path 'Registry::HKEY_CLASSES_ROOT`*shellVIM' -Name '(default)' -Value 'VIM' -Force | Out-Null;
Set-ItemProperty -Path 'Registry::HKEY_CLASSES_ROOT`*shellVIM' -Name 'Icon' -Value 'C:WindowsSystem32wsl.exe,0' -Force | Out-Null;
Set-ItemProperty -Path 'Registry::HKEY_CLASSES_ROOT`*shellVIMcommand' -Name '(default)' -Value "wsl vim -p `"`$(wslpath '%1')`"" -Force | Out-Null;