使用SSH浏览


10

我知道可以使用它vim scp://host/path/to/file来编辑本地远程文件,然后在保存(:w)时更新远程计算机。但是我想知道是否可以使用ssh浏览目录(或者是否有插件可以这样做)

NERDTree不支持它,并且在浏览文件夹时,尽管netrw允许我导航到目录,但无法打开文件。

Answers:


13

而不是将Vim / Netrw指向文件:

scp://host/path/file

将其指向目录:

scp://host/path/

这为您提供了与浏览计算机相同的列表和相同的快捷方式。


从您的远程处理,当你尝试过这种Unix机器访问文件夹在Windows机器上。我只是尝试vim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/,它只是给了我一个空白屏幕,并显示错误'ls' is not recognized as an internal or external command,当我尝试:vim scp://user@10.1.4.4//C:/Users/user/Desktop/tmp/filename..它工作正常。
alpha_989

由此看来,当它登录到远程计算机时,因为它是Windows计算机,所以没有vim发出命令ls,因此ls该命令失败。vim是否可以windows使用netrw插件或其他方法通过ssh 遍历目录?我使用VIM 8.1
alpha_989 '18

2
请注意,后面的斜杠scp://host//path/对于此功能是必须的;否则,vim会尝试将路径作为常规文件打开,这将加载空白。
koyae

1

糟糕,我忘记了打开此问题!

因此,问题在于,使用我拥有的netrw版本(在Debian Jessie上与vim-gnome打包在一起),(通过ssh)修改资源管理器中的文件将不会使用正确的URI(从内存中,“ user @ host'丢失)。它打开了一个空文件(因为未找到任何内容),但仍使用良好的URI保存了新文件(有效覆盖了原始文件)。

@ user21497的答案也对我有帮助,因为我从未找到过“新文件”快捷方式,这非常方便,因为使用“:e”可在本地创建文件。

最后,这个问题帮助我使用netrw进行了更好的导航(使用:Ex打开文件后返回资源管理器)

感谢您的帮助!


0

我不确定“通知新文件”是什么意思;如果要创建新文件,则通过scp:// hostname / directory浏览时,只需像在本地目录中一样按“%”以创建新文件。参见:help netrw-%。您可以使用d(:help netrw-d)创建目录。如果要修改现有文件,请用光标在netrw显示屏中的文件名上方将其选中,然后按<cr>(还有其他选择方法,包括v,o,t等)。有关此概述,请参见:help netrw-quickmap。我刚刚尝试过此操作,但没有得到空文件(已存在时)。当然,新文件将为空。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.