vim scp://host/path/to/file
编辑本地远程文件,然后在保存时更新远程计算机(:w
)。但是我想知道是否可以使用ssh浏览目录(或者是否有插件可以这样做) )
NERDTree不支持它,并且在浏览文件夹时,尽管netrw允许我导航到目录,但无法打开文件。
#1 楼
而不是将Vim / Netrw指向文件:scp://host/path/file
将其指向目录:这样就可以像浏览计算机一样为您提供相同的列表和快捷方式。
#2 楼
糟糕,我忘了打开这个问题了!所以问题是,使用我拥有的netrw版本(在Debian Jessie上与vim-gnome打包在一起),从资源管理器修改文件(通过ssh)会不能使用正确的URI(从内存中丢失了“ user @ host”中的“ @”)。
它打开了一个空文件(因为没有找到任何内容),但仍使用好的URI(有效地覆盖了原始文件)。
@ user21497的答案也对我有帮助,因为我从未找到过“ new file”快捷方式,这很方便,因为使用':e'创建了文件
最后,这个问题帮助我使用netrw进行了更好的导航(使用:Ex打开文件后返回资源管理器)
感谢您的帮助! />
#3 楼
我不确定“通知新文件”是什么意思;如果要创建一个新文件,则在通过scp:// hostname / directory浏览时,就像在本地目录中一样,只需按“%”即可创建一个新文件。参见:help netrw-%。您可以使用d(:help netrw-d)创建目录。如果要修改一个已经存在的文件,请用光标在netrw显示屏中的文件名上方选择它,然后按<cr>
(还有其他选择方法,包括v,o,t等)。有关此概述,请参见:help netrw-quickmap。我刚刚尝试过此操作,但没有得到空文件(已存在时)。当然,新文件将为空。
评论
从Unix机器远程访问Windows机器上的文件夹时,您是否尝试过此方法。我刚试过vim scp://user@10.1.4.4//C:/ Users / user / Desktop / tmp /,它给了当我尝试时,出现空白屏幕,错误“ ls”未被识别为内部或外部命令:vim scp://user@10.1.4.4//C:/ Users / user / Desktop / tmp / filename。它工作正常。
–alpha_989
18年7月18日在18:41
由此看来,vim登录到远程计算机时发出了ls命令,因为它是Windows计算机,所以没有ls ..并且该命令失败。 vim是否可以使用netrw插件或其他工具通过ssh遍历Windows目录?我正在使用VIM 8.1
–alpha_989
18年7月18日在18:46
请注意,必须先在scp:// host // path /之后加上斜杠才能使用;否则,vim将尝试以常规文件打开路径,该文件将加载为空白。
– koyae
19年7月4日在18:45