![将完整文件名复制到剪贴板](https://linux22.com/image/1602560/%E5%B0%86%E5%AE%8C%E6%95%B4%E6%96%87%E4%BB%B6%E5%90%8D%E5%A4%8D%E5%88%B6%E5%88%B0%E5%89%AA%E8%B4%B4%E6%9D%BF.png)
嗨,我在 Windows 上使用 vifm,非常喜欢它。我已将其放在vifmrc
文件中,以便将完整文件名拉到剪贴板 -
nnoremap yf :!echo %d\%c%i| clip<cr>
它工作正常,但如果文件名或路径包含space
字符,命令会将其转义,从而破坏完整路径。
例如 -
actual path: d:\work documents\file name with space.txt
yanked path: d:\work\ documents\file\ name\ with\ space.txt
有人能告诉我如何修复它以避免逃逸吗?
答案1
我可以使用以下映射来获得正确的结果 -
nnoremap yf :!pwsh -c "\"%d\%c%i\".Replace(\"\ \",\" \")"| clip<cr>
它调用 powershell 脚本并将“\”替换为“ ”,然后将结果通过管道传输到clip