Ekleme modunda bozuk Linux vi ok tuşları


97

Ok tuşlarım evde girme modunda vi'de çalışmıyor, sadece her biri yeni satır ve 'A' gibi bir büyük harf ekliyor. Bunu düzeltmenin bir yolu var mı?


3
Linux dağıtımını kastediyorum?
Miquel

Evden uzakta mı çalışıyorlar? :-)
Brian Agnew

4
Açıkçası, çözüm emacs. Açıkçası.
Paul Nathan

38
@Paul Nathan - Çözüm emacs ise, sorunun ne olduğunu bilmek istemiyorum.
Chas. Owens

Yanıtlar:


107

Linux olarak etiketlendiği için vim kullandığınızı varsayıyorum. Deneyin:

:set nocompatible

(.Vimrc dosyanızı buna bu komutu ekleyerek yapılandırmak isteyebilirsiniz. Ana dizininizde yoksa yeni bir .vimrc dosyası oluşturun, echo $HOMEana dizin yolunu kontrol etmek için çalıştırın .)


7
Emin komutla vi başlamak olun vimve vi. Uygulamasının gelişmiş ve kullanışlı özelliklerinin çoğu, vimsiz başlatmadığınız sürece varsayılan olarak devre dışıdır vim.
pts

1
@pts - yalnızca bozuk sistemlerde. Vim'i tüm kutularımda vi olarak başlatmak gayet iyi çalışıyor; ancak, bahsettiğiniz davranışı gösteren kullandığım bazı CentOS kutuları var.
Chas. Owens

Birisi bu yanıtı bir vimrc'de nasıl görüneceğini içerecek şekilde düzenleyebilir mi?
Stephan

1
@Stephan .vimrc'ye set nocompatiblekendi satırını ekleyin
Matthew Wilcoxson

Ubuntu'da bunu, o andan itibaren vim (sudo apt install vim) kurarak çözdüm, ok tuşlarıyla ok tuşlarıyla iyi çalışıyor. Düzenleme: Şimdi, aşağıda Han tarafından daha önce bahsedildiğini görüyorum.
pizzamonster

75

Ubuntu vim-tiny, vim'in sahip olduğu tüm zil ve ıslıklara sahip olmayan varsayılan olarak gönderilir.

sudo apt-get install vimHerkesin bahsettiği tüm ilginç özellikleri hızlıca elde edin.


1
Bu tam olarak mint linux'ta ihtiyacım olan şeydi. Vim'i kurarak hala "vi" kullanmaya başlayabildim ve tüm kod vurgulama artık etkinleştirildi. Ne harika bir linux bilgisi parçası :)
wired00

1
Bu, Raspberry Pi'm (Jessie Lite) için çalıştı. Kabuğun içine yerleştirdiğimde bu sorunu
yaşıyordum

35

:set term=builtin_ansi

benim için düzeltti. Bunu kaçış modundayken (bip modu) vim'e yapıştırabilir veya baştaki ":" olmadan ~ / .vimrc'nin sonuna ekleyebilirsiniz.


: set term = xterm de işe yarayabilir (ve hatırlaması daha kolay).
Alexx Roche

Bilginize :set term=builtin_ansibenim için çalıştım. :set term=xtermolmadı.
FractalSpace

Linux kutularımdan birinde export TERM=xtermvi'yi çağırmadan önce komut satırında kullanıyorum ve sonra :set term=xtermvim 7.2'de benim için çalışıyor
Alexx Roche

Mükemmel çalışıyor! Teşekkür ederim!
Akhmedzianov Danilian

Bu, ok tuşlarıyla gezinmeyi etkinleştirmek için çalışır, ancak terminaldeki tüm renk kodlamasını tamamen ortadan kaldırır.
Ken Ingram

17

vi, ekleme modunda ok tuşlarını desteklemez. Vim kullanın. Vi'niz sadece vim'e bir bağlantı olsa da, "orijinal" vi gibi davranacak şekilde yapılandırılabilir ve bu nedenle ok tuşlarını devre dışı bırakır. Sadece vim'i doğrudan çağırın.


1
Bu bir çözüm olmasa da, davranış (imo) için en iyi açıklamadır vive ve arasındaki farkı netleştirir vim. Ama benim kutu üzerine vimbaskılar command not found: D
Daniel W.

@DanFromGermany Belki sadece bir vi yüklediniz ve vim değil. Kullanmak istiyorsanız, lütfen Linux sisteminizin paket yöneticisi aracılığıyla vim'i kurmayı deneyin.
lothar

:set term=ansibenim için çalıştı teşekkürler Raz . 'desteklemiyor' diyorsunuz. Merak ediyorum vim-tiny, ubuntu paketi -kullanıyorum- vanilyadan farklı violduğu için mi yoksa terim ayarının bunda da işe yarayacağını mı söylediniz ?
n611x007

8

Yine başka bir varyasyon: bu sorun bazı .vimrc değişikliklerinden sonra benim için ortaya çıktı. Uyumlu bir arama sonunda ESC'yi normal modda akıllıca yeniden eşlememin iyi bir fikir olmadığını ortaya çıkardı. Onu kaldırmak sorunu çözdü:

" this is NOT something you want in .vimrc:
" In normal mode, hitting Esc turns off search highlights:
nmap <ESC> :nohl<CR>  " Do NOT add this to .vimrc

Bu sorunu yaşadıktan sonra her şeyi denedim ve aradığım şey buydu, teşekkürler!
Dan Bartlett

Düzeltme için teşekkürler, her yere baktım. Kaçış yeniden eşleştirmenin neden sorunlara neden olduğuna dair bir fikriniz var mı?
fotoğraf dışı

6

Benim için işe yarayan tek şey ": set term = ansi" idi


1
Bu aynı zamanda bir Docker konteyneri kullanarak benim için işe yaradı.
ohlando

1
Bu benim için de çalıştı. Windows'ta cmd.exe kullanıyorum ve vagrant kullanarak
ubuntu'ya sshing yapıyorum

@ CodeCodeO-1-O-log-n peki vipencerelerde veya ubuntu tarafında hangi tarafı kullanıyordunuz ? :)
n611x007

Windows'ta cmd.exe'yi çalıştırdım ve ardından ssh'yi ubuntu sunucusuna ve ardından sunucuya vi'yi çalıştırdım. Ama daha sonra Putty kullanmaya başladım ve artık bunu yapmama gerek yok ve Putty benim için harika çalışıyor.
codelogn

3

Ok tuşlarıyla aynı sorunu yaşadım, ancak kullandığımda bu nocp veya nocompatible ayarını yaptıktan sonra geri almam düzgün çalışmadı

Bazı nedenlerden dolayı vim'i yüklediğimde sudo apt-get install vim, vi artık oklarla veya geri boşlukla ilgili herhangi bir sorun yaşamadı


1

.Vim'de git'i kullanmaya geçtikten sonra ok tuşlarıyla ilgili bir sorun yaşadım.

Bu depoyu kurdum - https://github.com/sunaku/.vim

ve bir saat boyunca etrafı kazdıktan sonra, AutoClose eklentisinin (zaten beğenmedi) ok tuşlarını kırdığını gördüm.

Eklenti belgeleri, set ttimeoutlen = 100 ayarlanması gerektiğini öneriyor, ancak bu benim için işe yaramadı! (urxvt + screen veya urxvt ve hatta xterm kullanarak)

Bu yüzden eklentiyi sonunda kaldırdım.


0

Ayrıca 'noesckey'leri' denemek isteyebilirsiniz


0

Cygwin ile Windows 8.1 içinde vim kullanırken de aynı sorunu yaşadım.

Benim için işe yarayan çözüm, Cygwin terminalinizde aşağıdaki komutu çalıştırmanız yeterlidir:

cp vimrc_example.vim ~/.vimrc

-1

Komut satırına şunu yazın:

EXINIT="set nocompatible"; export EXINIT

1
lütfen çözümünüzün bazı (kısa) açıklamalarını ekleyin
Raidri Monica'yı
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.