vi / vim pencere içindeki ani tampon hareketleri


11

:set wrapVi / vim içinde kullanıldığında , gerçek bir satır (jj / gk) yerine gerçek satır (gj / gk) ile bir dosyada gezinirken bile, imleci yeni bir satıra taşıdıktan sonra, sarılmış bir satırın tamamının görüntü arabelleğine yerleştirilir. / k). Örneğin, bir çizgi 5 ekran çizgisinin üzerine sarılmışsa ve şu anda görüntüleme arabelleğinin dışındaysa, tüm çizgiyi ekrana sığmaya zorlamak için bu çizgiye giderken arabellek 5 satır atlayacaktır. Bu davranışı devre dışı bırakmanın bir yolu var mı? set display+=lastlineKaydırılan bir çizgi, çizgiden uzaklaşarak ekrandan zorlandığında kısmi çizgilerin görüntülenmesine izin vereceğini unutmayın , ancak bu, başlangıçta arabelleğin dışında olan bir çizgiye giderken oluşan arabellek atlamalarını çözmez.

Açıklama: Yukarıdaki açıklamanın belirsiz olması durumunda, özüm, satırların tamamen zorunlu olarak görüntülenmesi yerine ekranın kısmen görüntülenmesini sağlayacak şekilde satır kaydırmayı etkinleştirerek vim içinde sorunsuz bir şekilde kaydırma yapabilmemdir.


1
Ne demek istediğinizi teyit edebilir misiniz: hattın sarılı kısmının bir kısmının ekran dışında olmasını ve düzgün bir şekilde kaydırılmasını mı istiyorsunuz? Vim 'wrap'korktuğumda çizgileri tamamen gösteriyor Korkarım
Benoit

Tam. Ben kaydırılırken bütünüyle sarılmış satırları gösterme davranışını geçersiz kılmanın bir yolu yok mu? Teşekkür ederim.
user001

1
Bildiğimden değil. Yine de cevapları bekleyin, kimse Vim'in neler yapabileceğini bilmiyor.
Benoit

1
@Benoit ile aynı fikirde. Bildiğim kadarıyla mümkün değil.
Fredrik Pihl

1
Şu anda bu konudaki vim_dev posta listesinde bir tartışma var. Bu istekte bulunan tek kişi siz değilsiniz.
Randy Morris

Yanıtlar:


1

Tam bir cevap değil, belki bir ipucu. Orada scrollseçeneği. Bu seçenekle ilgili yardım, diğer şeylerin yanı sıra şunları okur:

{Vi biraz farklı: 'kaydırma' dosya satırları yerine ekran satırlarının sayısını verir, satırlar sarıldığında fark yaratır}


Teşekkürler, bu yardımcı olur. <Ctrl-E> (aşağı) ve <Ctrl-Y> (yukarı) tuş bileşimleri istediğim temel davranışı veriyor. İmlecin pencerenin üst veya alt satırında olup olmadığını tespit etmenin bir yolu varsa, geçici bir çözüm, yukarı ve aşağı ok tuşlarını koşullu olarak <Ctrl-Y> gk ve <Ctrl-E> gj ile eşleştirmeyi içerir, sırasıyla. İmleç pencerenin üst veya alt satırında değilse, bunları gk ve gj ile eşleştirmek gerekir (koşuldaki else ifadesi). İmlecin geçerli pencerenin üst veya alt satırında olup olmadığını belirlemenin basit bir yolu var mı?
user001

0

normal modda, gkve gj( g<up>veya g<down>) tuşlarını kullanarak sarılmış çizginin görüntülenen kısımları arasında geçiş yapabilirsiniz . Bu vim wipipage , davranışın kalıcı olarak nasıl değiştirileceğini açıklar.


1
Kesinlikle, ve ben bu davranışları yön ok tuşlarıyla eşledim. Bununla birlikte, bu, o çizgiye gittikten sonra sarılmış bir çizginin bütününün zorunlu göstergesinden farklıdır. Bu davranış, gj / gk veya j / k kullanımından bağımsızdır. Kısmen tüm sarılmış çizgi görüntülenmeden başlangıçta arabellek (ekran dışı) dışında bir çizgiye geçmek mümkün olmak istiyorum.
user001

Tamam, sonra yanlış anladım. Sanırım çizginiz ya sarılmış ya da değil. İstediğin şey aradaki bir şey, ama bence bu imkansız.
jpjacobs
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.