Magit kısa süre önce böyle bir şey için destek aldı, ancak özellik hala kenarlarda biraz kaba ve açıkça etkinleştirilmesi gerekiyor.
Benzer bir özellik uzun bir süredir var - bir günlük arabelleğinde bir komuttan diğerine geçtiğinizde ve aynı çerçevedeki başka bir pencere deponun revizyon arabelleğidir, o zaman arabellek herhangi bir taahhüt yerine yerine bu komutu göstermek için yenilenir. daha önce gösteriyordu.
Çok yakın zamana kadar revizyon tamponu, bir taahhütten diğerine ilk taşındığınızda oluşturuldu. Bu davranışı değiştirdim ve şimdi düzeltme arabelleği yalnızca güncellendi . Aynı çerçevedeki hiçbir pencere bu arabelleği zaten görüntülemezse, günlükte hareket etmek artık arabelleğin artık yeni bir pencerede veya daha önce başka bir arabelleği görüntüleyen mevcut bir pencerede görüntülenmesine neden olmaz.
Şimdi SPCrevizyon tamponunu görüntülemek için bir kez basmanız gerekiyor. Ancak o zaman günlük arabelleğinde dolaştığınızda güncellenmeye başlayacaktır.
Düzeltme arabelleğinin güncellenmesini istemiyorsanız bunu yapın:
(remove-hook 'magit-section-movement-hook
'magit-log-maybe-update-revision-buffer)
Öte yandan, durum arabelleğinde hareket ederken revizyon arabelleğinin güncellenmesini istiyorsanız, bunu kullanın:
(add-hook 'magit-section-movement-hook
'magit-status-maybe-update-revision-buffer)
Artık bir damla tamponunun benzer şekilde otomatik olarak güncellenmesi mümkündür. Önce şunu ekleyin:
(add-hook 'magit-section-movement-hook
'magit-log-maybe-update-blob-buffer)
Ve belki de:
(add-hook 'magit-section-movement-hook
'magit-status-maybe-update-blob-buffer)
Ardından, bir günlük (veya durum) arabelleğinin içinde RET, düzeltme arabelleğini görüntülemek veya güncellemek ve aynı zamanda bu arabelleğe geçmek için basın. İlgilendiğiniz dosyaya gidin ve RETtekrar düğmesine basın . Artık, çalışma ağacındaki dosyayı değil, bazı taahhütlerde olduğu gibi dosyayı ziyaret etmesi dışında, dosya ziyaret arabelleğine benzer bir "blob-visit" arabelleğindesiniz.
Günlük (veya durum) arabelleğine geri dönün ve başka bir işleme geçin. Blob arabelleği güncelleniyor.
Başka bir damla görüntülemenin gerçekte var olan damla tamponunu yeniden kullanmadığını unutmayın. Bunun yerine, bu blob'u ziyaret eden ve daha sonra diğer blob tamponunu görüntüleyen bu tamponu pencerede görüntüleyen yeni bir tampon oluşturur. Bu diğer arabellek silinmiyor, bu da maalesef birkaç tamponun kısa sürede birikebileceği anlamına geliyor. Daha önce bahsettiğim, o pürüzlü kenarlardan biri olurdu. qBir damla tamponuna basmak onu siler, böylece çeşitli damla tamponlarını görüntülemek için kullanılan pencereye gidip qtüm tamponlar silinene kadar basmaya devam edebilirsiniz.
Buna ek olarak, pve tuşlarını kullanarak bir blob tamponundan sonraki veya önceki bloba gitmek mümkündür n. Çoğu durumda yeni bir damla ile başladığınızı ve daha sonra kullanarak eski damlalara geri döndüğünüzü varsayalım p. Bunu yaparsanız ve daha sonra diğer yönde hareket etmek istiyorsanız q, geçerli arabelleği öldürmek ve böylece önceki arabelleğe yani bir sonraki bloba geçmek için kullanmanızı öneririm .
Ayrıca, bir blob'u ziyaret edebilmek için önce bir revizyonu ziyaret etmeniz gerekmediğini unutmayın. M-x magit-find-file RET <revision> RET <file> RET
Doğrudan da kullanabilirsiniz , ancak bunu daha az uygun buluyorum.