Neovim scp 不提示输入密码



在 Vim 中,这会提示我输入允许我编辑远程文件的密码:

:e scp://username@host//path

然而,在 NeoVim 中使用相同的命令不会提示输入密码,因为底层命令:! scp user@host:path LOCAL-TEMPFILE在 NeoVim 中无法交互工作: https://github.com/neovim/neovim/wiki/FAQ#-and-system-do-weird-things-with-interactive-processes

使用通过ssh进行密码身份验证的NeoVim编辑远程文件的最佳实践是什么?

我猜提供此功能的netrw插件没有为Neovim安装/活动。检查:Nread命令是否可用。比较 Vim 和 Neovim 的:scriptnames输出。阅读插件的文档:help pi_netrw,了解如何安装和启用它。

更新:所以,事实证明,从:!开始的交互式命令存在Neovim问题,这就是netrw正在做的事情;该插件没有捕获密码挑战。它基本上是在执行:! scp user@host:path LOCAL-TEMPFILE

如果可以避免此问题(对主机使用基于密钥的SSH身份验证(,则可以继续将Neovim与netrw一起使用。如果这对您来说真的很重要,则可以使用更详细的解决方法。(例如,我使用ssh包装器来解析自定义Password Hunter2条目的~/.ssh/config(这些密码在组织中是众所周知的,仅用于测试虚拟机,因此这里没有安全问题(,然后使用sshpass自动登录。

否则,您必须切换到经典的 Vim 进行 netrw 操作,或者使用其他方式访问这些远程文件(例如SSHFS(。

最新更新