URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 79974
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Использование Git в Vim"

Отправлено auto_tips , 25-Авг-11 14:05 
Ниже представлены два плагина, которые позволяют из Vim работать с Git.

Требования к плагину были простыми:
* Показывать активную ветку текущего файла
* Переключение между разными ветками, без выхода из Vim
* Кроссплатформенность

В итоге удалось найти два законченных плагина, которые удовлетворяют данным требованиям: [[http://github.com/vim-scripts/Git-Branch-Info git-branch-info.vim]] и [[http://github.com/motemen/git-vim git.vim]]

++ git-branch-info.vim

Этот плагин был сделан для показа информации о текущей ветке в статусной строке.

   set laststatus=2 " Включение строки статуса внизу редактора
   set statusline=%{GitBranchInfoString()}

В дополнение к информации о текущей ветке, он может показать список всех веток в текущем репозитории через пункт меню (только в Gvim) и позволяет проверить/извлечь определенную ветку.

[[IMG /opennews/pics_base/31583_1314255406.jpg]]

Одно замечание по этому плагину - он был разработан только для пользователей Linux и не будет работать в Windows в том виде в каком он есть.


++ git.vim

Git.vim более комплексный плагин, который позволяет пользователю производить больше действий с Git не покидая окружения Vim. Домашняя страница на GitHub http://github.com/motemen/git-vim/tree/master перечисляет все возможности, доступные благодоря этому плагину.

Функция вызываемая для установки статусной строки называется - GitBranch(). Итак, строки добавляемые в .vimrc должны быть такими:

   set laststatus=2
   set statusline=%{GitBranch()}

Но к сожалению, здесь есть ошибка в функции GitBranch(). Снова выручает GitHub, проект был форкнут и доступен здесь http://github.com/amjith/git-vim . Автору отправлен запрос с указанием ошибки.

Несколько других возможностей этого плагина продемонстрированы ниже. Этот плагин поставляется с файлами проверки синтаксиса, которые подсвечивают git-log, git-diff и git commit сообщения. Подсветку синтаксиса можно посмотреть на следующих снимках.

[[IMG /opennews/pics_base/31583_1314255696.jpg]]

":GitCommit" открывает отдельное окно для ввода информации о коммите, и коммитит текущий файл в репозиторий. Если файлы не добавлены в индекс, то плагин автоматически вызывает git commit с опицей -a для внесения всех измененных файлов в индекс  и коммитит их в репозиторий.


[[IMG /opennews/pics_base/31583_1314255734.jpg]]

":GitDiff" открывает отдельное окно с выводом команды git diff по текущему файлу.

[[IMG /opennews/pics_base/31583_1314255757.jpg]]

":GitLog" показывает лог сообщение коммита по текущему файлу.

[[IMG /opennews/pics_base/31583_1314255790.jpg]]

":GitBlame" показывает изменения файла в виде списка однострочных записей, по одному имени пользователя на строку в вертикальном окне.
Это экспериментальная функция, для слияния конфликтующих файлов использует Vimdiff, ":GitVimDiffMerge" и другие команды git можно вызвать из Vim используя :Git.


URL: http://www.osnews.com/story/21556/Using_Git_with_Vim
Обсуждается: http://www.opennet.me/tips/info/2614.shtml


Содержание

Сообщения в этом обсуждении
"Использование Git в Vim"
Отправлено Аноним , 25-Авг-11 14:05 
А чем плагин git лучше классического vcscommand?

"Использование Git в Vim"
Отправлено Иван Лох , 31-Авг-11 14:01 
Но лучший Git плагин fugitive.