branch: externals/ergoemacs-mode commit 577997bacabe4f8141dfc0d789416b06943a6221 Author: Matthew Fidler <514778+mattfid...@users.noreply.github.com> Commit: Matthew Fidler <514778+mattfid...@users.noreply.github.com>
Pull in many more remaps for using Emacs keys --- ergoemacs-functions.el | 176 ++++++++++++++++++++++++++++++++++++++++++++++++- ergoemacs-mode.el | 33 ++++++++++ ergoemacs-themes.el | 2 +- 3 files changed, 209 insertions(+), 2 deletions(-) diff --git a/ergoemacs-functions.el b/ergoemacs-functions.el index 8453746..3bd1d6a 100644 --- a/ergoemacs-functions.el +++ b/ergoemacs-functions.el @@ -132,7 +132,181 @@ KEY3 is the optional third key in the sequence." "Ergoemacs replacement for `mark-whole-buffer' using `ergoemacs--send-emacs-key'." (interactive) (ergoemacs--send-emacs-key ?\C-x ?h)) - + +(defun ergoemacs-find-file () + "Ergoemacs replacement for `find-file' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-x ?\C-f)) + +(defun ergoemacs-save-buffer () + "Ergoemacs replacement for `save-buffer' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-x ?\C-s)) + +(defun ergoemacs-write-file () + "Ergoemacs replacement for `write-file' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-x ?\C-w)) + +(defun ergoemacs-goto-line () + "Ergoemacs replacement for `write-file' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-g ?\M-g)) + +(defun ergoemacs-delete-char () + "Ergoemacs replacement for `delete-char' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-d)) + +(defun ergoemacs-move-beginning-of-line () + "Ergoemacs replacement for `move-beginning-of-line' using `ergoemacs--send-emacs-key'." + (interactive) + (if this-command-keys-shift-translated + (ergoemacs--send-emacs-key ?\C-\S-a) + (ergoemacs--send-emacs-key ?\C-a))) + +(defun ergoemacs-move-end-of-line () + "Ergoemacs replacement for `move-end-of-line' using `ergoemacs--send-emacs-key'." + (interactive) + (if this-command-keys-shift-translated + (ergoemacs--send-emacs-key ?\C-\S-e) + (ergoemacs--send-emacs-key ?\C-e))) + +(defun ergoemacs-set-mark-command () + "Ergoemacs replacement for `set-mark-command' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-\ )) + +(defun ergoemacs-delete-backward-char () + "Ergoemacs replacement for `delete-backward-char' using `ergoemacs--send-emacs-key'." + (interactive) + ;; 127 = DEL + (ergoemacs--send-emacs-key 127)) + +(defun ergoemacs-delete-char () + "Ergoemacs replacement for `delete-char' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-d)) + +(defun ergoemacs-kill-word () + "Ergoemacs replacement for `kill-word' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-d)) + +(defun ergoemacs-backward-word () + "Ergoemacs replacement for `backward-word' using `ergoemacs--send-emacs-key'." + (interactive) + (if this-command-keys-shift-translated + (ergoemacs--send-emacs-key ?\M-\S-b) + (ergoemacs--send-emacs-key ?\M-b))) + +(defun ergoemacs-backward-kill-word () + "Ergoemacs replacement for `backward-kill-word' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key 'C-backspace)) + +(defun ergoemacs-forward-word () + "Ergoemacs replacement for `forward-word' using `ergoemacs--send-emacs-key'." + (interactive) + (if this-command-keys-shift-translated + (ergoemacs--send-emacs-key ?\M-\S-f) + (ergoemacs--send-emacs-key ?\M-f))) + +(defun ergoemacs-backward-paragraph () + "Ergoemacs replacement for `backward-paragraph' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-\{)) + +(defun ergoemacs-forward-paragraph () + "Ergoemacs replacement for `forward-paragraph' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-\})) + +(defun ergoemacs-scroll-down-command () + "Ergoemacs replacement for `scroll-down-command' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-v)) + +(defun ergoemacs-scroll-up-command () + "Ergoemacs replacement for `scroll-up-command' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-v)) + +(defun ergoemacs-beginning-of-buffer () + "Ergoemacs replacement for `beginning-of-buffer' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-\<)) + +(defun ergoemacs-end-of-buffer () + "Ergoemacs replacement for `end-of-buffer' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-\>)) + +(defun ergoemacs-query-replace () + "Ergoemacs replacement for `query-replace' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-\%)) + +(defun ergoemacs-query-replace-regexp () + "Ergoemacs replacement for `query-replace-regexp' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-\M-\%)) + +(defun ergoemacs-other-window () + "Ergoemacs replacement for `other-window' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-x ?o)) + +(defun ergoemacs-delete-other-windows () + "Ergoemacs replacement for `delete-other-windows' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-x ?1)) + +(defun ergoemacs-delete-window () + "Ergoemacs replacement for `delete-window' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-x ?0)) + +(defun ergoemacs-split-window-below () + "Ergoemacs replacement for `split-window-below' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-x ?2)) + +(defun ergoemacs-split-window-right () + "Ergoemacs replacement for `split-window-right' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-x ?3)) + +(defun ergoemacs-switch-to-buffer () + "Ergoemacs replacement for `switch-to-buffer' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-x ?b)) + +(defun ergoemacs-shell-command () + "Ergoemacs replacement for `shell-command' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-\!)) + +(defun ergoemacs-recenter-top-bottom () + "Ergoemacs replacement for `recenter-top-bottom' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\C-l)) + +(defun ergoemacs-comment-dwim () + "Ergoemacs replacement for `comment-dwim' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-\;)) + +(defun ergoemacs-delete-horizontal-space () + "Ergoemacs replacement for `delete-horizontal-space' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-\\)) + +(defun ergoemacs-mark-paragraph () + "Ergoemacs replacement for `mark-paragraph' using `ergoemacs--send-emacs-key'." + (interactive) + (ergoemacs--send-emacs-key ?\M-\S-\ )) + (defvar ergoemacs-delete-functions '(delete-backward-char delete-char kill-word backward-kill-word) "Defines deletion functions that ergoemacs is aware of.") diff --git a/ergoemacs-mode.el b/ergoemacs-mode.el index a71d7f8..7543ac9 100644 --- a/ergoemacs-mode.el +++ b/ergoemacs-mode.el @@ -134,6 +134,39 @@ Added beginning-of-buffer Alt+n (QWERTY notation) and end-of-buffer Alt+Shift+n" (defvar ergoemacs--send-emacs-keys-map (let ((map (make-sparse-keymap))) (define-key map [remap kill-line] 'ergoemacs-kill-line) (define-key map [remap mark-whole-buffer] 'ergoemacs-mark-whole-buffer) + (define-key map [remap find-file] 'ergoemacs-find-file) + (define-key map [remap save-buffer] 'ergoemacs-save-buffer) + (define-key map [remap write-file] 'ergoemacs-write-file) + (define-key map [remap goto-line] 'ergoemacs-goto-line) + (define-key map [remap delete-char] 'ergoemacs-delete-char) + (define-key map [remap move-beginning-of-line] 'ergoemacs-move-beginning-of-line) + (define-key map [remap move-end-of-line] 'ergoemacs-move-end-of-line) + (define-key map [remap set-mark-command] 'ergoemacs-set-mark-command) + (define-key map [remap delete-backward-char] 'ergoemacs-delete-backward-char) + (define-key map [remap delete-char] 'ergoemacs-delete-char) + (define-key map [remap kill-word] 'ergoemacs-kill-word) + (define-key map [remap backward-kill-word] 'ergoemacs-backward-kill-word) + (define-key map [remap backward-word] 'ergoemacs-backward-word) + (define-key map [remap forward-word] 'ergoemacs-forward-word) + (define-key map [remap backward-paragraph] 'ergoemacs-backward-paragraph) + (define-key map [remap forward-paragraph] 'ergoemacs-forward-paragraph) + (define-key map [remap scroll-down-command] 'ergoemacs-scroll-down-command) + (define-key map [remap scroll-up-command] 'ergoemacs-scroll-up-command) + (define-key map [remap end-of-buffer] 'ergoemacs-end-of-buffer) + (define-key map [remap beginning-of-buffer] 'ergoemacs-beginning-of-buffer) + (define-key map [remap query-replace] 'ergoemacs-query-replace) + (define-key map [remap query-replace-regexp] 'ergoemacs-query-replace-regexp) + (define-key map [remap other-window] 'ergoemacs-other-window) + (define-key map [remap delete-other-windows] 'ergoemacs-delete-other-windows) + (define-key map [remap delete-window] 'ergoemacs-delete-window) + (define-key map [remap split-window-below] 'ergoemacs-split-window-below) + (define-key map [remap split-window-right] 'ergoemacs-split-window-right) + (define-key map [remap switch-to-buffer] 'ergoemacs-switch-to-buffer) + (define-key map [remap recenter-top-bottom] 'ergoemacs-recenter-top-bottom) + (define-key map [remap shell-command] 'ergoemacs-shell-command) + (define-key map [remap comment-dwim] 'ergoemacs-comment-dwim) + (define-key map [remap delete-horizontal-space] 'ergoemacs-delete-horizontal-space) + (define-key map [remap mark-paragraph] 'ergoemacs-mark-paragraph) map) "This defines the remaps for the `ergoemacs-mode-send-emacs-keys' commands.") diff --git a/ergoemacs-themes.el b/ergoemacs-themes.el index 04231fc..b3c69c1 100644 --- a/ergoemacs-themes.el +++ b/ergoemacs-themes.el @@ -607,7 +607,7 @@ These keys do not depend on the layout." (ergoemacs-define-key keymap (kbd "<apps> x") 'ergoemacs-cut-line-or-region) (ergoemacs-define-key keymap (kbd "<apps> c") 'ergoemacs-copy-line-or-region) (ergoemacs-define-key keymap (kbd "<apps> v") 'ergoemacs-paste) - (ergoemacs-define-key keymap (kbd "<apps> b") '(redo undo-tree-redo ergoemacs-redo)) + (ergoemacs-define-key keymap (kbd "<apps> b") 'ergoemacs-redo) (ergoemacs-define-key keymap (kbd "<apps> t") 'switch-to-buffer) (ergoemacs-define-key keymap (kbd "<apps> z") 'undo) (ergoemacs-define-key keymap (kbd "<apps> r") 'goto-map) ;; Already in CUA)