Использование Git в Vim |
[исправить] |
Ниже представлены два плагина, которые позволяют из Vim работать с Git.
Требования к плагину были простыми:
* Показывать активную ветку текущего файла
* Переключение между разными ветками, без выхода из Vim
* Кроссплатформенность
В итоге удалось найти два законченных плагина, которые удовлетворяют данным требованиям:
git-branch-info.vim и git.vim
git-branch-info.vim
Этот плагин был сделан для показа информации о текущей ветке в статусной строке.
set laststatus=2 " Включение строки статуса внизу редактора
set statusline=%{GitBranchInfoString()}
В дополнение к информации о текущей ветке, он может показать список всех веток
в текущем репозитории через пункт меню (только в Gvim) и позволяет
проверить/извлечь определенную ветку.
Одно замечание по этому плагину - он был разработан только для пользователей
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 сообщения. Подсветку синтаксиса можно посмотреть
на следующих снимках.
":GitCommit" открывает отдельное окно для ввода информации о коммите, и
коммитит текущий файл в репозиторий. Если файлы не добавлены в индекс, то
плагин автоматически вызывает git commit с опицей -a для внесения всех
измененных файлов в индекс и коммитит их в репозиторий.
":GitDiff" открывает отдельное окно с выводом команды git diff по текущему файлу.
":GitLog" показывает лог сообщение коммита по текущему файлу.
":GitBlame" показывает изменения файла в виде списка однострочных записей, по
одному имени пользователя на строку в вертикальном окне.
Это экспериментальная функция, для слияния конфликтующих файлов использует
Vimdiff, ":GitVimDiffMerge" и другие команды git можно вызвать из Vim используя :Git.
|
|
|
|
Раздел: Корень / Программисту и web-разработчику / Системы контроля версий и управления исходными текстами |