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努力解决这个问题并让它发挥作用.干杯!

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...