好吧,也许以前有人问这个,但是我搜索并且没有扔任何东西,所以我在这里抓住机会.
我在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)(花了我很多时间才最终得到了一些工作):
原文链接:https://www.f2er.com/bash/384574.htmlset 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努力解决这个问题并让它发挥作用.干杯!