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-todo
files created bygit rebase -i
gitconfig-mode
– Aconf-mode
-derived major mode for editing.gitconfig
files.gitignore-mode
– Aconf-mode
-derived major mode for editing.gitignore
files.
The first to 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-mode
git-rebase-mode
:M-x package-install git-rebase-mode
gitconfig-mode
:M-x package-install gitconfig-mode
gitignore-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-commit-mode
integrates into with Magit by redefining
magit-log-edit-mode
to support all git-commit-mode
features.
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
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
and
.git/info/exclude
files.
git-commit-mode
:M-x customize-group git-commit
git-rebase-mode
:M-x customize-group rebase-mode
gitconfig-mode
: No customization provided.gitignore-mode
: No customization provided.
C-h f git-commit-mode
C-h f git-rebase-mode
C-h f gitconfig-mode
C-h f gitignore-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.
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.
This program 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 2 of the License, or (at your option) any later version.
This program 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 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
See COPYING
for details.