X-Git-Url: https://code.delx.au/dotemacs/blobdiff_plain/05f97637660b9f3068aa22340447970f70388e2a..68a8b20a5f540046b86174d73e6853a25753e153:/lisp/my-keys.el diff --git a/lisp/my-keys.el b/lisp/my-keys.el index 29c9f1e..0d55f3a 100644 --- a/lisp/my-keys.el +++ b/lisp/my-keys.el @@ -2,43 +2,46 @@ ;; Disable suspend-frame, it's annoying (global-set-key (kbd "C-z") nil) +(global-set-key (kbd "C-x C-z") nil) ;; General commands (global-set-key (kbd "M-x") 'counsel-M-x) ;; Search -(global-set-key (kbd "C-s") 'swiper) +(global-set-key (kbd "C-s") 'counsel-grep-or-swiper) (global-set-key (kbd "C-r") 'ivy-resume) ;; Files/buffers (global-set-key (kbd "C-x C-f") 'counsel-find-file) (global-set-key (kbd "C-x f") 'counsel-git) (global-set-key (kbd "C-x g") 'counsel-git-grep) +(global-set-key (kbd "C-x l") 'counsel-locate) (global-set-key (kbd "C-x c") 'my/kill-buffers-not-in-frame) (global-set-key (kbd "C-x C-b") 'ibuffer) -(global-set-key (kbd "C-x C-r") 'ivy-recentf) +(global-set-key (kbd "C-x C-r") 'counsel-recentf) +(global-set-key (kbd "C-x t") 'my/find-prod-or-test-file) (global-set-key (kbd "C-c g d") 'git-gutter:popup-hunk) (global-set-key (kbd "C-c g p") 'git-gutter:previous-hunk) (global-set-key (kbd "C-c g n") 'git-gutter:next-hunk) -(global-set-key (kbd "C-c g a") 'git-gutter:stage-hunk) -(global-set-key (kbd "C-c g u") 'git-gutter:revert-hunk) -(global-set-key (kbd "C-c g r") 'my/git-reset-buffer) +(global-set-key (kbd "C-c g r") 'git-gutter:revert-hunk) ;; Windows/frames +(global-set-key (kbd "C-x o") 'ace-window) +(global-set-key (kbd "C-x 9") 'my/window-resize-mode) (global-set-key (kbd "") 'windmove-up) (global-set-key (kbd "") 'windmove-down) (global-set-key (kbd "") 'windmove-left) (global-set-key (kbd "") 'windmove-right) ;; Movement -(global-set-key (kbd "M-g M-j") 'avy-goto-char-timer) -(global-set-key (kbd "M-g M-l") 'avy-goto-char-in-line) -(global-set-key (kbd "M-g M-w") 'avy-goto-word-1) +(global-set-key (kbd "M-g f") 'jump-char-forward) +(global-set-key (kbd "M-g g") 'avy-goto-line) (global-set-key (kbd "M-g M-g") 'avy-goto-line) +(global-set-key (kbd "M-g j") 'avy-goto-word-1) ;; Text formatting (global-set-key (kbd "M-/") 'hippie-expand) -(global-set-key (kbd "M-;") 'my/comment-dwim) +(global-set-key (kbd "M-;") 'comment-line) (global-set-key (kbd "M-i") 'change-inner) (global-set-key (kbd "C-o") 'my/open-line-above) (global-set-key (kbd "M-o") 'my/open-line-below) @@ -47,11 +50,15 @@ ;; Marking (global-set-key (kbd "C-=") 'er/expand-region) -(global-set-key (kbd "C-c l") 'mc/edit-lines) -(global-set-key (kbd "C-c m") 'mc/mark-more-like-this-extended) +(global-set-key (kbd "C-c m a") 'mc/mark-all-dwim) +(global-set-key (kbd "C-c m l") 'mc/edit-lines) +(global-set-key (kbd "C-c m m") 'mc/mark-more-like-this-extended) +(global-set-key (kbd "C-c m p") 'mc/mark-previous-like-this) +(global-set-key (kbd "C-c m n") 'mc/mark-next-like-this) +(global-set-key (kbd "C-.") 'goto-last-change) +(global-set-key (kbd "C-,") 'goto-last-change-reverse) ;; Killing and deleting -(global-set-key (kbd "C-y") 'my/yank) (global-set-key (kbd "M-y") 'counsel-yank-pop) (global-set-key (kbd "M-z") 'zap-up-to-char) (global-set-key (kbd "C-c k") 'kill-whole-line) @@ -59,6 +66,28 @@ ;; Mode switching (global-set-key (kbd "C-x C-j") 'direx-project:jump-to-project-root-other-window) +(global-set-key (kbd "C-c g s") 'magit-status) +(global-set-key (kbd "C-c g g") 'magit-dispatch-popup) +(global-set-key (kbd "C-c g f") 'magit-file-popup) (global-set-key (kbd "") 'flyspell-mode) (global-set-key (kbd "") 'whitespace-mode) (global-set-key (kbd "") 'toggle-truncate-lines) + +;; Disable some default bindings from the builtin mouse.el +(global-set-key [C-down-mouse-1] nil) +(global-set-key [C-down-mouse-2] nil) +(global-set-key [C-down-mouse-3] nil) +(global-set-key [S-down-mouse-1] nil) +(global-set-key [S-down-mouse-2] nil) +(global-set-key [S-down-mouse-3] nil) + + +(defun my/window-resize-mode () + (interactive) + (message "Resize window with the arrow keys") + (let ((keymap (make-sparse-keymap))) + (define-key keymap [up] #'enlarge-window) + (define-key keymap [down] #'shrink-window) + (define-key keymap [left] #'shrink-window-horizontally) + (define-key keymap [right] #'enlarge-window-horizontally) + (set-transient-map keymap t)))