summaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorMartin Polden <martin.polden@gmail.com>2014-06-23 18:41:38 +0200
committerMartin Polden <martin.polden@gmail.com>2014-06-23 18:41:38 +0200
commit2d0ba6ba4f121e8c9a42ddec7dbaec12c8a02663 (patch)
tree1c5b0fe61610c17dfbe5e420e0887002e0d7fd23 /lisp
parent72c2c62bf41665167e407f4fbc723904cceb02dc (diff)
Use dired-style keybindings in magit-status-mode
Diffstat (limited to 'lisp')
-rw-r--r--lisp/init-git.el15
1 files changed, 15 insertions, 0 deletions
diff --git a/lisp/init-git.el b/lisp/init-git.el
index 0bf98be..10413f9 100644
--- a/lisp/init-git.el
+++ b/lisp/init-git.el
@@ -18,4 +18,19 @@
;; magit keybinding
(global-set-key (kbd "C-x m") 'magit-status)
+(defun magit-visit-item-noselect (&optional other-window)
+ "Visit current item, but don't select it."
+ (interactive "P")
+ (let ((current-window (selected-window)))
+ (magit-visit-item other-window)
+ (select-window current-window)))
+
+(add-hook 'magit-status-mode-hook
+ (lambda ()
+ ;; make C-o and o behave as in dired
+ (define-key magit-status-mode-map (kbd "C-o")
+ 'magit-visit-item-noselect)
+ (define-key magit-status-mode-map (kbd "o")
+ 'magit-visit-item)))
+
(provide 'init-git)