vim netrw 目录列表 windows 到 linux

vim netrw 目录列表 windows 到 linux

在 Windows 机器上,使用 gVim。

我使用 Kitty 来作为 ssh 的 Putty 克隆版,除了名称之外,命令行命令完全相同。

在工作中,我使用 MacVim 从我的 Mac 连接许多 Linux 服务器。Netrw 工作得很好,我使用的是远程 Linux 机器上的 ssh 密钥。

我最常见的用例是:

:e sftp://user@host/subdir/

这将让我得到主目录下名为 subdir 的子目录的内容列表。从那里我可以向下查找直到找到我想要编辑的文件。

所以在家里我有一个 Windows 盒子(Windows 10 已完全更新)。gVim 8.1.1779 是一个非常新的版本。

如果我知道确切的名称,使用 scp 或 sftp 可以很好地编辑文件。我的 .vimrc 是:

let g:netrw_sftp_cmd= 'c:\Kitty\kscp.exe -agent -batch -q -sftp'
let g:netrw_scp_cmd= 'c:\Kitty\kscp.exe -agent -q -batch'

-agent 告诉它使用 kageant(pageant)作为我的 ssh 密钥的代理。

正如我所说,我可以毫无问题地获取我知道确切路径的文件。但如果我尝试使用我的常用模式来获取目录列表,则会失败。

我对 netrw 的了解有限,而谷歌搜索为我提供的帮助很少,设置如下:

let g:netrw_list_cmd = 'c:\Kitty\klink -T -ssh -agent -batch'

但它没有给我任何结果。我尝试了很多方法,但都失败了。我在这里和谷歌上找到的大多数文章都是 10 年前的,不再有效。

因此我尝试编写脚本并将其放入 netrw_list_cmd,但它并没有将 user@host 部分传递给我的脚本。

这个问题有解决吗?我是唯一一个使用 netrw 远程列出目录的人吗?并且使用 ssh 密钥?

谢谢

博杰尔

答案1

好吧,这些年来事情确实发生了变化。

Putty 不再是必需的,Windows 10 中已经内置了一个 OpenSSH 客户端。

  • 我做的第一件事是将我的 id_rsa 添加到 c:/User/[用户名]/.ssh

  • 如果你还没有安装 OpenSSH 客户端,请安装它,
    网上有很多文章可以教你如何安装

  • 我有 Windows 10 Pro,因此 ssh-agent.exe 不会自动运行

  • 转到任务管理器服务

  • OpenSSH 身份验证代理属性自动(延迟启动)不确定是否延迟但我读过文章。

  • 现在启动cmd。

  • ssh-添加 C:/Users/[用户]/.ssh/id_rsa

  • 从 .vimrc 中删除任何 let g:netrw 命令现在一切正常。

  • 我希望以前有人说过

相关内容