Есть ли NERDTree или другой плагин проекта для vim, который интегрируется с git, чтобы показать статус файлов?
Я играл с Aptana Studio некоторое время, прежде чем переходить на VIM, и единственное, что я действительно пропустил в Aptana Studio, - это то, как в окне просмотра проекта ваши имена файлов отображались в другом цвете в зависимости от их статуса в git (неизменный, измененный, но не поставленный, поставленный, без следа). Я знаю, что могу просто пойти на терминал и узнать, но иметь его прямо в моем редакторе, не набирая никаких команд, действительно полезно.
Кто-нибудь знает, существует ли плагин с этой функциональностью для vim? Является ли это плагином для NERDTree, заменой или чем-то еще?
Ответы
Ответ 1
Вы посмотрели fugitive.vim? Он не делает именно то, что вы ищете, с точки зрения цветового кодирования NERDTree на основе состояния git - я не знаю ни одного плагина Vim, который работает, хотя это было бы потрясающе. Он функционирует как довольно большая небольшая обертка git и позволяет вам быстро просматривать статус вашего проекта в разделенном окне с помощью :Gstatus
. Не нужно идти на терминал. Вы даже можете добавить индикатор ветвления для текущего файла в строку состояния Vim.
Вы можете посмотреть первый в пятичастном скринкасте на fugitive.vim здесь.
Ответ 2
Для дальнейшего использования я создал вилку NERDTree, которая делает именно это, ее можно найти в https://github.com/SeySayux/NerdTreeGit.
Обратите внимание, что он все еще находится в разработке, поэтому он может сломаться. Он также содержит несколько странностей, для которых еще нет настраиваемых параметров.
ОБНОВЛЕНИЕ: связанный с проектом проект прекращен. Для (гораздо лучшей) альтернативы попробуйте следующее: https://github.com/Xuyuanp/nerdtree-git-plugin
Ответ 3
Я использую плагин git.vim, который предоставляет несколько функций git, таких как add/commit/diff/log и т.д. Поэтому изнутри vim я сопоставил <Leader>gs
с GitStatus
, который открывает новое окно просмотра и отображает статус:
![enter image description here]()
Но моя любимая особенность этого плагина - это функция GitBranch()
, с помощью которой вы можете добавить текущую ветку в свою строку состояния, так как я изложен в предыдущем ответе моей.
В одних и тех же строках должно быть возможно написать функцию, которая вызывает GitStatus
, и выводит вывод и сообщает, есть ли в репозитории поэтапные изменения или неустановленные изменения, которые затем могут быть удобно добавлены в статусную линию.
Ответ 4
Я думаю, вам понравится https://github.com/Xuyuanp/git-nerdtree
Это мой разветвленный NERDTree.
Добавить git поддержку статуса для NERDTree. Вы можете указать статус файла git, быстро увидеть, какие файлы вы поставили, нестабилизировали и модифицировали или удалили в своем проекте без дополнительной работы.
Индикатор
- ✭: Не отслеживается
- ✹: Изменено в рабочем дереве
- ✚: помещено в индекс (исключить статус переименования)
- ➜: Переименовано
- ═: Не работает
- ✖: Deleted (Этот индикатор не может быть показан, так как NERDTree не отображает удаленные файлы. У меня нет префектной идеи для решения этой проблемы в настоящее время.)
- ✗: Dirty (Только для каталога)
- ✔︎: Очистить (только для каталога)
Отображение клавиш
Как и в GitGutter плагин по умолчанию.
-
]c
: переход к следующему индикатору
-
[c
: индикатор перехода к предыдущему.