我想通过 ssh 连接到远程服务器并 vim 一个文件。
我试过
ssh -t user@host "vim x"
这给了我错误:
Error detected while processing /home/michael/.vimrc:
line 58:
E538: No mouse support: mouse=a
line 91:
E474: Invalid argument: listchars=tab:▒~V▒\ ,eol:¬,trail:▒~K~E,extends:▒~]▒,precedes:▒~]▒
line 158:
E185: Cannot find color scheme solarized
line 289:
E484: Can't open file /home/michael/.vimrc_machine_specific
Press ENTER or type command to continue
所以当我进入 vim 窗口时,它当然没有正确配置。
这些错误来自服务器的.vimrc, /home/michael/.vimrc . 最后一个尤其令人惊讶,因为它是由不应该导致错误的 try/catch 生成的:
try
source ~/.vimrc_machine_specific
catch
" No such file? No problem; just ignore it.
endtry
如果我通过 ssh 登录到服务器,然后输入“vim x”,则一切都能正常工作 - 色彩方案加载、缺失的 .vimrc_machine_specific 被悄悄忽略、鼠标可以正常工作等等。
本地机器:
- Win7 上的 Cygwin
- ssh 版本:
OpenSSH_5.1p1, OpenSSL 0.9.8o 01 Jun 2010
远程机器:
- uname -a:
Linux <hostname> 2.6.32-220.2.1.el6.x86_64 #1 SMP Fri Dec 23 02:21:33 CST 2011 x86_64 x86_64 x86_64 GNU/Linux
- ssh 版本:
OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
- vim 版本:
7.2 (2008 Aug 9), including patches 1-411, Huge version without GUI.
知道我做错了什么吗?
答案1
invalid listchars
在我移动这条线之前,我遇到了同样的问题多于它在我的 vimrc 中。
set encoding=utf-8
答案2
该程序vi
通常是 Vim 的微型版本,没有 Vim 的许多功能,因此占用的磁盘和内存空间较小。执行后,:version
前四行将显示您正在运行的 Vim 版本。尝试
ssh -t user@host vim x
反而。
答案3
为了刺激,在 cygwin 中安装一个本地 X 服务器,然后在调用 ssh 时使用 -X 转发 X11 流量。
也许这可以解决上面提到的鼠标支持问题?这可能比其他任何方法都更能解决问题。