我正在使用比较工具无可比拟(BC)查看服务器上的文本文件。BC 有一个不错的内置编辑器,但有时我想在 Notepad++(NPP)中打开特定的远程文件,以便更轻松地进行多行编辑。BC 支持在外部编辑器中打开文件,并且有很好的设置来配置它。但是我只能让它处理本地文件,而不能处理远程文件!
在 BC 中,我指定打开用命令为:
"C:\Program Files (x86)\Notepad++\notepad++.exe" "%f"
指示 NPP 的路径以及完整的文件路径%f
。这将打开 NPP 但不会打开文件。如果我指定相对路径%F
也是一样。
我也使用 WinSCP 代替 BC,并且 WinSCP 可以使用以下方法成功打开远程文件到 NPP打开用命令:
"C:\Program Files (x86)\Notepad++\notepad++.exe" !.!
但如果我尝试!.!
在 BC 中使用,那么 NPP 会建议创建不存在的文件!.!
。显然!.!
是 WinSCP 语法,也是%f
BC 语法。
问题:我应该如何引用 NPP 才能正确传递远程文件路径,以便它在 NPP 中打开?
编辑 1:
我注意到WinSCP 使用临时存储来存储远程文件然后将临时文件传递给 NPP,而不是实际的远程文件。所以问题的本质可能是确定 BC 是否也使用某种本地临时文件编辑远程文件时,然后发送那至 NPP。
修改 2:
我认为 BC 存储了临时文件,D:\Users\USERNAME\AppData\Local\Temp\BC41E0D.tmp
但存储方式不可访问;不清楚这些临时文件到底是什么。我被难住了。
(在 NPP 中一次打开多个文件可获得加分。)
答案1
Beyond Compare 无法使用 Notepad++“打开”远程文件,仅适用于本地文件,因为 BC 将完整的远程路径发送到“打开方式”程序。这是 BC 的愿望清单,但目前还无法实现。
BC 不像 WinSCP 那样使用远程文件的本地临时副本。此外,NPP 本身无法打开远程文件,因为它只理解本地文件(它没有 SFTP 接口)。
所以目前没有办法做我想做的事情。坚持使用 WinSCP,或坚持使用 BC,或根据具体任务的重要性混合使用。