Есть ли NERDTree или другой плагин проекта для vim, который интегрируется с git для отображения статуса файлов? - PullRequest
14 голосов
/ 23 июня 2011

Я некоторое время играл с Aptana Studio, прежде чем перейти к VIM, и единственное, что мне действительно не хватает в Aptana Studio, - это способ, которым в их окне просмотра проекта имена ваших файлов отображаются другим цветом в зависимости от их статуса в git.(без изменений, измененных, но не постановочных, постановочных, неотслеживаемых).Я знаю, что могу просто пойти в терминал и выяснить это, но иметь это прямо в моем редакторе без необходимости вводить какие-либо команды действительно полезно.

Кто-нибудь знает, существует ли плагин с такой функциональностью для vim?Является ли это плагином для NERDTree, заменой или чем-то еще?

Ответы [ 4 ]

9 голосов
/ 29 октября 2012

Для дальнейшего использования, я создал форк NERDTree, который делает именно это, его можно найти в https://github.com/SeySayux/NerdTreeGit.

Обратите внимание, что он все еще находится в разработке, поэтому он может сломаться. Он также содержит несколько странностей, для которых еще нет настраиваемых параметров.

ОБНОВЛЕНИЕ: Связанный выше проект прекращен. Для (намного лучшей) альтернативы попробуйте это: https://github.com/Xuyuanp/nerdtree-git-plugin

8 голосов
/ 23 июня 2011

Вы смотрели на fugitive.vim ?Он не делает то, что вы ищете, с точки зрения цветового кодирования NERDTree, основанного на состоянии git - я не знаю ни одного плагина Vim, который бы это делал, хотя это было бы здорово.Он функционирует как довольно хорошая маленькая оболочка Git и позволяет вам быстро просматривать статус вашего проекта в разделенном окне с помощью :Gstatus.Не нужно идти в терминал.Вы даже можете добавить индикатор ветки для текущего файла в строку состояния Vim.

Вы можете посмотреть первый из пяти частей на fugitive.vim здесь .

4 голосов
/ 23 июня 2011

Я использую плагин git.vim , который предоставляет несколько функций git, таких как add / commit / diff / log и т. Д. Итак, из vim я сопоставил <Leader>gs с GitStatus, которыйоткрывает новый видовой экран и аккуратно отображает статус:

enter image description here

Но моя любимая особенность этого плагина - это функция GitBranch(), с помощью которой вы можете добавить текущую ветку в строку состояния., как я обрисовал в общих чертах в моем предыдущем ответе .

В тех же строках должна быть возможность написать функцию, которая вызывает GitStatus и обрабатывает выходные данные и сообщает о наличии поэтапных изменений или неустановленных изменений в репо, которые затем удобно добавлять встатусная строка.

0 голосов
/ 09 апреля 2014

Полагаю, вам понравится https://github.com/Xuyuanp/git-nerdtree

Это мое раздвоенное NERDTree.

Добавление поддержки состояния git для NERDTree. Вы можете указать состояние файла git, быстро увидеть, какие файлы у вас естьставить, не ставить и изменять, или удалять в своем проекте без дополнительной работы.

Индикатор

  • ✭: не отслеживается
  • ✹: изменено в рабочем дереве
  • ✚: поставлено в указателе (исключая переименованный статус)
  • ➜: переименовано
  • ═: не объединено
  • ✖: удалено (этот индикатор не отображается, поскольку NERDTree не отображает удаленные файлы. У меня нет идеального решения для решения этой проблемы в настоящее время.)
  • ✗: Грязный (только для каталога)
  • ✔︎: Чистый (только для каталога)

Отображение клавиш

Аналогично GitGutter Плагин по умолчанию.

  • ]c: Перейти к следующему индикатору
  • [c: переход к предыдущему индикатору
...