GNU Emacs modes for Git-related files.
git-commit-mode– A major mode for editing Git commit messages according to the guidelines by Tim Pope.git-rebase-mode– A major mode forgit-rebase-todofiles created bygit rebase -igitconfig-mode– Aconf-mode-derived major mode for editing.gitconfigfiles.gitignore-mode– Aconf-mode-derived major mode for editing.gitignorefiles.gitattributes-mode– A major mode for editing.gitattributesfiles.
The first two modes integrate into Magit.
Install the ELPA packages from MELPA (bleeding edge snapshots) or Marmalade (stable releases):
git-commit-mode:M-x package-install git-commit-modegit-rebase-mode:M-x package-install git-rebase-modegitconfig-mode:M-x package-install gitconfig-modegitignore-mode:M-x package-install gitignore-mode
Or download the latest release and install the desired modes with M-x package-install-file, e.g. M-x package-install-file git-commit-mode.
The modes are written and tested against GNU Emacs 24 and may or may not work in earlier versions of GNU Emacs.
Just configure emacsclient or emacs as editor for Git. git-commit-mode
will automatically be enabled for Git message buffers.
git rebase-mode is automatically enabled for git-rebase-todo files, such as
created by git rebase -i.
gitconfig-mode is automatically enabled for .gitconfig, .git/config
and git/config files. The mode is derived from conf-unix-mode, so all
commands provided by conf-mode (e.g. conf-align-assignments) will work
as expected.
gitignore-mode is automatically enabled for .gitignore,
.git/info/exclude and git/ignore files.
gitattributes-mode is automatically enabled for .gitattributes,
.git/info/attributes, and git/attributes.
git-commit-mode:M-x customize-group git-commitgit-rebase-mode:M-x customize-group git-rebasegitconfig-mode: No customization provided.gitignore-mode: No customization provided.gitattributes-mode:M-x customize-group gitattributes-mode.
C-h f git-commit-modeC-h f git-rebase-modeC-h f gitconfig-modeC-h f gitignore-modeC-h f gitattributes-mode
git-commit-mode is forked of the original work done by
Florian Ragwitz and improved by John Wiegley. And then
Sebastian Wiesner took it to the next level.
git-rebase-mode was previously part of Magit as
rebase-mode. It was created by Phil Jackson and improved by
Peter J. Weisberg.
gitconfig-mode and gitignore-mode were created by
Sebastian Wiesner.
gitattributes-mode was created by Rüdiger Sonderfeld.
The following people contributed to these modes:
- Alan Falloon
- Bradley Wright
- Jonas Bernoulli
- Marco Craveiro
- Mitchel Humpherys
- Pekka Pessi
- Peter Eisentraut
- Pieter Praet
- Ramkumar Ramachandra
- Ryan Thompson
- Tim Wraight
- Yann Hodique
An up-to-date list of contributors can also be found here.
Great thanks also goes to Bozhidar Batsov for adding these modes to his awesome Prelude project, thus making them available to a larger user base.
Git-Modes is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
Git-Modes is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Git-Modes. If not, see http://www.gnu.org/licenses/.
See COPYING for details.