Cygwin'de ssh-t yerine vim kullanırken hatalar


1

Uzak bir sunucuya ssh ve bir dosya vim istiyorum.

denedim

ssh -t user@host "vim x"

Bana hata verdi:

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

ve tabii ki girdiğimde vim penceresi düzgün bir şekilde yapılandırılmadı.

Bu hatalar sunucunun .vimrc, /home/michael/.vimrc. Sonuncusu, bir hataya neden olmaması gereken bir deneme / yakalama tarafından oluşturulduğu için özellikle şaşırtıcıdır:

try
  source ~/.vimrc_machine_specific
catch
  " No such file? No problem; just ignore it.
endtry

Sunucuya giriş yapıp 'vim x' yazın, hepsi doğru çalışıyorsa, renk düzeni yüklenir, eksik .vimrc_machine_specific sessiz bir şekilde yoksayılır, fare çalışır vb.

Yerel makine:

  • Win7'de Cygwin
  • ssh versiyonu: OpenSSH_5.1p1, OpenSSL 0.9.8o 01 Jun 2010

Uzak makine:

  • 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 versiyonu: OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
  • vim versiyonu: 7.2 (2008 Aug 9), including patches 1-411, Huge version without GUI.

Yanlış yaptığım bir fikrin var mı?


Sorununuzu çözmüyor, ancak yazdığım bir yazılımı deneyebilirsiniz: sbc . Benziyor bcvi ama daha esnektir. Özelliklerden biri, uzak dosyaları düzenlemek için yerel vim'i kullanmaktır (ve uzak makinedeki SSH ile bağlandığınızda yerel vim'i arayabilirsiniz), böylece uzaktan kumandayı çalıştırmanıza gerek kalmaz .vimrc dosya.
Álvaro Justen

Yanıtlar:


2

Bende de aynı problem vardı invalid listchars bu çizgiyi taşıyana kadar yukarıdaki benim vimrc içinde.

set encoding=utf-8


Bu benim için çalıştı. Bunun sadece ssh içinden gerçekleşmesinin sebebi muhtemelen yerel ayarınızın beklediğinizden farklı olmasıdır. Quotinv vim help: "Normalde 'kodlama' mevcut yerel ayarınıza eşit olacaktır. Vim ortam ayarlarınızı tanırsa bu varsayılan değer olacaktır."
PonyEars

0

Program vi genellikle küçük bir disk ve bellek alanı kaplayacak şekilde Vim'in birçok özelliği olmadan oluşturulan küçük bir Vim sürümüdür. yürütme :version Hangi Vim versiyonunu çalıştırdığınızı ilk dört satırda göstereceğim. Deneyin

ssh -t user@host vim x

yerine.


Hayır, korkarım sorun bu değil; Ben 'alias vi = vim' var. Her ikisi de 7.2 sürümünü gösterir.
Michael Gundlach

Önemli olan sürüm değil numara ancak özellik seti, sürüm olarak da adlandırılır. "Küçük", "küçük", "normal", "büyük" veya "büyük" olabilir ve ": version" çıktısının dördüncü satırındaki ilk kelimedir.
garyjohn

2
@MichaelGundlach: Ayrıca, sizin ssh komut başlatılamıyor vi / vim Etkileşimli bir kabuktan, takma adlarınızın herhangi bir etkisi olmaz.
garyjohn

Sağol Gary John. Çok büyük'. Sorunun basitleştirilmesi için aynı sorunun 'vi' yerine 'vim' kullanarak olduğunu doğruladım.
Michael Gundlach

0

Heyecan için, cygwin'de yerel bir X sunucusu kurun, sonra X11 trafiğini iletmek için ssh kullandığınızda -X kullanın.

Belki de bu yukarıda belirtilen fare desteğiyle sorunu çözebilir mi? Bu muhtemelen her şeyden daha fazla geçici bir çözümdür.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.