Yatay kaydırma nasıl devre dışı bırakılır
Yatay kaydırmayı devre dışı bırakan bir çözüm yazdım ( @ ЯрославРахматуллин'ın önerisini dikkate alarak ), ancak beğeneceğinizi sanmıyorum:
augroup NoScrollPlease
autocmd!
autocmd CursorMoved * norm!99zH
augroup END
Bu, sadece tekrar geriye kaydırma inanılmaz hassas yöntemiyle sağa kaydırmayı önler. *
* Ne kadar sağa kaydırdığınızı veya satırlarınızın ne kadar sürdüğünü bilmediğimden, rasgele 99 yarım ekran genişliğinde "uzak" miktarını kaydırıyorum. Ayrıca, "geriye" sola kaydırmadan önce gerçekten sağa kaydırıp kaydırmadığınızı kontrol etmekte rahatsız olmadığımı da unutmayın. Bu çözümü gerçekten kullanmak istiyorsanız getcurpos()
, 'sidescroll'
ve değerlerini karşılaştırarak bir şeyi yok etmek isteyebilirsiniz 'columns'
.
Neden bunu yapmak istemeyeceksin
Bunu kullanmamanızın nedeni, kaydırma probleminin altında yatan bir başka konudur: Vim, imleci "ekran dışına" taşımanıza izin vermez. Bu nedenle, imleç kaydırma sonrasında ekranın dışına çıkacak şekilde sola kaydırırsanız, Vim imleci yan yana getirir ve sola doğru hareket ettirir.
Ancak, imlecin ekranda görünüp görünmediğine ilişkin hesaplama, orijinal sorunu kaydırıp kaydırmamaya karar vermek için kullandığı hesaplama ile aynı olduğundan, net etki, bu "çözümün" yerinde olması durumunda imleç normal olarak yana kaydırmaya neden olacak bir durumda sağa, şimdi imleç hareket etmeyi reddediyor. **
** Geçerli konuma ve harekete bağlı olarak, biraz daha kesin olmak için imleç sağa doğru hareket edebilir; sadece kaydırma işleminin normal olarak gerçekleşeceği konumdan geçmeyecektir.
Diğer seçenekler?
Bu yüzden, planladığın geçici çözümü ortadan kaldırmayacağından korkuyorum. Genel soruna uygulanabilir bir çözüm istiyorsanız , Vim kaynak kodunda uygulanması gerekecektir.
Gibi zaten not ettik Ben senin gif gösterilen konunun belirli örneğine bir çözüm için en iyi bahis kullanarak durdurmak için eklenti yazarı dilekçe etmektir korkuyorum bu yüzden, bu, yakın zamanda gelmesi olası değildir conceal
tamamen yerine Gizli metni tampondan tamamen kaldır.
Unconcealed çıktı ve denince dayanarak vim-plugin-AnsiEsc
içinde belgelerinde bu olabilir bir şey onları uygulamak mümkün olduğunu, ancak bunun nasıl eklenti fonksiyonlarının bilgisi olmadan kesin söylemek zor.
:set wrap