我想添加一个 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"
(或者,您可以用vim替换nvim)。.ico
扩展。在 Icon
键下创建 Open in Vim
字符串值,并使用 .ico
图像的路径编辑其值。您可以在下面看到生成的条目。单击它将打开一个 WSL 终端,并在 Vim 中打开选定的文本文件。退出 Vim 后,终端也会关闭。
向上下文菜单添加一个项目,以使用
WSL VIM
:打开
PowerShell
中的文件
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')\""
如果我的路径包含空格怎么办? %1 不会在所有提出的解决方案中捕获所有内容。