Vim: Как вы получаете список изменений в скрипте?

276
Steve Vermeulen

Я знаю, что вы можете распечатать список изменений, запустив :changes. Есть ли способ получить эту информацию в vimscript? Даже путем анализа печати как-то?

2

2 ответа на вопрос

3
garyjohn

Вы можете использовать :redirкоманду для перенаправления вывода командной строки в регистр, файл или переменную. Чтобы зафиксировать вывод :changesв регистре a, выполните следующее.

:set nomore :redir @a :changes :redir END :set more 

Увидеть

:help :redir :help 'more' 
2
romainl

Вы можете получить необработанный вывод любой команды Ex с помощью :redir:

redir => mychanges changes redir END 

mychangesэто то, stringчто вы манипулируете, как любая другая строка.