我正在尝试在 Windows 上下文菜单中实现“使用 VIM 编辑”选项,以便编辑文本文件。我发现了一种“几乎”有效的方法,即向 中添加一个注册表项Computer\HKEY_CLASSES_ROOT\*\shell\
,其Open with VIM
标题和command
子项的值如下:
` bash.exe -c "wslpath '%1' | xargs vim"
该键允许我在 Ubuntu WSL 中使用所选文件启动 VIM,但前提是文件路径不包含空格。例如,对于 C:\Program Files... 下的文件,Vim 会打开“C:\Program ”下的文档,并在空格处切分路径。
如何允许包含空格的文件路径被接受为注册表项中的 %1 变量?
答案1
添加转义字符 ( \
),如下所示:
wslpath '%1' | sed 's| |\\ |g' | xargs vim
这样做的目的是blank
用\blank
(意思是用
\
)替换全部。
这样,空格就被转义了,不再作为分隔符,而只是字符串内的普通字符。