From 790a5cc5e9939b7bfdfc062c3227865dae0f4bd1 Mon Sep 17 00:00:00 2001 From: syl20bnr Date: Sat, 28 Mar 2015 00:06:52 -0400 Subject: [PATCH] git layer: add key bindings in rebase mode and document them --- contrib/git/README.md | 42 +++++++++++++++++++++++++++++++++++++---- contrib/git/packages.el | 12 ++++++++++-- 2 files changed, 48 insertions(+), 6 deletions(-) diff --git a/contrib/git/README.md b/contrib/git/README.md index 68e04d9a0..e8d2f9bab 100644 --- a/contrib/git/README.md +++ b/contrib/git/README.md @@ -17,6 +17,8 @@ - [Git](#git) - [Working with Git](#working-with-git) - [Magit](#magit) + - [Commit message edition buffer](#commit-message-edition-buffer) + - [Interactive rebase buffer](#interactive-rebase-buffer) - [Quick guide for recurring use cases in Magit](#quick-guide-for-recurring-use-cases-in-magit) - [Git time machine](#git-time-machine) - [Git gutter](#git-gutter) @@ -191,11 +193,43 @@ Here are the often used bindings inside a `status buffer`: C-v | revert item at point z z | stash changes -In a commit message buffer press `C-c C-c` to commit the changes with the -entered message. `C-c C-k` will discard the commit message. +### Commit message edition buffer -**Note:** Sometimes you will be asked about reverting the commit buffer, -you can answer `y` with no issue. +In a commit message buffer press C-c C-c or SPC m c c +to commit the changes with the entered message. +Pressing C-c C-k or SPC m k will discard the commit +message. + + Key Binding | Description +----------------------|-------------------------------------------------------- +h | go left +j | go down +k | go up +l | go right +SPC m c c | commit +SPC m k | abort + +### Interactive rebase buffer + + Key Binding | Description +----------------------|-------------------------------------------------------- +c | pick +e | edit +f | fixup +h | go left +j | go down +J | move line down +k | go up +K | move line up +C-k | kill line +l | go right +r | reword +s | squash +u | undo +x | execute +y | insert +SPC m c c | rebase +SPC m k | abort ### Quick guide for recurring use cases in Magit diff --git a/contrib/git/packages.el b/contrib/git/packages.el index a4406d541..90771bcd9 100644 --- a/contrib/git/packages.el +++ b/contrib/git/packages.el @@ -139,8 +139,16 @@ which require an initialization must be listed explicitly in the list.") (defun git/init-git-rebase-mode () (use-package git-rebase-mode :defer t - :init (evilify git-rebase-mode git-rebase-mode-map - "y" 'git-rebase-insert))) + :config + (progn + (evilify git-rebase-mode git-rebase-mode-map + "J" 'git-rebase-move-line-down + "K" 'git-rebase-move-line-up + "u" 'git-rebase-undo + "y" 'git-rebase-insert) + (evil-leader/set-key-for-mode 'git-rebase-mode + "mcc" 'git-rebase-server-edit + "mk" 'git-rebase-abort)))) (defun git/init-git-timemachine () (use-package git-timemachine