我想在 Windows 右键菜单中添加一个条目,以便快速使用 WSL Vim 打开文本文件,而无需手动打开终端。
感谢@romainl的帮助。
在 Computer\HKEY_CLASSES_ROOT\*\shell
路径下创建一个名为 Open in Vim
的注册表键,并创建一个子键 command
:
Computer\HKEY_CLASSES_ROOT\*\shell\Open in Vim
Computer\HKEY_CLASSES_ROOT\*\shell\Open in Vim\command
将 command\(Default)
的字符串值编辑为 bash.exe -c "wslpath '%1' | xargs nvim"
(你也可以将 nvim 替换为 vim)。
下载一个Vim 图标,并使用在线转换器将其转换为 .ico
扩展名。在 Open in Vim
键下创建一个 Icon
字符串值,并将其值编辑为 .ico
图像的路径。
你可以在下面看到结果。点击它将打开一个 WSL 终端,其中包含在 Vim 中打开的所选文本文件。退出 Vim 后,终端也将关闭。
在上下文菜单中添加一个项目,以使用 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 'Open in 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;
或者使用注册表文件作为替代方案。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\VIM\command]
@="wsl sudo vim -p \"$(wslpath '%1')\""
Computer\HKEY_CLASSES_ROOT\SystemFileAssociations\.txt\shell\Open in Vim\command
- davidanderle