Шукайте всі версії файлу в дереві відміни


11

Чи є простіший спосіб знайти певну зміну в дереві відміни Vim, ніж просто перегляд випадкових старих версій файлів одна за одною (або за допомогою команд VIM ванілі, Gundo чи іншого плагіна)?

В ідеалі я хотів би ввести шаблон пошуку, який повинен відповідати всім відмінностям, показаним на панелі попереднього перегляду Гундо, а потім запропонувати Гундо показати мені, які версії відрізняються від цього пошуку.

Це запитання задає щось майже ідентичне, але запитувач прийняв відповідь, яка просто рекомендує Гундо, який, як не дивно, але не здається робити те, про що я прошу.

Я виклав це як нову функцію для Гундо , але не отримав жодної відповіді.

EDIT: Існує відкритий запит на цю функцію для скасування права.

ПРИМІТКА. Це питання було "перенесено вручну" з суперпользователя .


Примітка: plugin-gundoбуло б гарним тегом для цього питання, але, на жаль, цей тег ще не існує, і у мене немає представника.
Кайл Странд

1
Є також невірно . Я не знаю, чим він відрізняється від гундо, чи він підтримує потрібну вам функцію, але ви можете це перевірити.
Мартін Турноїй

2
Бум! Якщо ви перевірите проблему з Gundo, хтось опублікував виделку, яка забезпечує функцію пошуку.
joeytwiddle

@joeytwiddle Я це бачив! Ще не перевірили цього, хоча.
Кайл Странд

Відповіді:


6

У деяких випадках цього може бути достатньо:

:changes

На жаль, він не відображає повного резюме вашої історії редагування. Здається, видно лише рядок тексту, який ви приземлили після кожної зміни.

Це досить добре, щоб відобразити всі однорядкові вставки чи редагування, але лише останній рядок багаторядкової вставки та жодного видаленого тексту.

Шукати його можна лише візуально, а не автоматично, хоча ви можете схопити цю команду, а потім виконати:

:PipeCmd changes | less

що дозволило б здійснити пошук /. Або просто труба до, grepа не less.

Альтернативним способом пошуку цього списку було б встановити плагін Unite, а потім виконати:

:Unite change

1
Гм. Оскільки пошук і заміна може зробити замінені слова абсолютно невидимими changes, це не дуже корисно. Я дуже хотів би це зробити :%s/foo/bar/g, а потім здійснити пошук, fooякий би (реконструював і) показав мені останню версію файлу, в якому fooбув присутній.
Кайл Странд

2

Зараз є вилка gundo під назвою "mundo" з цією функцією.

Перебуваючи у вікні скасування дерева, /буде шукати історію, а не текст, відображений у самому вікні.

(Примітка. Ця функція, здається, була прийнята з іншої вилки gundo . Я не впевнений, куди належить кредит для реалізації, і я не намагався обидві вилки, щоб побачити, який з них працює краще.)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.