怎么使用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)