[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ergoemacs-mode fcea163 151/325: Install an override map
From: |
Stefan Monnier |
Subject: |
[elpa] externals/ergoemacs-mode fcea163 151/325: Install an override map instead of futzing with all of the modes |
Date: |
Sat, 23 Oct 2021 18:48:42 -0400 (EDT) |
branch: externals/ergoemacs-mode
commit fcea1630efa8ba321c8b6f54a2cb0c1be08e8e25
Author: Walter Landry <wlandry@caltech.edu>
Commit: Walter Landry <wlandry@caltech.edu>
Install an override map instead of futzing with all of the modes
---
ergoemacs-mode.el | 2 +-
ergoemacs-themes.el | 369 +++++++++++++++++++++-------------------------------
2 files changed, 148 insertions(+), 223 deletions(-)
diff --git a/ergoemacs-mode.el b/ergoemacs-mode.el
index da56d9f..1affb80 100644
--- a/ergoemacs-mode.el
+++ b/ergoemacs-mode.el
@@ -681,7 +681,7 @@ SYMBOL is the symbol to set, NEW-VALUE is it's value."
(defun ergoemacs-setup-override-keymap ()
"Setup `ergoemacs-mode' overriding keymap `ergoemacs-override-keymap'."
- (setq ergoemacs-override-alist `((ergoemacs-mode . ,(ergoemacs
ergoemacs-override-keymap))))
+ ;; (setq ergoemacs-override-alist `((ergoemacs-mode . ,(ergoemacs
ergoemacs-override-keymap))))
(add-hook 'emulation-mode-map-alists 'ergoemacs-override-alist))
(defun ergoemacs-remove-override-keymap ()
diff --git a/ergoemacs-themes.el b/ergoemacs-themes.el
index 6bf37fe..bc9d958 100644
--- a/ergoemacs-themes.el
+++ b/ergoemacs-themes.el
@@ -131,6 +131,7 @@ will bind 'Meta-k' to next-line. If your layout is
'colemak', it will bind
set-mark-command-repeat-pop t
org-special-ctrl-a/e t
scroll-error-top-bottom t
+ ergoemacs-swap-major-modes-when-clicking-major-mode-name t
initial-scratch-message (substitute-command-keys ";; This buffer is
for notes you don't want to save, and for Lisp evaluation.\n;; If you want to
create a file, visit that file with \\[find-file],\n;; then enter the text in
that file's own buffer.\n\n")
;; Remove tutorial and guided tour, since the keys don't apply...
fancy-startup-text
@@ -274,21 +275,36 @@ calling any other ergoemacs-set-* function"
)
;;; Fixed components
-(defun ergoemacs-set-standard-fixed ()
+(defun ergoemacs-set-standard-fixed (keymap)
(global-set-key [tool-bar kill-buffer] 'ergoemacs-close-current-buffer)
-
- (global-set-key (kbd "C-o") 'find-file)
- (global-set-key (kbd "C-S-o") 'ergoemacs-open-in-desktop)
- (global-set-key (kbd "C-S-t") 'ergoemacs-open-last-closed)
- (global-set-key (kbd "C-w") 'ergoemacs-close-current-buffer)
+ ;; These keys go into the override map
+ (define-key keymap (kbd "C-o") 'find-file)
+ (define-key keymap (kbd "C-w") 'ergoemacs-close-current-buffer)
+ (define-key keymap (kbd "C-s") 'save-buffer)
+ (define-key keymap (kbd "C-S-s") 'write-file)
+ (define-key keymap (kbd "C-p") 'pr-interface)
+
+ (define-key keymap (kbd "C-S-n") 'make-frame-command)
+ (define-key keymap (kbd "C-S-w") 'delete-frame)
+
+ (define-key keymap (kbd "C-l") 'goto-line)
+ (define-key keymap (kbd "C-n") 'ergoemacs-new-empty-buffer)
+ (define-key keymap (kbd "C-o") 'find-file)
+ (define-key keymap (kbd "C-p") 'pr-interface)
+
+ (define-key keymap (kbd "C-+") 'text-scale-increase)
+ (define-key keymap (kbd "C-=") 'text-scale-increase)
+ (define-key keymap (kbd "C--") 'text-scale-decrease)
+ (define-key keymap (kbd "C-_") 'text-scale-decrease)
+ (define-key keymap (kbd "C-0") 'ergoemacs-text-scale-normal-size)
+ (define-key keymap (kbd "C-)") 'ergoemacs-text-scale-normal-size)
+
+ ;; These go into the global map, so they can be overridden by a
+ ;; local mode map.
(global-set-key (kbd "C-f") 'isearch-forward)
(define-key isearch-mode-map (kbd "C-f") 'isearch-repeat-forward)
-
- (global-set-key (kbd "C-s") 'save-buffer)
- (global-set-key (kbd "C-S-s") 'write-file)
- (global-set-key (kbd "C-p") 'pr-interface)
(global-set-key (kbd "C-a") 'mark-whole-buffer)
(global-set-key (kbd "C-z") 'undo)
@@ -299,128 +315,104 @@ calling any other ergoemacs-set-* function"
(global-set-key (kbd "<S-insert>") 'ergoemacs-paste)
(global-set-key (kbd "C-v") 'ergoemacs-paste)
- ;; Navigation
- (global-set-key (kbd "C-S-n") 'make-frame-command)
-
- ;; Text editing
-
- ;; the Del key for forward delete. Needed if C-d is set to nil.
(global-set-key (kbd "<delete>") 'delete-char )
-
(global-set-key (kbd "<home>") 'move-beginning-of-line)
(global-set-key (kbd "<end>") 'move-end-of-line)
-
(global-set-key (kbd "C-SPC") 'set-mark-command)
-
(global-set-key (kbd "C-r") 'ergoemacs-revert-buffer)
- (global-set-key (kbd "C-+") 'text-scale-increase)
- (global-set-key (kbd "C-=") 'text-scale-increase)
- (global-set-key (kbd "C--") 'text-scale-decrease)
- (global-set-key (kbd "C-_") 'text-scale-decrease)
(global-set-key (kbd "C-/") 'info)
- (global-set-key (kbd "C-0") 'ergoemacs-text-scale-normal-size)
- (global-set-key (kbd "C-)") 'ergoemacs-text-scale-normal-size)
(global-set-key (kbd "C-?") 'info)
(global-set-key (kbd "C-S-o") 'ergoemacs-open-in-external-app)
(global-set-key (kbd "C-S-t") 'ergoemacs-open-last-closed)
- (global-set-key (kbd "C-S-w") 'delete-frame)
-
- (global-set-key (kbd "C-a") 'mark-whole-buffer)
- (global-set-key (kbd "C-l") 'goto-line)
- (global-set-key (kbd "C-n") 'ergoemacs-new-empty-buffer)
- (global-set-key (kbd "C-o") 'find-file)
- (global-set-key (kbd "C-p") 'pr-interface)
-
- (global-set-key (kbd "C-w") 'ergoemacs-close-current-buffer)
-
(define-key isearch-mode-map (kbd "C-v") 'ergoemacs-paste)
)
-(defun ergoemacs-set-help ()
+(defun ergoemacs-set-help (keymap)
"Help changes for ergoemacs-mode"
- (global-set-key (kbd "C-h '") 'ergoemacs-describe-current-theme)
+ (define-key keymap (kbd "C-h '") 'ergoemacs-describe-current-theme)
)
-(defun ergoemacs-set-move-char ()
+(defun ergoemacs-set-move-char (keymap)
"Movement by Characters & Set Mark"
- (ergoemacs-global-set-key (kbd "M-j") 'backward-char)
- (ergoemacs-global-set-key (kbd "M-l") 'forward-char)
- (ergoemacs-global-set-key (kbd "M-i") 'previous-line)
- (ergoemacs-global-set-key (kbd "M-k") 'next-line)
+ (ergoemacs-define-key keymap (kbd "M-j") 'backward-char)
+ (ergoemacs-define-key keymap (kbd "M-l") 'forward-char)
+ (ergoemacs-define-key keymap (kbd "M-i") 'previous-line)
+ (ergoemacs-define-key keymap (kbd "M-k") 'next-line)
;; Fix this binding. Trying to avoid C-M-* combos.
;; The regular binding is 'M-s o'
- (ergoemacs-global-set-key (kbd "C-M-:") 'occur)
- (ergoemacs-global-set-key (kbd "C-M-;") 'isearch-occur)
+ (ergoemacs-define-key keymap (kbd "C-M-:") 'occur)
+ (ergoemacs-define-key keymap (kbd "C-M-;") 'isearch-occur)
- (ergoemacs-global-set-key (kbd "M-SPC") 'set-mark-command)
+ (ergoemacs-define-key keymap (kbd "M-SPC") 'set-mark-command)
;; Delete previous/next char.
- (ergoemacs-global-set-key (kbd "M-d") 'delete-backward-char)
- (ergoemacs-global-set-key (kbd "M-f") 'delete-char)
+ (ergoemacs-define-key keymap (kbd "M-d") 'delete-backward-char)
+ (ergoemacs-define-key keymap (kbd "M-f") 'delete-char)
- (ergoemacs-global-set-key (kbd "<M-delete>") 'kill-word)
- (ergoemacs-global-set-key (kbd "<M-up>") 'ergoemacs-backward-block)
- (ergoemacs-global-set-key (kbd "<M-down>") 'ergoemacs-forward-block)
+ (ergoemacs-define-key keymap (kbd "<M-delete>") 'kill-word)
+ (ergoemacs-define-key keymap (kbd "<M-up>") 'ergoemacs-backward-block)
+ (ergoemacs-define-key keymap (kbd "<M-down>") 'ergoemacs-forward-block)
)
;;; Variable Components
-(defun ergoemacs-set-move-word ()
+(defun ergoemacs-set-move-word (keymap)
"Moving around and deleting words"
- (ergoemacs-global-set-key (kbd "M-u") 'backward-word)
- (ergoemacs-global-set-key (kbd "M-o") 'forward-word)
+ (ergoemacs-define-key keymap (kbd "M-u") 'backward-word)
+ (ergoemacs-define-key keymap (kbd "M-o") 'forward-word)
- (ergoemacs-global-set-key (kbd "M-e") 'backward-kill-word)
- (ergoemacs-global-set-key (kbd "M-r") 'kill-word)
+ (ergoemacs-define-key keymap (kbd "M-e") 'backward-kill-word)
+ (ergoemacs-define-key keymap (kbd "M-r") 'kill-word)
)
-(defun ergoemacs-set-move-paragraph ()
+(defun ergoemacs-set-move-paragraph (keymap)
"Move by Paragraph"
- (ergoemacs-global-set-key (kbd "M-U") 'backward-paragraph)
- (ergoemacs-global-set-key (kbd "M-O") 'forward-paragraph)
+ (ergoemacs-define-key keymap (kbd "M-U") 'backward-paragraph)
+ (ergoemacs-define-key keymap (kbd "M-O") 'forward-paragraph)
)
-(defun ergoemacs-set-move-line ()
+(defun ergoemacs-set-move-line (keymap)
"Move by Line"
- (ergoemacs-global-set-key (kbd "M-h") 'move-beginning-of-line)
- (ergoemacs-global-set-key (kbd "M-H") 'move-end-of-line)
+ (ergoemacs-define-key keymap (kbd "M-h") 'move-beginning-of-line)
+ (ergoemacs-define-key keymap (kbd "M-H") 'move-end-of-line)
)
-(defun ergoemacs-set-move-page ()
+(defun ergoemacs-set-move-page (keymap)
"Move by Page"
- (ergoemacs-global-set-key (kbd "M-I") 'scroll-down-command)
- (ergoemacs-global-set-key (kbd "M-K") 'scroll-up-command)
+ (ergoemacs-define-key keymap (kbd "M-I") 'scroll-down-command)
+ (ergoemacs-define-key keymap (kbd "M-K") 'scroll-up-command)
)
-(defun ergoemacs-set-move-buffer ()
- (ergoemacs-global-set-key (kbd "M-n") 'ergoemacs-beginning-or-end-of-buffer)
- (ergoemacs-global-set-key (kbd "M-N") 'ergoemacs-end-or-beginning-of-buffer)
+(defun ergoemacs-set-move-buffer (keymap)
+ (ergoemacs-define-key keymap (kbd "M-n")
'ergoemacs-beginning-or-end-of-buffer)
+ (ergoemacs-define-key keymap (kbd "M-N")
'ergoemacs-end-or-beginning-of-buffer)
)
-(defun ergoemacs-set-move-bracket ()
+(defun ergoemacs-set-move-bracket (keymap)
"Move By Bracket"
- (ergoemacs-global-set-key (kbd "M-J") 'ergoemacs-backward-open-bracket)
- (ergoemacs-global-set-key (kbd "M-L") 'ergoemacs-forward-close-bracket)
- (ergoemacs-global-set-key (kbd "<M-left>") 'ergoemacs-backward-open-bracket)
- (ergoemacs-global-set-key (kbd "<M-right>") 'ergoemacs-forward-close-bracket)
+ (ergoemacs-define-key keymap (kbd "M-J") 'ergoemacs-backward-open-bracket)
+ (ergoemacs-define-key keymap (kbd "M-L") 'ergoemacs-forward-close-bracket)
+ (ergoemacs-define-key keymap (kbd "<M-left>")
'ergoemacs-backward-open-bracket)
+ (ergoemacs-define-key keymap (kbd "<M-right>")
'ergoemacs-forward-close-bracket)
)
-(defun ergoemacs-set-copy ()
+(defun ergoemacs-set-copy (keymap)
"Copy, Cut, Paste, Redo and Undo"
- (ergoemacs-global-set-key (kbd "M-x") 'ergoemacs-cut-line-or-region)
- (ergoemacs-global-set-key (kbd "M-c") 'ergoemacs-copy-line-or-region)
- (ergoemacs-global-set-key (kbd "M-v") 'ergoemacs-paste)
- (ergoemacs-global-set-key (kbd "M-V") 'ergoemacs-paste-cycle)
+ (ergoemacs-define-key keymap (kbd "M-x") 'ergoemacs-cut-line-or-region)
+ (ergoemacs-define-key keymap (kbd "M-c") 'ergoemacs-copy-line-or-region)
+ ;; FIXME: enable term-paste for term-mode
+ (ergoemacs-define-key keymap (kbd "M-v") 'ergoemacs-paste)
+ (ergoemacs-define-key keymap (kbd "M-V") 'ergoemacs-paste-cycle)
- (ergoemacs-global-set-key (kbd "M-C") 'ergoemacs-copy-all)
- (ergoemacs-global-set-key (kbd "M-X") 'ergoemacs-cut-all)
+ (ergoemacs-define-key keymap (kbd "M-C") 'ergoemacs-copy-all)
+ (ergoemacs-define-key keymap (kbd "M-X") 'ergoemacs-cut-all)
;; Undo
- (ergoemacs-global-set-key (kbd "M-z") 'undo)
- (ergoemacs-global-set-key (kbd "C-S-x") 'execute-extended-command)
+ (ergoemacs-define-key keymap (kbd "M-z") 'undo)
+ (ergoemacs-define-key keymap (kbd "C-S-x") 'execute-extended-command)
(global-set-key (kbd "C-z") 'undo)
;; Mode specific changes
@@ -430,86 +422,86 @@ calling any other ergoemacs-set-* function"
(define-key isearch-mode-map (kbd "C-v") 'ergoemacs-paste)
)
-(defun ergoemacs-set-search ()
+(defun ergoemacs-set-search (keymap)
"Search and Replace"
- (ergoemacs-global-set-key (kbd "M-5") 'query-replace)
- (ergoemacs-global-set-key (kbd "M-%") 'query-replace-regexp)
- (ergoemacs-global-set-key (kbd "M-;") 'isearch-forward)
+ (ergoemacs-define-key keymap (kbd "M-5") 'query-replace)
+ (ergoemacs-define-key keymap (kbd "M-%") 'query-replace-regexp)
+ (ergoemacs-define-key keymap (kbd "M-;") 'isearch-forward)
(ergoemacs-define-key isearch-mode-map (kbd "M-;") 'isearch-repeat-forward)
- (ergoemacs-global-set-key (kbd "M-:") 'isearch-backward)
+ (ergoemacs-define-key keymap (kbd "M-:") 'isearch-backward)
(ergoemacs-define-key isearch-mode-map (kbd "M-:") 'isearch-repeat-backward)
)
-(defun ergoemacs-set-switch ()
+(defun ergoemacs-set-switch (keymap)
"Window/Frame/Tab Switching"
- (ergoemacs-global-set-key (kbd "M-s") 'ergoemacs-move-cursor-next-pane)
- (ergoemacs-global-set-key (kbd "M-S") 'ergoemacs-move-cursor-previous-pane)
+ (ergoemacs-define-key keymap (kbd "M-s") 'ergoemacs-move-cursor-next-pane)
+ (ergoemacs-define-key keymap (kbd "M-S")
'ergoemacs-move-cursor-previous-pane)
- (ergoemacs-global-set-key (kbd "M-~") 'ergoemacs-switch-to-previous-frame)
- (ergoemacs-global-set-key (kbd "M-`") 'ergoemacs-switch-to-next-frame)
+ (ergoemacs-define-key keymap (kbd "M-~") 'ergoemacs-switch-to-previous-frame)
+ (ergoemacs-define-key keymap (kbd "M-`") 'ergoemacs-switch-to-next-frame)
- (ergoemacs-global-set-key (kbd "M-3") 'delete-other-windows)
- (ergoemacs-global-set-key (kbd "M-#") 'delete-other-windows)
+ (ergoemacs-define-key keymap (kbd "M-3") 'delete-other-windows)
+ (ergoemacs-define-key keymap (kbd "M-#") 'delete-other-windows)
- (ergoemacs-global-set-key (kbd "M-2") 'delete-window)
- (ergoemacs-global-set-key (kbd "M-@") 'delete-window)
+ (ergoemacs-define-key keymap (kbd "M-2") 'delete-window)
+ (ergoemacs-define-key keymap (kbd "M-@") 'delete-window)
- (ergoemacs-global-set-key (kbd "M-4") 'split-window-below)
-
- (ergoemacs-global-set-key (kbd "M-$") 'split-window-right)
+ (ergoemacs-define-key keymap (kbd "M-4") 'split-window-below)
+ (ergoemacs-define-key keymap (kbd "M-$") 'split-window-right)
- (ergoemacs-global-set-key (kbd "M-0") 'delete-window)
- (ergoemacs-global-set-key (kbd "M-)") 'delete-window)
+ (ergoemacs-define-key keymap (kbd "M-0") 'delete-window)
+ (ergoemacs-define-key keymap (kbd "M-)") 'delete-window)
)
-(defun ergoemacs-set-execute ()
+(defun ergoemacs-set-execute (keymap)
"Execute Commands"
- (ergoemacs-global-set-key (kbd "M-a") 'execute-extended-command)
- (ergoemacs-global-set-key (kbd "M-A") 'shell-command)
+ (ergoemacs-define-key keymap (kbd "M-a") 'execute-extended-command)
+ (ergoemacs-define-key keymap (kbd "M-A") 'shell-command)
)
-(defun ergoemacs-set-misc ()
+(defun ergoemacs-set-misc (keymap)
"Misc Commands"
- (ergoemacs-global-set-key (kbd "M-p") 'recenter-top-bottom)
- (ergoemacs-global-set-key (kbd "M-B") 'ibuffer)
- (ergoemacs-global-set-key (kbd "M-b") 'switch-to-buffer)
+ (ergoemacs-define-key keymap (kbd "M-p") 'recenter-top-bottom)
+ (ergoemacs-define-key keymap (kbd "M-B") 'ibuffer)
+ (ergoemacs-define-key keymap (kbd "M-b") 'switch-to-buffer)
)
-(defun ergoemacs-set-kill-line ()
+(defun ergoemacs-set-kill-line (keymap)
"Kill Line"
- (ergoemacs-global-set-key (kbd "M-g") 'kill-line)
- (ergoemacs-global-set-key (kbd "M-G") 'ergoemacs-kill-line-backward))
+ (ergoemacs-define-key keymap (kbd "M-g") 'kill-line)
+ (ergoemacs-define-key keymap (kbd "M-G") 'ergoemacs-kill-line-backward))
-(defun ergoemacs-set-text-transform ()
+(defun ergoemacs-set-text-transform (keymap)
"Text Transformation"
- (ergoemacs-global-set-key (kbd "M-'") 'comment-dwim)
- (ergoemacs-global-set-key (kbd "M-\"") 'delete-horizontal-space)
+ (ergoemacs-define-key keymap (kbd "M-'") 'comment-dwim)
+ (ergoemacs-define-key keymap (kbd "M-\"") 'delete-horizontal-space)
- (ergoemacs-global-set-key (kbd "M-w") 'ergoemacs-shrink-whitespaces)
+ (ergoemacs-define-key keymap (kbd "M-w") 'ergoemacs-shrink-whitespaces)
- (ergoemacs-global-set-key (kbd "M-?") 'ergoemacs-toggle-camel-case)
- (ergoemacs-global-set-key (kbd "M-/") 'ergoemacs-toggle-letter-case)
+ (ergoemacs-define-key keymap (kbd "M-?") 'ergoemacs-toggle-camel-case)
+ (ergoemacs-define-key keymap (kbd "M-/") 'ergoemacs-toggle-letter-case)
- ;; ;; keyword completion, because Alt+Tab is used by OS
- (ergoemacs-global-set-key (kbd "M-t") 'ergoemacs-call-keyword-completion)
- (ergoemacs-global-set-key (kbd "M-T") 'flyspell-auto-correct-word)
+ ;; keyword completion, because Alt+Tab is used by OS
+ (ergoemacs-define-key keymap (kbd "M-t") 'ergoemacs-call-keyword-completion)
+ (ergoemacs-define-key keymap (kbd "M-T") 'flyspell-auto-correct-word)
- ;; ;; Hard-wrap/un-hard-wrap paragraph
- (ergoemacs-global-set-key (kbd "M-q") 'ergoemacs-compact-uncompact-block)
+ ;; Hard-wrap/un-hard-wrap paragraph
+ (ergoemacs-define-key keymap (kbd "M-q") 'ergoemacs-compact-uncompact-block)
+ ;; Why does this work?
(ergoemacs-define-key isearch-mode-map (kbd "M-?") 'isearch-toggle-regexp)
(ergoemacs-define-key isearch-mode-map (kbd "M-/") 'isearch-toggle-case-fold)
)
-(defun ergoemacs-set-select-items ()
+(defun ergoemacs-set-select-items (keymap)
"Select Items"
- (ergoemacs-global-set-key (kbd "M-S-SPC") 'mark-paragraph)
- (ergoemacs-global-set-key (kbd "M-8") 'ergoemacs-extend-selection)
- (ergoemacs-global-set-key (kbd "M-*") 'ergoemacs-select-text-in-quote)
- (ergoemacs-global-set-key (kbd "M-6") 'ergoemacs-select-current-block)
- (ergoemacs-global-set-key (kbd "M-^") 'ergoemacs-select-current-block)
- (ergoemacs-global-set-key (kbd "M-7") 'ergoemacs-select-current-line)
- (ergoemacs-global-set-key (kbd "M-&") 'ergoemacs-select-current-line)
+ (ergoemacs-define-key keymap (kbd "M-S-SPC") 'mark-paragraph)
+ (ergoemacs-define-key keymap (kbd "M-8") 'ergoemacs-extend-selection)
+ (ergoemacs-define-key keymap (kbd "M-*") 'ergoemacs-select-text-in-quote)
+ (ergoemacs-define-key keymap (kbd "M-6") 'ergoemacs-select-current-block)
+ (ergoemacs-define-key keymap (kbd "M-^") 'ergoemacs-select-current-block)
+ (ergoemacs-define-key keymap (kbd "M-7") 'ergoemacs-select-current-line)
+ (ergoemacs-define-key keymap (kbd "M-&") 'ergoemacs-select-current-line)
)
(defun ergoemacs-set-quit ()
@@ -1048,36 +1040,39 @@ calling any other ergoemacs-set-* function"
describe-copying)
,(if (eq system-type 'darwin) "Help" "?")))))
-(defun ergoemacs-set-mode-line-major-mode-switch ()
- "Switch major modes by clicking mode-name."
- (setq ergoemacs-swap-major-modes-when-clicking-major-mode-name t))
-
(ergoemacs-theme standard ()
"Standard Ergoemacs Theme"
)
+(defvar ergoemacs-override-alist)
+
(defun ergoemacs-install-standard-theme ()
(ergoemacs-unset-keys)
(ergoemacs-set-standard-vars)
- (ergoemacs-set-standard-fixed)
- (ergoemacs-set-help)
- (ergoemacs-set-move-char)
- (ergoemacs-set-move-buffer)
- (ergoemacs-set-move-bracket)
- (ergoemacs-set-move-word)
- (ergoemacs-set-move-paragraph)
- (ergoemacs-set-move-line)
- (ergoemacs-set-move-page)
- (ergoemacs-set-move-buffer)
- (ergoemacs-set-move-bracket)
- (ergoemacs-set-copy)
- (ergoemacs-set-search)
- (ergoemacs-set-switch)
- (ergoemacs-set-execute)
- (ergoemacs-set-misc)
- (ergoemacs-set-kill-line)
- (ergoemacs-set-text-transform)
- (ergoemacs-set-select-items)
+
+ (let ((override-keymap (make-sparse-keymap)))
+ (ergoemacs-set-standard-fixed override-keymap)
+ (ergoemacs-set-help override-keymap)
+ (ergoemacs-set-move-char override-keymap)
+ (ergoemacs-set-move-buffer override-keymap)
+ (ergoemacs-set-move-bracket override-keymap)
+ (ergoemacs-set-move-word override-keymap)
+ (ergoemacs-set-move-paragraph override-keymap)
+ (ergoemacs-set-move-line override-keymap)
+ (ergoemacs-set-move-page override-keymap)
+ (ergoemacs-set-move-buffer override-keymap)
+ (ergoemacs-set-move-bracket override-keymap)
+ (ergoemacs-set-copy override-keymap)
+ (ergoemacs-set-search override-keymap)
+ (ergoemacs-set-switch override-keymap)
+ (ergoemacs-set-execute override-keymap)
+ (ergoemacs-set-misc override-keymap)
+ (ergoemacs-set-kill-line override-keymap)
+ (ergoemacs-set-text-transform override-keymap)
+ (ergoemacs-set-select-items override-keymap)
+ (setq ergoemacs-override-alist `((ergoemacs-mode . ,override-keymap)))
+ )
+
(ergoemacs-set-remaps)
(ergoemacs-set-quit)
(ergoemacs-set-menu-bar-help)
@@ -1085,80 +1080,10 @@ calling any other ergoemacs-set-* function"
(ergoemacs-set-menu-bar-search)
(ergoemacs-set-menu-bar-edit)
(ergoemacs-set-menu-bar-file)
- (ergoemacs-set-mode-line-major-mode-switch)
)
(add-hook 'ergoemacs-mode-startup-hook #'ergoemacs-install-standard-theme)
-(defun ergoemacs-install-term-bindings ()
- ;; For term, do not bind anything that modifies the buffer, like
- ;; cut, undo, and redo. The only exception is paste. Paste-cycle
- ;; is not bound, because it would require deleting and inserting
- ;; text.
- ;;
- ;; Also, do not bind any special keys like <insert> or <prior>.
- ;; They get passed into term.
- (define-key term-raw-map (kbd "C-o") 'find-file)
- (define-key term-raw-map (kbd "C-S-t") 'ergoemacs-open-last-closed)
- (define-key term-raw-map (kbd "C-w") 'ergoemacs-close-current-buffer)
- (define-key term-raw-map (kbd "C-a") 'mark-whole-buffer)
- (define-key term-raw-map (kbd "C-S-n") 'make-frame-command)
- (define-key term-raw-map (kbd "C-+") 'text-scale-increase)
- (define-key term-raw-map (kbd "C--") 'text-scale-decrease)
- (define-key term-raw-map (kbd "C-.") 'keyboard-quit)
- (define-key term-raw-map (kbd "C-/") 'info)
- (define-key term-raw-map (kbd "C-0") 'ergoemacs-text-scale-normal-size)
- (define-key term-raw-map (kbd "C-=") 'text-scale-increase)
- (define-key term-raw-map (kbd "C-S-o") 'ergoemacs-open-in-external-app)
- (define-key term-raw-map (kbd "C-S-s") 'write-file)
- (define-key term-raw-map (kbd "C-S-w") 'delete-frame)
- (define-key term-raw-map (kbd "C-`") 'other-frame)
- (define-key term-raw-map (kbd "C-n") 'ergoemacs-new-empty-buffer)
- (define-key term-raw-map (kbd "C-p") 'pr-interface)
-
- (ergoemacs-define-key term-raw-map (kbd "M-j") 'backward-char)
- (ergoemacs-define-key term-raw-map (kbd "M-l") 'forward-char)
- (ergoemacs-define-key term-raw-map (kbd "M-i") 'previous-line)
- (ergoemacs-define-key term-raw-map (kbd "M-k") 'next-line)
- (ergoemacs-define-key term-raw-map (kbd "M-SPC") 'set-mark-command)
-
- (ergoemacs-define-key term-raw-map (kbd "M-u") 'backward-word)
- (ergoemacs-define-key term-raw-map (kbd "M-o") 'forward-word)
-
- (ergoemacs-define-key term-raw-map (kbd "M-U") 'backward-paragraph)
- (ergoemacs-define-key term-raw-map (kbd "M-O") 'forward-paragraph)
-
- (ergoemacs-define-key term-raw-map (kbd "M-h") 'move-beginning-of-line)
- (ergoemacs-define-key term-raw-map (kbd "M-H") 'move-end-of-line)
-
- (ergoemacs-define-key term-raw-map (kbd "M-I") 'scroll-down)
- (ergoemacs-define-key term-raw-map (kbd "M-K") 'scroll-up)
-
- (ergoemacs-define-key term-raw-map (kbd "M-n")
'ergoemacs-beginning-or-end-of-buffer)
- (ergoemacs-define-key term-raw-map (kbd "M-N")
'ergoemacs-end-or-beginning-of-buffer)
-
- (ergoemacs-define-key term-raw-map (kbd "M-J")
'ergoemacs-backward-open-bracket)
- (ergoemacs-define-key term-raw-map (kbd "M-L")
'ergoemacs-forward-close-bracket)
-
- (ergoemacs-define-key term-raw-map (kbd "M-c")
'ergoemacs-copy-line-or-region)
- (ergoemacs-define-key term-raw-map (kbd "M-v") 'term-paste)
- (ergoemacs-define-key term-raw-map (kbd "M-C") 'ergoemacs-copy-all)
-
- (ergoemacs-define-key term-raw-map (kbd "M-;") 'isearch-forward)
- (ergoemacs-define-key term-raw-map (kbd "M-:") 'isearch-backward)
-
- (ergoemacs-define-key term-raw-map (kbd "M-s")
'ergoemacs-move-cursor-next-pane)
- (ergoemacs-define-key term-raw-map (kbd "M-S")
'ergoemacs-move-cursor-previous-pane)
- (ergoemacs-define-key term-raw-map (kbd "M-~")
'ergoemacs-switch-to-previous-frame)
- (ergoemacs-define-key term-raw-map (kbd "M-`")
'ergoemacs-switch-to-next-frame)
- (ergoemacs-define-key term-raw-map (kbd "M-3") 'delete-other-windows)
- (ergoemacs-define-key term-raw-map (kbd "M-2") 'delete-window)
- (ergoemacs-define-key term-raw-map (kbd "M-4") '(split-window-below
split-window-horizontally))
- (ergoemacs-define-key term-raw-map (kbd "M-$") '(split-window-right
split-window-vertically))
- )
-
-(add-hook 'term-load-hook #'ergoemacs-install-term-bindings)
-
(defun ergoemacs-install-org-bindings ()
(ergoemacs-unset-keys-in-map org-mode-map)
- [elpa] externals/ergoemacs-mode a9ec5df 122/325: Remove Redo menu, make Undo show up, (continued)
- [elpa] externals/ergoemacs-mode a9ec5df 122/325: Remove Redo menu, make Undo show up, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 8cb01f2 100/325: Remove unused declarations, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode ad4202a 130/325: Remove unused components, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 63ba586 133/325: Get rid of undo-tree and browse-kill-ring bindings, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode ff0ec3b 140/325: Make comint and dired bindings into hooks, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 2adc6aa 146/325: Remove many C-S- bindings. Make M-C-[:; ] work. Small cleanups., Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode d198bd3 149/325: Delete dead code, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 1ca781f 145/325: Fix info mode, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 238435f 154/325: Lots of isearch fixes, with a few other minor fixes to mode maps, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode cbe3e19 157/325: Add create/delete frame to menu, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode fcea163 151/325: Install an override map instead of futzing with all of the modes,
Stefan Monnier <=
- [elpa] externals/ergoemacs-mode 481871c 152/325: Make ergoemacs-paste use term-paste if in term-mode, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode e02abf1 150/325: Remove unused post-command-hook and echo timer, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 982c28c 171/325: Cleanup, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 4b6d159 183/325: Remove command-loop and translate stuff, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 12d5e8e 176/325: Handle conflict between M-O and arrow keys in the terminal, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode ed8a7c9 191/325: Remove unused theme choice menu, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 1136451 195/325: Remove all unicode-or-alt logic. Unicode all the way., Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode 18f27c0 204/325: Fix SPC svg help, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode f41b18d 202/325: Remove 'apps and 'menu, Stefan Monnier, 2021/10/23
- [elpa] externals/ergoemacs-mode a65ea4d 211/325: Cleanup unused declarations, Stefan Monnier, 2021/10/23