use key chords (bb, jj and tt)
This commit is contained in:
parent
fa9f796fdf
commit
ffdffcb42d
43
init.el
43
init.el
@ -52,6 +52,9 @@
|
|||||||
|
|
||||||
(require 'use-package)
|
(require 'use-package)
|
||||||
|
|
||||||
|
(use-package use-package-chords
|
||||||
|
:ensure nil
|
||||||
|
:config (key-chord-mode 1))
|
||||||
|
|
||||||
;;; This also turns on checking TLS certificates (in both possible modes)
|
;;; This also turns on checking TLS certificates (in both possible modes)
|
||||||
;;; with `tls-program` set to only the first value from the default value
|
;;; with `tls-program` set to only the first value from the default value
|
||||||
@ -166,7 +169,17 @@
|
|||||||
(use-package treemacs
|
(use-package treemacs
|
||||||
:ensure nil
|
:ensure nil
|
||||||
:bind
|
:bind
|
||||||
("C-c t" . treemacs-toggle))
|
("C-c t" . treemacs-toggle)
|
||||||
|
:chords
|
||||||
|
(("tt" . treemacs-toggle)))
|
||||||
|
|
||||||
|
(use-package buffer-flip
|
||||||
|
:ensure nil
|
||||||
|
:chords (("bb" . buffer-flip))
|
||||||
|
:bind (:map buffer-flip-map
|
||||||
|
( "b" . buffer-flip-forward)
|
||||||
|
( "B" . buffer-flip-backward)
|
||||||
|
( "C-g" . buffer-flip-abort)))
|
||||||
|
|
||||||
|
|
||||||
;;; Editing enhancements
|
;;; Editing enhancements
|
||||||
@ -820,24 +833,30 @@ inserted between the braces between the braces."
|
|||||||
;;; -----------------
|
;;; -----------------
|
||||||
|
|
||||||
|
|
||||||
;;; Set keys from H-a to H-z to switch to buffers from a register from a to z
|
;;; Set keys from jj a to jj z to switch to buffers from a register from a to z
|
||||||
|
|
||||||
(defalias 'pr #'point-to-register)
|
(defalias 'pr #'point-to-register)
|
||||||
|
|
||||||
(require 'cl)
|
(defun my-switch-to-register ()
|
||||||
|
"Switch to buffer given by a register named by last character
|
||||||
|
of the key binding used to execute this command."
|
||||||
|
(interactive)
|
||||||
|
(let* ((v (this-command-keys-vector))
|
||||||
|
(c (aref v (1- (length v))))
|
||||||
|
(r (get-register c)))
|
||||||
|
(if (and (markerp r) (marker-buffer r))
|
||||||
|
(switch-to-buffer (marker-buffer r))
|
||||||
|
(jump-to-register c))))
|
||||||
|
|
||||||
|
(setq my-jj-map (make-sparse-keymap))
|
||||||
|
|
||||||
(let ((character ?a))
|
(let ((character ?a))
|
||||||
(while (<= character ?z)
|
(while (<= character ?z)
|
||||||
(let ((func-name-symbol (make-symbol (format "my-switch-to-register-%c" character))))
|
(define-key my-jj-map (format "%c" character) #'my-switch-to-register)
|
||||||
(global-set-key (kbd (format "H-%c" character))
|
|
||||||
(eval (list 'defun func-name-symbol '()
|
|
||||||
(format "switch to buffer of register %c" character)
|
|
||||||
'(interactive)
|
|
||||||
`(let ((r (get-register ,character)))
|
|
||||||
(if (and (markerp r) (marker-buffer r))
|
|
||||||
(switch-to-buffer (marker-buffer r))
|
|
||||||
(jump-to-register ,character)))))))
|
|
||||||
(incf character)))
|
(incf character)))
|
||||||
|
|
||||||
|
(key-chord-define-global "jj" my-jj-map)
|
||||||
|
|
||||||
|
|
||||||
;;; Search engines
|
;;; Search engines
|
||||||
;;; --------------
|
;;; --------------
|
||||||
|
Loading…
x
Reference in New Issue
Block a user