Çıkıştan sonra Vim'in terminali temizlemesini önleyin


16

Eğer yaparsam:

$ less file

qÇıkmak için basın , hala çalışırken lessekranda gördüğüm aynı metni görüyorum less.

Ancak, eğer

$ vim file

Ve :qterminalim boş ...

Ekrandan çıktıktan sonra terminalimin ekran görüntüleri lessve vim:

resim açıklamasını buraya girin resim açıklamasını buraya girin

Bunu bir şekilde önleyebilir miyim? Bu sadece Linux sistemimde. Beklendiği gibi Benim FreeBSD sistem aslında (her yerinde aynı yazılım / ayarları kullanarak, işler TERMolduğunu xterm-color, her ikisi için de vim -u NONEbir fark yaratmaz).

Sahip olmak istediklerime örnek:

resim açıklamasını buraya girin

Yanıtlar:


19

Varsayılan olarak VIM, sonlandırıldığında, seçenekle yapılandırılan dizeyi t_te, ekranı temizlemesini söylemesi için barındırma terminaline gönderir . Bunu önlemek için sadece :set t_te=terminale hiçbir şey göndermeyin ve ekranın temizlenmesini önleyin. :help termTerminal özellikleri hakkında daha fazla bilgi için forma bakın .


2

Bir xterm kullandığınızda, .vimrc dosyamdaki bu bölümde olduğu gibi, ekran değiştirme için ana ve alternatif ekran tamponlarını kullanabilirsiniz.

if &term == "linux"
    set t_ti=^[[?1049h
    set t_te=^[[?1049l
endif                                                       

Not: ^[olduğu değil literal metin, bu kaçış karakteri kullanımıdır Ctrl+ vtakiben Esceklemek için.

Bu vim komutları, linux terminfo girdisinde eksik olabilecek ilgili komutları ekler. Daha fazla bilgi için:

:help xterm-screens

Hımm, hala bir şey yapmıyor gibi görünüyor? Sanki kullandığım gibi çalışıyor set t_te=, ama daha fazlasını yapması gerekiyor sanırım?
Martin Tournoij
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.