mirror of
https://github.com/jimeh/.emacs.d.git
synced 2026-02-19 13:46:41 +00:00
113 lines
4.4 KiB
EmacsLisp
113 lines
4.4 KiB
EmacsLisp
;;
|
|
;; Setup a few global keyboard shortcuts
|
|
;;
|
|
|
|
;; Undo/Redo (via undo-tree)
|
|
(when (require 'undo-tree nil 'noerror)
|
|
(global-set-key (kbd "s-z") 'undo-tree-undo)
|
|
(global-set-key (kbd "s-Z") 'undo-tree-redo))
|
|
|
|
;; Move to beginning/end of line
|
|
(global-set-key (kbd "s-<left>") 'beginning-of-line)
|
|
(global-set-key (kbd "s-<right>") 'end-of-line)
|
|
|
|
;; Scroll up/down
|
|
(global-set-key (kbd "s-<up>") 'beginning-of-buffer)
|
|
(global-set-key (kbd "s-<down>") 'end-of-buffer)
|
|
|
|
(when (require 'textmate nil 'noerror)
|
|
(global-set-key (kbd "M-p") 'textmate-column-up)
|
|
(global-set-key (kbd "M-n") 'textmate-column-down))
|
|
|
|
;; Duplicate line (via helpers.el)
|
|
(global-set-key (kbd "C-x C-d") 'duplicate-line)
|
|
|
|
;; Alternative to M-x
|
|
(global-set-key (kbd "C-x C-m") 'execute-extended-command)
|
|
(global-set-key (kbd "C-c C-m") 'execute-extended-command)
|
|
|
|
;; Easier version of "C-x k" to kill buffer
|
|
(global-set-key (kbd "C-x C-k") 'kill-buffer)
|
|
|
|
;; Cut
|
|
(global-set-key (kbd "C-w") 'backward-kill-word)
|
|
|
|
;; Window switching (via helpers.el).
|
|
(global-set-key (kbd "C-x C-o") 'other-window) ;; other-window
|
|
(global-set-key (kbd "C-x C-i") 'other-window-reverse) ;; other-window -1
|
|
|
|
;; Kill-Ring related.
|
|
(global-set-key (kbd "M-Y") 'yank-pop-forwards)
|
|
|
|
;; Fullscreen (works only with `brew install emacs --cocoa`)
|
|
(global-set-key (kbd "s-<return>") 'ns-toggle-fullscreen)
|
|
|
|
;; Set transparency
|
|
(global-set-key (kbd "C-?") 'transparency-set-value)
|
|
|
|
;; Increase/decrease transparency
|
|
(global-set-key (kbd "C-<") 'transparency-increase)
|
|
(global-set-key (kbd "C->") 'transparency-decrease)
|
|
|
|
;; Window Tiling (via helpers.el)
|
|
(global-set-key (kbd "C-M-K") (lambda () (interactive) (swap-with 'down)))
|
|
(global-set-key (kbd "C-M-I") (lambda () (interactive) (swap-with 'up)))
|
|
(global-set-key (kbd "C-M-J") (lambda () (interactive) (swap-with 'left)))
|
|
(global-set-key (kbd "C-M-L") (lambda () (interactive) (swap-with 'right)))
|
|
|
|
(global-set-key (kbd "M-K") (lambda () (interactive) (enlarge-window 1)))
|
|
(global-set-key (kbd "M-I") (lambda () (interactive) (enlarge-window -1)))
|
|
(global-set-key (kbd "M-J") (lambda () (interactive) (enlarge-window -1 t)))
|
|
(global-set-key (kbd "M-L") (lambda () (interactive) (enlarge-window 1 t)))
|
|
|
|
(global-set-key (kbd "M-k") 'windmove-down)
|
|
(global-set-key (kbd "M-i") 'windmove-up)
|
|
(global-set-key (kbd "M-j") 'windmove-left)
|
|
(global-set-key (kbd "M-l") 'windmove-right)
|
|
|
|
;; ElScreen related shortcuts
|
|
(when (require 'elscreen nil 'noerror)
|
|
(global-set-key (kbd "s-}") 'elscreen-next)
|
|
(global-set-key (kbd "s-{") 'elscreen-previous)
|
|
(global-set-key (kbd "C-z ,") 'elscreen-screen-nickname)
|
|
(global-set-key (kbd "C-z C-,") 'elscreen-screen-nickname)
|
|
(global-set-key (kbd "C-z l") 'elscreen-toggle)
|
|
(global-set-key (kbd "C-z C-l") 'elscreen-toggle))
|
|
|
|
;; Escreen customizations (with help from helpers.el).
|
|
(when (require 'escreen nil 'noerror)
|
|
|
|
;; Set prefix key to C-z.
|
|
(setq escreen-prefix-char (kbd "C-z"))
|
|
(global-set-key escreen-prefix-char 'escreen-prefix)
|
|
(define-key escreen-map escreen-prefix-char 'escreen-goto-last-screen)
|
|
|
|
;; Toggle screens.
|
|
(define-key escreen-map (kbd "l") 'escreen-goto-last-screen)
|
|
(define-key escreen-map (kbd "C-l") 'escreen-goto-last-screen)
|
|
|
|
;; List screens.
|
|
(define-key escreen-map (kbd "a") 'escreen-get-active-screen-numbers-with-emphasis)
|
|
(define-key escreen-map (kbd "C-a") 'escreen-get-active-screen-numbers-with-emphasis)
|
|
(define-key escreen-map (kbd ";") 'escreen-get-active-screen-numbers-with-emphasis)
|
|
(define-key escreen-map (kbd "C-;") 'escreen-get-active-screen-numbers-with-emphasis)
|
|
|
|
;; Goto screens.
|
|
(define-key escreen-map (kbd "o") 'escreen-goto-next-screen)
|
|
(define-key escreen-map (kbd "C-o") 'escreen-goto-next-screen)
|
|
(define-key escreen-map (kbd "i") 'escreen-goto-prev-screen)
|
|
(define-key escreen-map (kbd "C-i") 'escreen-goto-prev-screen)
|
|
(global-set-key (kbd "s-}") 'escreen-goto-next-screen)
|
|
(global-set-key (kbd "s-{") 'escreen-goto-prev-screen)
|
|
|
|
;; Ctrl versions of default commands.
|
|
(define-key escreen-map (kbd "C-c") 'escreen-create-screen)
|
|
(define-key escreen-map (kbd "C-g") 'escreen-goto-screen)
|
|
(define-key escreen-map (kbd "C-k") 'escreen-kill-screen)
|
|
(define-key escreen-map (kbd "C-n") 'escreen-goto-next-screen)
|
|
(define-key escreen-map (kbd "C-p") 'escreen-goto-prev-screen)
|
|
|
|
;; Show list of screens when you switch/create/kill.
|
|
(add-hook 'escreen-goto-screen-hook 'escreen-get-active-screen-numbers-with-emphasis)
|
|
)
|