use key chords (bb, jj and tt)

This commit is contained in:
Łukasz Pankowski 2018-02-25 10:27:19 +01:00
parent fa9f796fdf
commit ffdffcb42d

43
init.el
View File

@ -52,6 +52,9 @@
(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)
;;; with `tls-program` set to only the first value from the default value
@ -166,7 +169,17 @@
(use-package treemacs
:ensure nil
: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
@ -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)
(require 'cl)
(let ((character ?a))
(while (<= character ?z)
(let ((func-name-symbol (make-symbol (format "my-switch-to-register-%c" character))))
(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)))
(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 ,character)))))))
(jump-to-register c))))
(setq my-jj-map (make-sparse-keymap))
(let ((character ?a))
(while (<= character ?z)
(define-key my-jj-map (format "%c" character) #'my-switch-to-register)
(incf character)))
(key-chord-define-global "jj" my-jj-map)
;;; Search engines
;;; --------------