85 lines
1.8 KiB
EmacsLisp
85 lines
1.8 KiB
EmacsLisp
;;; init-terminal-kbd.el --- keybindings -*- lexical-binding: t -*-
|
|
|
|
;;; Commentary:
|
|
|
|
;;; Code:
|
|
|
|
;; general
|
|
(use-package general)
|
|
|
|
(defun open-init-file()
|
|
"Open user's init.el file in ~/.emacs.d ."
|
|
(interactive)
|
|
(find-file "~/.emacs.d/init.el"))
|
|
|
|
;; scratch buffer
|
|
(if *is-mac*
|
|
(general-def "C-c <f12>" 'scratch-buffer)
|
|
(general-def "C-c <delete>" 'scratch-buffer)
|
|
(general-def "C-c <deletechar>" 'scratch-buffer))
|
|
|
|
;; diff
|
|
(general-def diff-mode-map
|
|
"M-o" 'other-window)
|
|
|
|
;; dired
|
|
(general-def dired-mode-map
|
|
"b" 'dired-up-directory)
|
|
|
|
;; global map with C-c prefix
|
|
(general-def
|
|
:prefix "C-c"
|
|
"e" 'er/expand-region
|
|
"k" 'comment-line
|
|
"f r" 'recentf
|
|
"i" 'imenu)
|
|
|
|
;; global map
|
|
(general-def
|
|
|
|
;; buffer, file, and window
|
|
"<f2>" 'open-init-file
|
|
"C-x C-b" 'ibuffer-other-window
|
|
"C-x K" 'crux-kill-other-buffers
|
|
|
|
;; edit
|
|
"M-c" 'capitalize-dwim
|
|
"M-u" 'upcase-dwim
|
|
"M-l" 'downcase-dwim
|
|
"C-," 'crux-duplicate-current-line-or-region
|
|
"C-k" 'crux-smart-kill-line
|
|
"C-<backspace>" 'crux-kill-line-backwards
|
|
"M-y" 'yank-from-kill-ring
|
|
"C-c DEL" 'hungry-delete-backward
|
|
"C-c C-DEL" 'hungry-delete-forward
|
|
"M-P" 'drag-stuff-up
|
|
"M-N" 'drag-stuff-down
|
|
"C-M-@" 'er/mark-symbol
|
|
"M-@" 'er/mark-word
|
|
"C-M-h" 'backward-kill-sexp
|
|
|
|
;; undo
|
|
"C-/" 'undo
|
|
"C-M-_" 'undo-redo
|
|
|
|
;; navigate
|
|
"M-p" 'backward-paragraph
|
|
"M-n" 'forward-paragraph
|
|
|
|
;; window
|
|
"M-<left>" 'shrink-window-horizontally
|
|
"M-<right>" 'enlarge-window-horizontally
|
|
"M-<down>" 'shrink-window
|
|
"M-<up>" 'enlarge-window
|
|
"M-o" 'other-window)
|
|
|
|
;; save-some-buffer时diff更改
|
|
(add-to-list 'save-some-buffers-action-alist
|
|
(list "d"
|
|
(lambda (buffer) (diff-buffer-with-file (buffer-file-name buffer)))
|
|
"show diff between the buffer and its file"))
|
|
|
|
(provide 'init-terminal-kbd)
|
|
|
|
;;; init-terminal-kbd.el ends here
|