ekleme modunda geri silme karakterleri silmiyor


10

Ben vi için yeniyim , aslında vi'yi bugünden öğrenmeye başladım ve geri tuşu anahtarının davranışlarına takılı kaldım . Aslında, Ubuntu 12.04'ümde vi'yı ilk çalıştırdığımda geri tuşu normal olarak çalışıyordu, ancak bundan sonra garip davranmaya başladı. Ekleme modunda geri tuşuna her bastığımda, karakteri silmek yerine sadece bir sola gider. Varsayılan geri alma işlevini nasıl geri alabilirim? Lütfen vim kurmak ya da uyumsuzluk ayarlamak istemediğimi unutmayın.


5
Geleneksel vi davranışı budur. Uyumsuzluk ayarlama seçeneğiniz varsa, zaten kullanıyorsunuz demektir vim.
Stéphane Chazelas

Vi Ubuntu üzerinde yüklü farkında değilim. Linux dünyasında vi deneyimlerime göre sadece vim'in sembolik bir bağlantısı. Gerçek vi öğrenmek istiyorsanız nvi veya hairloom project vi'yi kurun.
Predrag Punosevac

Yanıtlar:


6

Bazen vikomut, vi-modunu etkinleştiren vimve için çağrıldığında bir diğer viaddır.

Geleneksel modda bile geri tuşu karakteri siler, ancak hemen silindi olarak görüntülemez. (ESC'ye bastıktan sonra karakterler kaybolur.)

Sanırım vitarif edilen davranışla birlikte gelen kullanımı veya vimhangisini beklediğiniz gibi yapabileceğiniz arasında seçim yapmak zorundasınız.


9
  1. Gerçekten düz viüzerinden kullanıp kullanmadığınızı kontrol edin

    $ vi --version | head -n 1

    Bu benim makineme veriyor (Debian 7)

    VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Feb 10 2013 02:27:59)

    vim daha çok vi gibi davranabilir. Bu komutu vererek yapılabilir viyerine vimkomut, gelen visadece sim-link vimdurum vim vi modunda açılır edildiği,. Bunu ile kontrol edebilirsiniz :set compatible?.

  2. Önceki cevap tarafından belirtildiği gibi, backspace etkisi de ayrıldıktan sonra görülür hale insert modeolduğunda set compatibleetkindir.

Not: vi uyumlu modda, daha önce girilmiş (girilmeden önce insert mode) veya eol veya girintili metin üzerine geri alamazsınız insert mode. görmek :help 'bs'

    'backspace' 'bs'        string  (default "")
                            global
                            {not in Vi}
    Influences the working of <BS>, <Del>, CTRL-W and CTRL-U in Insert
    mode.  This is a list of items, separated by commas.  Each item allows
    a way to backspace over something:
    value   effect
    indent  allow backspacing over autoindent
    eol     allow backspacing over line breaks (join lines)
    start   allow backspacing over the start of insert; CTRL-W and CTRL-U
            stop once at the start of insert.

    When the value is empty, Vi compatible backspacing is used.
    For backwards compatibility with version 5.4 and earlier:
    value   effect
      0     same as ":set backspace=" (Vi compatible)
      1     same as ":set backspace=indent,eol"
      2     same as ":set backspace=indent,eol,start"

Anlamlarını anlamak için farklı ayarları deneyin: Ekleme modunda karakterleri / satır sonlarını ve girinti girin, ekleme modundan çıkıp yeniden girin ve ardından geri boşluk kullanmayı deneyin.

Vi davranışına aşina olmayan ve düz vi (zaten tavsiye edilmez) kullanmakta ısrar etmeyen kullanıcılar kullanmalıdır :set backspace=indent,eol,start. Debian'da Afaik genellikle bu ayarla yüklü sistem çapında bir yapılandırma dosyası vardır.

Geçerli ayarı adresinden alabilirsiniz :set bs?.


5

Zaten orada değilse, kullanıcı giriş dizininde .vimrc adlı yeni bir dosya oluşturun. Burada vi ile aynı anda oluşturup düzenleyeceğiz

sudo vi ~/.vimrc

Uyumluluk modunu ve geri silme tuşunu silme işlevini kapatmayı içeren aşağıdaki komutları ekleyin:

set nocp
set backspace=indent,eol,start

Dosyayı kullanarak kaydedin ve çıkın

:wq

Uyumluluk modunun kapatılması, eski vi'ların alışkın olduğu ok tuşlarının kullanılmasına izin verir.

Dosyayı oluştururken sudo'ladığımızdan, dosyanın sahipliği muhtemelen kök olacaktır. Dosyayı kullanıcıya chown edebilirsiniz.

Benim durumumda bu ahududu pi için, bu yüzden kullanıcı ve grup pi:

chown pi:pi ~/.vimrc

Şimdi vi'yi tekrar ateşle ve tadını çıkar!


1
set nocpbenim için hile yaptı
Louis M


0

sadece senin yerine ~/.zshrc

bindkey "^?" backward-delete-char

0

Ana dizinimde yalnızca içeren bir .vimrc oluşturma

nocp'u ayarla

backspace ile karakter ekrandan karakter kaldırmadan düzeltildi Dick S.

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.