77 lines
2.3 KiB
EmacsLisp
77 lines
2.3 KiB
EmacsLisp
;; bindings.el
|
|
|
|
;; Let C-o have the same function as C-x
|
|
(use-local-map (make-sparse-keymap))
|
|
(global-set-key (kbd "C-o") ctl-x-map)
|
|
(global-set-key "\C-o\C-o" 'exchange-point-and-mark)
|
|
|
|
;; assign another commnad to M-x, for running commands not bound to a key.
|
|
(global-set-key "\C-ot" 'execute-extended-command)
|
|
|
|
;; attempt to use C-w instead of backspace
|
|
(global-set-key "\C-w" 'backward-kill-word)
|
|
(global-set-key "\M-W" 'kill-region)
|
|
|
|
;; Make C-a go to the beginning of typed lines
|
|
(global-set-key "\C-a" 'back-to-indentation)
|
|
(global-set-key "\M-m" 'move-beginning-of-line)
|
|
|
|
(global-set-key (kbd "M-#") 'comment-or-uncomment-region)
|
|
|
|
(global-set-key "\C-z" 'eshell)
|
|
|
|
;; Use expand-region.
|
|
(global-set-key (kbd "M-SPC") 'er/expand-region)
|
|
|
|
;; Basic binding for hide-show mode
|
|
|
|
;; Bind
|
|
(global-set-key (kbd "C-'") 'other-window)
|
|
(global-set-key (kbd "C-,") (lambda () (interactive) (switch-to-buffer (other-buffer))))
|
|
|
|
;; Magit settings
|
|
(global-set-key (kbd "M-g s") 'magit-status)
|
|
(global-set-key (kbd "M-g M-s") 'magit-status)
|
|
(define-key ctl-x-map (kbd "g") 'magit-status)
|
|
(define-key ctl-x-map (kbd "C-g") 'magit-status)
|
|
|
|
;; Dired mode bindings
|
|
(define-key ctl-x-map (kbd "d") (lambda () (interactive) (dired (file-name-directory (or load-file-name buffer-file-name)))))
|
|
(define-key ctl-x-map (kbd "C-d") (lambda () (interactive) (dired (file-name-directory (or load-file-name buffer-file-name)))))
|
|
|
|
;; Fix minor modes overwriting my keybindings
|
|
(add-hook 'org-mode-hook
|
|
'(lambda ()
|
|
(define-key org-mode-map (kbd "C-'") nil)))
|
|
|
|
(add-hook 'flyspell-mode-hook
|
|
'(lambda ()
|
|
(define-key flyspell-mode-map (kbd "C-,") nil)))
|
|
|
|
(add-hook 'dired-mode-hook
|
|
'(lambda ()
|
|
(define-key dired-mode-map (kbd "C-o") nil)))
|
|
|
|
(add-hook 'read-only-mode-hook
|
|
'(lambda ()
|
|
(local-set-key (kbd "j")
|
|
'(lambda () (interactive) (scroll-up 3)))
|
|
(local-set-key (kbd "k")
|
|
'(lambda () (interactive) (scroll-down 3)))))
|
|
|
|
(global-set-key (kbd "C-c e") 'eval-and-replace)
|
|
|
|
;; projectile mode stuff
|
|
|
|
(add-hook 'projectile-mode-hook
|
|
'(lambda ()
|
|
(define-key projectile-mode-map (kbd "s-p") 'projectile-command-map)
|
|
(define-key projectile-mode-map (kbd "C-c p") 'projectile-command-map)))
|
|
|
|
(global-set-key [f8] 'neotree-project-dir)
|
|
|
|
|
|
(add-hook 'lsp-mode-hook
|
|
'(lambda ()
|
|
(define-key lsp-mode-map (kbd "C-c C-l") 'lsp-command-map)))
|