Dosyaları vim içinde değiştirirken pencereyi belirli bir satır numarasında ortalanmış olarak nasıl tutarım?


0

Bir dosyanın farklı sürümlerini hızlıca karşılaştırmam ve sürekli yeni bir dosyaya geçmem gerekiyor. Farklı dosyalar arasında geçiş yaparken imleci belirli bir satır numarasına sabitlemek mümkün mü?

Bunun içeriği Fugitive.vim'in Glog komutunu kullanırken, bir dosyanın bir sürümünden diğerine geçip aynı konumu karşılaştırmam gerekiyor.

EDIT: Bu da kullanarak dosyaları arasında geçiş yaparken hızlı listesi içinde çalışmak gerekir: cnext ve: cprev

Şerefe, Durand


1
Neden diff kullanmıyorsun?
Bruno9779

Bazen diffthis kullanıyorum ancak dosyalar arasında hızlı ve sürekli geçiş yapmam gerekiyor, her iki bölmede de diffthis yazmam biraz sinir bozucu ... Yanlış yapmıyorsam?
Durand

Yanıtlar:


1

Bu, imleci görüntülediğiniz her dosya için 50. satıra hareket ettirecek ve aynı zamanda ekrandaki çizgiyi ortalayacaktır.

:au BufRead * silent! 50 | normal zz

Kabul Sonrası Güncelleme:

Yukarıdaki çalışmalar ile dosyaların bir liste içinde atlarken :nve :Nancak birlikte QuickFix listesini geçme zaman çalışmaz :cnve :cp. Yorumlardaki bir tartışmanın ardından, gerçekten işe yarayan çözüm, bunun gibi eşlemeleri kullanmaktı.

:map <C-N> :cn<CR>50Gzz
:map <C-P> :cp<CR>50Gzz

Hmm. Herhangi bir şey yapmıyor gibi görünüyor ... EDIT: Tamam, öyleyse kullanırsam çalışır: e bir dosyayı açmak için çalışır, ancak hızlı liste içindeki dosyalar arasında geçiş yapmıyorsam ...
Durand

Hızlı düzeltme listesi genellikle (her zaman?) Dosya adlarının yanı sıra satır adlarını da içerir, bu nedenle daha fazla bilgi olmadan, hızlı düzeltme listesindeki satır numaralarının otomatik komutta bir tane olduğunu tahmin ediyorum. Cevabımı :nve ile test ettim :N. Ben yerine çalıştı BufReadile BufEnter, ama bu bir QuickFix listesiyle benim kısa denemeler de yardımcı olmadı. Eğer QuickFix listesini travers şekline bağlı olarak, bu eşleştirmeyi deneyebilirsiniz: :map <C-N> :cn<CR>50Gzz.
garyjohn

Aha, teşekkürler! 50Gzz kısayolu hakkında bir şey bilmiyordum :)
Durand

Cevabı güncellediğiniz için teşekkür ederiz. Temelde gelecekte kullanmaya başladığım şey buydu, mesela 50. satırdan ziyade mevcut satırı seçmek için küçük bir senaryo yazabilirim.
Durand
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.