在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编辑远程文件的最佳实践是什么?
发布于 2018-09-11 06:46:16
我猜想提供此功能的netrw插件没有为Neovim安装/激活。检查:Nread命令是否可用。比较Vim和Neovim的:scriptnames输出。阅读插件的文档:help pi_netrw,了解如何安装和启用它。
更新:原来有一个Neovim问题,它的交互命令是从:!启动的,这就是netrw所做的;插件不捕获密码挑战。它基本上是在执行:! scp user@host:path LOCAL-TEMPFILE
如果您可以避免这个问题(对主机使用基于密钥的SSH身份验证),则可以继续在netrw中使用Neovim。如果这对你来说真的很重要,那么更复杂的解决办法是可能的。(例如,我在ssh周围使用了一个包装器,它解析自定义Password Hunter2条目的~/.ssh/config (这些密码在组织中是众所周知的,只用于测试VM,因此这里没有安全问题),然后使用sshpass自动登录。
否则,对于netrw操作,您必须切换到经典的Vim,或者使用其他方式访问这些远程文件(例如SSHFS)。
https://stackoverflow.com/questions/52263678
复制相似问题