如何使用Vim编辑远程机器上的文件
????? 遇到一个问题:如何在本地,使用Vim编辑远程机器上的某个文件呢?
????? 在Google上查询后,找到下面两个web:
????? 1.用vim安全编辑远程文件
????? 2.用Vim编辑远程文件
????? 在这两个web中,提供的解决方案是使用netrw插件。
?????
????? 关于插件netrw,可以在Vim的官方网站上找到:
????? http://www.vim.org/scripts/script.php?script_id=1075
????? 插件的安装和基本使用在此有说明。
????? 在初次使用时,遇到了指定远程文件路径的问题。
????? 关于这点,在插件作者的description中给出了说明,原文如下:
????? For remote directory browsing, the [protocol]://[user]@hostname/path/ is user-directory relative.??If you want to specify a full path, use another slash before the path: [protocol]://[user]@hostname//path/.
????? 在用vim安全编辑远程文件中,进一步说明了使用脚本包装以使操作简化的方式,以及在指定文件路径时对于符号‘~’使用的注意事项。具体的原文如下:
????? 如果经常使用这样的语句, 可以用 wrapper shell script 。会使录入更加简单。如下语句:
#!/bin/sh
vim scp://joe@host/${1}
如果使用这段程序,而且使用~字符来代替主目录,要保证把文件名放在括号内,否则,shell将会扩展主目录,并且传到已经扩展的主目录上。这样本机的目录是:/users/joe,而远程服务器的目录则是:/home/joe。否则将会引起系统混乱。可以将shell script 放到路径的某一段,然后执行。例如:
$ vimhost "~/somesite.com/html/index.php"(王朝网络 wangchao.net.cn)