如何在Windows中通过WSL Vim添加“在Vim中打开”右键菜单以编辑文本文件

3
我想在 Windows 右键菜单中添加一个条目,以便快速使用 WSL Vim 打开文本文件,而无需手动打开终端。 感谢@romainl的帮助。
2个回答

3
  1. 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

  2. command\(Default) 的字符串值编辑为 bash.exe -c "wslpath '%1' | xargs nvim"(你也可以将 nvim 替换为 vim)。

  3. 下载一个Vim 图标,并使用在线转换器将其转换为 .ico 扩展名。在 Open in Vim 键下创建一个 Icon 字符串值,并将其值编辑为 .ico 图像的路径。

你可以在下面看到结果。点击它将打开一个 WSL 终端,其中包含在 Vim 中打开的所选文本文件。退出 Vim 后,终端也将关闭。 enter image description here


这将为所有文件类型添加上下文菜单。 有没有办法仅为文本文件添加上下文菜单? - Joe
在这种情况下,您需要创建此键结构并执行上述操作。对我来说,.txt键完全为空,因此我还必须创建shell键。Computer\HKEY_CLASSES_ROOT\SystemFileAssociations\.txt\shell\Open in Vim\command - davidanderle

0

在上下文菜单中添加一个项目,以使用 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')\""

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接