在 Cygwin 中通过 ssh -t 使用 vim 时出错

在 Cygwin 中通过 ssh -t 使用 vim 时出错

我想通过 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 流量。

也许这可以解决上面提到的鼠标支持问题?这可能比其他任何方法都更能解决问题。

相关内容