Я хочу використовувати vim для перегляду вихідних даних git diff.
Я працюю з Windows 8 і у мене встановлено vim 7.4. Для зручності я створив змінну середовища VIMDIR, встановлену в інсталяційному каталозі Vim ( set VIMDIR=C:\Program Files (x86)\Vim\vim74 ), і додав цей каталог до% PATH%.
Vim поставляється з %VIMDIR%\macros\less.bat сценарій, який можна використовувати як пейджер, так що less.bat file.txt або dir | less.bat відображатиме вихід у пейджері на основі vim. Я використовую це регулярно, і він працює нормально. Я також хотів би використовувати vim, а не Git's less.exe, як пейджер git, так що він працює, коли я роблю git diff, але я стикаюся з проблемами.
Я намагався використовувати VIM less.bat пакетний файл
Якщо я встановлюю %GIT_PAGER% до %VIMDIR%\macros\less.bat і виконайте a git diff, З'являється повідомлення про помилку:
C:\Program Files (x86)\Vim\vim74\macros\less.bat: -c: line 0: syntax error near unexpected token `('
C:\Program Files (x86)\Vim\vim74\macros\less.bat: -c: line 0: `C:\Program Files (x86)\Vim\vim74\macros\less.bat'
Я вважаю, що це тому, що git є програмою MSYS, тобто він не може працювати з Windows-стилем C:\whatever доріжки.
Я також спробував викликати менше макросу vim безпосередньо
Так що не працює. Наступне, що я спробував, це вивчити less.bat і встановіть %GIT_PAGER% щось на основі цього файлу. У цьому файлі я бачу цю лінію, яка вказує vim читати з stdin:
vim --cmd "let no_plugin_maps = 1" -c "runtime! macros/less.vim" -
я встановив %GIT_PAGER% до модифікованої версії, яка використовує шляхи стилю MSYS:
set GIT_PAGER="/c/Program Files (x86)/Vim/vim74/vim.exe" --cmd "let no_plugin_maps = 1" -c "runtime! macros/less.vim" -
Це успішно запускає vim! Але проблема все ще існує: кольори не працюють, і на екрані є засмічені символи. Зверніть увагу, що зазвичай підсвічування синтаксису працює просто чудово. Якщо я запускаю ці команди, він відображатиме файл diff, який я створив за допомогою кольору:
git diff > test.diff
less.bat test.diff
Втім, якщо я просто подзвоню git diff і використовувати його %GIT_PAGER% щоб відобразити diff для мене в консолі, він показує мені це:

Що ще можна спробувати?
Я не впевнений, що ще спробувати. Хто-небудь, хто використовує vim для перегляду git diffs у Windows? Як ви це робите?
Дякуємо за будь-яку допомогу.
git difftool, але я хочу використовувати його з git diff. git difftool корисна, але коли я її використовую, я, як правило, використовую kdiff3. Те, що я хочу зробити зараз, це замінити використовуваним пейджером git diff.
git diff --no-color або шукайте vimpager, але я не знаю, якщо це працює на вікнах.