Cygwin vim komutları normal vim'den farklı mı?


28

Cygwin'de vim kullanarak metin dosyalarını düzenleyemiyorum.

Ben basın zorunda iinsert metne defalarca. Bazen işe yarar ve bazen işe yaramaz. İmleci aşağı doğru hareket ettirdiğimde, birçok kez I düğmesine basmam gerekiyor.

Sorun ne olabilir Cygwin'de backspaceçalışıyor mu ?


Yerel Windows konsolunun içinde, yerel uygulama olarak çalışan başka bir terminal emülatöründe, X altında çalışan bir terminal emülatöründe mi çalışıyorsunuz? Windows'un hangi sürümü? Presleme ESCve presleme arasındaki gecikme iönemli midir?
Gilles 'SO- kötülük yapmayı bırak'

Yanıtlar:


34

Cygwin vim, vim'in varsayılan yapılandırmasıyla birlikte gelir; bu da vim'i, orijinal vi'yu mümkün olduğu kadar taklit etmeye çalıştığı vi uyumluluk modunda bırakır. Diğer sınırlamalar arasında, ok tuşları bu modda çalışmaz ve geri al, imleci karakter silmek yerine sola taşır.

Boşluk oluşturmak ~/.vimrcvi uyumluluk modunu devre dışı bırakmak için yeterli:

touch ~/.vimrc

Bunu söyledikten sonra, iinsert moduna girmek için yine de çalışması gerekir. Vim'i nerede ve nasıl çalıştırdığınla ilgili daha fazla ayrıntı vermen gerekecek. Ayrıca, aslında Cygwin ile birlikte gelen vim'i veya vim'in yerel Windows sürümünü mü çalıştırıyorsunuz?

Güncelleştirme

Aşağıdaki kümeleri ~ / .vimrc dizininde varsayılan vim değerine benzer şekilde ekleyebilirsiniz.

set nocompatible
set backspace=indent,eol,start
set backup
set history=50
set ruler
set background=dark
set showcmd
set incsearch
syntax on
set hlsearch

Vim vimrc dosyanızı almazsa, bunun yerine bir .vircdosyayı arıyor olabilir . Bu durumda, dosyayı yeniden adlandırın ve değişiklikler uygulanacaktır.


Uyumluluğun nasıl kapatılacağını söyleseydin daha iyi olurdu.
gideon

Cygwin'in varsayılan ev konumunun nerede olduğunu biliyor musunuz? Ben Cycwin yerine GUI tarafından .virc oluşturmak istiyorum
Alex

13

En kolay yol, Cygwin VIM'in örnek vimrc dosyasını kopyalamaktır.

cp /usr/share/vim/vim*/vimrc_example.vim /etc/vimrc

Bu, sisteminizdeki her hesap için sorunu çözecektir. Herhangi bir nedenle, yalnızca belirli bir kullanıcı için değiştirmek istiyorsanız,

cp /usr/share/vim/vim*/vimrc_example.vim ~/.vimrc

Buraya bakınız referans


1
Bu kabul edilen cevap olmalıdır, çünkü örnek aslında varsayılan olarak vurgulanan sözdizimini açar ve muhtemelen insanların alıştığı diğer birçok varsayılan değerdir.
JohnEye,

PC yeniden başlatılıncaya kadar çalışmadı. Ama işe yarıyor!
3bdalla

Mükemmel bir cevap, basit ve yeni bir cygwin kurulumuyla gördüğüm tüm farklı sorunları
çözdüm

Bu şimdiye kadar en iyi cevap!
Theodore R. Smith

1
bu dosya nerede bulunur? / usr / share / içinde arama yapıyordum ama sonra vim adında bir dizin göremiyorum.
neo33

3

Cygwin kullanarak Windows 8.1'in içindeki vim çalışırken ok tuşlarıyla ilgili sorun yaşadım. Sorun ekleme modunda Ok tuşları ile gezinirken A / B / C / D yazdırmaktı. Benim için çalıştı çözüm:

cp vimrc_example.vim ~/.vimrc

Temelde, yukarıdaki komut vimrc_example.vimdosyaya kopyalanıyor /home/<user name>/.vimrc.


Bu benim için sorunumu çözdü. Ben aynı sorunu insert anahtar ve vim içinde çalışmayan oklar vardı. Bu Windows
10'daydı


1

Bu yolu dene:

  • ilk:

    cp /usr/share/vim/vim73/vimrc_example.vim ~/.vimrc
    
  • sonra bu satırı ./.bashrcdosyanıza ekleyin :

    alias vi="vim"
    

0

Hiçbir komut tam olarak aynı değil. Bir giriş probleminiz var gibi geliyor. Ya klavyeniz bozuk ya da terminaliniz fritz ya da başka bir şey üzerinde.


0

Terminal programınızın özelliklerine bağlı olarak, bir imleç tuşuna bastığınızda, ESC tuşuyla başlayan bir dizi karakter gönderir. Örneğin, Yukarı Ok tuşu ESC [A] karakterini gönderir [A. Giriş modunda vim ile, bir imleç tuşuna basılması, ESC göründüğünde giriş modunu sonlandırabilir ve ardından gelen karakterler vim komutları olarak yorumlanabilir. Giriş modundan çıktığından, metin eklemeye devam etmek için tekrar i düğmesine basmanız gerekir. Belki de sizin için olan şey budur.

Terminalinizde VT-100, VT-220 gibi emülasyonu değiştirebilecek seçeneklerin olup olmadığını veya Geri veya Del tuşlarına basıldığında ne gönderileceğini belirten bir ayar olup olmadığını kontrol edin. Bu ayarları değiştirmek istediğiniz davranışa neden olabilir. Yerel Windows komut konsolunu kullanıyorsanız, muhtemelen bu seçenekleri alamazsınız.

Giriş modunda imleç tuşlarını kullanmaktan kaçınmanız gerekebilir. Giriş modundan çıkmak için ESC'ye basın, sonra imleci hareket ettirin, daha fazla giriş için tekrar i. Vim'in giriş modundaki imleç tuşlarını yorumlayabilmesi için yeterince zeki olmadan önce eski zamanlayıcıların yapması gereken buydu.

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.