微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vim – 使用ssh / Putty和netrw在Windows上透明地编辑远程文件

好吧,也许以前有人问这个,但是我搜索并且没有扔任何东西,所以我在这里抓住机会.

我在Windows 7 64位上使用最新的vim(gvim 7.3).

我有一些远程文件,我想用vim直接编辑,使用netrw.

现在,由于Putty,Pageant和公钥/私钥,我有一个完全工作的透明ssh连接到我的远程主机.

我已经使用这些修复成功设置了对远程文件的读/写访问权限:

#### .vimrc ####
let g:netrw_cygwin= 0
let g:netrw_scp_cmd = 'c:\"Program Files (x86)"\PuTTY\pscp.exe -q -batch'
let g:netrw_sftp_cmd= '"c:\"Program Files (x86)"\PuTTY\psftp.exe'

然后我可以访问一个文件

:e scp:\\user@host:port\\home\me\some-file.txt

并且,每次我访问远程文件时,Vim都会运行Windows提示符(cmd.exe):

C:\Windows\system32\cmd.exe /c c:\"Program Files (x86)"\PuTTY\pscp.exe -q -batch
 -P 22 "C:\Users\me\AppData\Local\Temp\VIF215E.tmp" "user@host:/home/me/some-file.txt"
Hit any key to close this window...

我的问题是每次我想打开/写一个文件时在Vim外面敲一个键是没有效率的.

所以我的问题是(是):

>我是以正确的方式做到的吗?
>有透明的另一种方式吗?
使用ssh访问远程文件
Windows?
>如果没有,有没有办法
摆脱“打任何关键来关闭这个
窗口……“当Vim发布putty的pscp.exe时?

非常感谢和快乐的vimming.

编辑:过去注意自己:Dude,只需要使用linux和vanilla gvim / ssh.你以后会感谢我(看看spf13-vim)

这些是我今天工作的(Win 7中的gVim 7.3)(花了我很多时间才最终得到了一些工作):
set nocompatible
let g:netrw_cygwin = 0
let g:netrw_list_cmd = "plink.exe -P ##### -pw MyPass user@host.com ls -Fa "
let g:netrw_ssh_cmd  = "plink -T -ssh"
let g:netrw_scp_cmd  = "pscp -P ##### -pw MyPass -scp"
let g:netrw_sftp_cmd = "pscp -pw MyPass -sftp"
or
let g:netrw_sftp_cmd = "psftp -P ##### -pw MyPass user@host.com"

使用第一个命令确保在-Fa之后有[空格]或者您将收到错误.
然后你可以通过Vim连接

:e scp://user@host:port#/(path to file)
:e sftp://user@host:port#/(path to file)

我希望这有助于一些Vimmers努力解决这个问题并让它发挥作用.干杯!

原文地址:https://www.jb51.cc/vim/384574.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐