Нещодавно Magit отримала підтримку чогось подібного, але ця функція все ще є трохи грубою по краях і її потрібно чітко ввімкнути.
Подібна функція існує давно - коли ви переходите від однієї комісії до іншої в буфері журналу, а інше вікно в тому ж кадрі є буфером ревізії сховища, то цей буфер оновлюється, щоб показати, що виконувати замість того, щоб зробити це. раніше показували
До недавнього часу буфер редагувань створювався, коли ви вперше перейшли від одного комітету до іншого. Я змінив таку поведінку, і тепер буфер редакції оновлюється лише будь-коли . Якщо жодне вікно в цьому ж кадрі вже не відображає цей буфер, то переміщення навколо журналу більше не призведе до відображення буфера в новому вікні або в існуючому вікні, яке раніше відображало якийсь інший буфер.
Тож тепер вам потрібно SPCодин раз натиснути, щоб відобразити буфер редакції. Лише тоді воно почне оновлюватися при переміщенні по буфері журналу.
Якщо ви не хочете, щоб буфер редакції оновлювався, зробіть це:
(remove-hook 'magit-section-movement-hook
'magit-log-maybe-update-revision-buffer)
Якщо ви також хочете, щоб буфер редакції оновлювався під час переміщення в буфері стану, використовуйте це:
(add-hook 'magit-section-movement-hook
'magit-status-maybe-update-revision-buffer)
Зараз можливе автоматичне оновлення буфера blob аналогічним чином. Спочатку додайте це:
(add-hook 'magit-section-movement-hook
'magit-log-maybe-update-blob-buffer)
А може також:
(add-hook 'magit-section-movement-hook
'magit-status-maybe-update-blob-buffer)
Потім всередині буфера журналу (або стану) натисніть, RETщоб відобразити або оновити буфер редакції, а також перейти до цього буфера. Перейдіть до потрібного файла та натисніть RETще раз. Зараз ви перебуваєте в буфері "відвідування блобу", який схожий на буфер відвідування файлів, за винятком того, що він не відвідує файл у робочому дереві, а файл, як це було в деяких комітах.
Поверніться до буфера журналу (або стану) та перейдіть до іншого комітету. Буфер blob оновлюється.
Зауважте, що показ іншої крапки фактично не використовує існуючий буфер блобу. Натомість він створює новий буфер, який відвідує цю крапку, а потім відображає цей буфер у вікні, яке раніше відображало інший буфер blob. Цей інший буфер не видаляється, що, на жаль, означає, що за короткий проміжок часу може накопичитися досить багато буферів. Який був би один із тих шорстких країв, я згадував раніше. Якщо натиснути qбуфер blob, це видалить його, тому ви можете очистити, перейшовши до вікна, яке використовувалося для відображення різних буферів blob, і продовжуйте натискати, qпоки всі буфери не будуть видалені.
Додатково можна перейти до наступного чи попереднього блоку з буфера blob за допомогою pта n. Я припускаю, що в більшості випадків ви починаєте з недавньої краплі, а потім переходите назад до старших крапель, використовуючи p. Якщо ви зробите це, а потім хочете рухатись в іншому напрямку, я рекомендую вам використовувати qдля вбивства поточного буфера і тим самим перейти до попереднього буфера, тобто до наступного блобу.
Також зауважте, що вам не потрібно спочатку відвідувати версію, щоб мати можливість відвідати крапку. Ви також можете використовувати M-x magit-find-file RET <revision> RET <file> RET
безпосередньо, але я вважаю це менш зручним.