Account name:
Password
(OpenID?)
(Forgot it?)
Remember Me
You're viewing
tennoseremel
's journal
Create a Dreamwidth Account
Learn More
Interest
Region
Site and Account
FAQ
Email
Reload page in style:
light
Taglibro de Ténno Seremél’
Pri ĉio ajn
Entries tagged with hotkeys
Custom hotkeys
2023
-
Jan
-
11
, Wednesday
11:55
How I go about my hotkeys (key bindings) in Emacs:
;; Define minor mode for truly global keys as generally understood by the world outside of Emacs. (defvar user-main-keymap (make-keymap) "A keymap for key bindings that should work everywhere.") ;; Undo. (define-key user-main-keymap (kbd "C-z") 'undo) ;; Windows. (define-key user-main-keymap (kbd "M-<insert>") 'split-window-right) (define-key user-main-keymap (kbd "M-<delete>") 'delete-other-windows) (define-key user-main-keymap (kbd "M-<up>") 'windmove-up) (define-key user-main-keymap (kbd "M-<down>") 'windmove-down) (define-key user-main-keymap (kbd "M-<left>") 'windmove-left) (define-key user-main-keymap (kbd "M-<right>") 'windmove-right) (define-key user-main-keymap (kbd "<f6>") 'kill-buffer-and-window) ;; Navigate symbols. (define-key user-main-keymap (kbd "C-<right>") 'forward-symbol) (define-key user-main-keymap (kbd "C-<left>") (lambda () (interactive) (forward-symbol -1))) ;; Editing. (define-key user-main-keymap (kbd "M-z") 'zap-up-to-char) ;; Insert unicode character by name. (define-key user-main-keymap (kbd "M-<RET>") 'insert-char) ;; Input methods: Ctrl-F1 .. Ctrl-F5. (define-key user-main-keymap (kbd "<f1>") (lambda () (interactive) (activate-input-method nil))) (define-key user-main-keymap (kbd "<f2>") (lambda () (interactive) (activate-input-method "russian-computer"))) (define-key user-main-keymap (kbd "<f3>") (lambda () (interactive) (activate-input-method "esperanto-postfix"))) ; Should exist somewhere in Emacs 29 while I'm using my local version. (define-key user-main-keymap (kbd "<f4>") (lambda () (interactive) (activate-input-method "cyrillic-chuvash"))) (define-key user-main-keymap (kbd "<f5>") (lambda () (interactive) (activate-input-method "spanish-postfix"))) ;; Spell checking. (define-key user-main-keymap (kbd "C-<f1>") (lambda () (interactive) (ispell-change-dictionary "en_US") (message "Switched dictionary to en_US."))) (define-key user-main-keymap (kbd "C-<f2>") (lambda () (interactive) (ispell-change-dictionary "ru_RU") (message "Switched dictionary to ru_RU."))) (define-key user-main-keymap (kbd "C-<f3>") (lambda () (interactive) (ispell-change-dictionary "eo") (message "Switched dictionary to eo."))) (define-key user-main-keymap (kbd "C-<f4>") (lambda () (interactive) (ispell-change-dictionary "cv_RU") (message "Switched dictionary to cv_RU."))) (define-key user-main-keymap (kbd "C-<f5>") (lambda () (interactive) (ispell-change-dictionary "es_ES") (message "Switched dictionary to es_ES."))) (define-key user-main-keymap (kbd "<f7>") (lambda () (interactive) (flyspell-mode 1))) (define-key user-main-keymap (kbd "C-<f7>") (lambda () (interactive) (flyspell-mode -1))) (define-key user-main-keymap (kbd "<f8>") 'flyspell-check-previous-highlighted-word) ;; Position registers. (define-key user-main-keymap (kbd "<f9>") 'jump-to-register) (define-key user-main-keymap (kbd "C-<f9>") 'point-to-register) (define-key user-main-keymap (kbd "M-<f9>") 'window-configuration-to-register) ;; Dictionary. (define-key user-main-keymap (kbd "C-d") 'dictionary-lookup-definition) ;; Save and close when called from external program. (if (daemonp) (define-key user-main-keymap (kbd "<f12>") 'server-edit)) (define-minor-mode user-main-keys-minor-mode "Minor mode for user keybindings." t " ~K" user-main-keymap) ;; Special characters. (define-key key-translation-map (kbd "s-1") (kbd "¹")) (define-key key-translation-map (kbd "s-2") (kbd "²")) (define-key key-translation-map (kbd "s-3") (kbd "³")) (define-key key-translation-map (kbd "s-4") (kbd "⁴")) (define-key key-translation-map (kbd "s-5") (kbd "⁵")) (define-key key-translation-map (kbd "s-6") (kbd "⁶")) (define-key key-translation-map (kbd "s-7") (kbd "⁷")) (define-key key-translation-map (kbd "s-8") (kbd "⁸")) (define-key key-translation-map (kbd "s-9") (kbd "⁹")) (define-key key-translation-map (kbd "s-0") (kbd "⁰")) (define-key key-translation-map (kbd "s-!") (kbd "₁")) (define-key key-translation-map (kbd "s-@") (kbd "₂")) (define-key key-translation-map (kbd "s-#") (kbd "₃")) (define-key key-translation-map (kbd "s-$") (kbd "₄")) (define-key key-translation-map (kbd "s-%") (kbd "₅")) (define-key key-translation-map (kbd "s-^") (kbd "₆")) (define-key key-translation-map (kbd "s-&") (kbd "₇")) (define-key key-translation-map (kbd "s-*") (kbd "₈")) (define-key key-translation-map (kbd "s-(") (kbd "₉")) (define-key key-translation-map (kbd "s-)") (kbd "₀")) (define-key key-translation-map (kbd "s--") (kbd "—")) ; em dash (define-key key-translation-map (kbd "s-_") (kbd "–")) ; en dash (define-key key-translation-map (kbd "s-/") (kbd "…")) (define-key key-translation-map (kbd "s-a") (kbd "́")) ; combining acute accent (define-key key-translation-map (kbd "s-e") (kbd "€")) (define-key key-translation-map (kbd "s-x") (kbd "×")) ; multiplication (define-key key-translation-map (kbd "s-X") (kbd "⋅")) ; dot operator (define-key key-translation-map (kbd "s-,") (kbd "«")) (define-key key-translation-map (kbd "s-.") (kbd "»")) (define-key key-translation-map (kbd "s-i") (kbd "„")) (define-key key-translation-map (kbd "s-k") (kbd "“")) (define-key key-translation-map (kbd "s-l") (kbd "”")) (define-key key-translation-map (kbd "s-I") (kbd "‚")) (define-key key-translation-map (kbd "s-K") (kbd "‘")) (define-key key-translation-map (kbd "s-L") (kbd "’")) (define-key key-translation-map (kbd "s-;") (kbd "‘")) (define-key key-translation-map (kbd "s-'") (kbd "’")) (define-key key-translation-map (kbd "s-:") (kbd "′")) (define-key key-translation-map (kbd "s-\"") (kbd "″")) (define-key key-translation-map (kbd "s-o") (kbd "ô")) (define-key key-translation-map (kbd "s-O") (kbd "Ô")) (define-key key-translation-map (kbd "s-f") (kbd "‒")) ; figure dash (define-key key-translation-map (kbd "s-m") (kbd "−")) ; minus sign (define-key key-translation-map (kbd "s-=") (kbd "≠")) (define-key key-translation-map (kbd "s-+") (kbd "±")) (define-key key-translation-map (kbd "s-h") (kbd "#")) (define-key key-translation-map (kbd "s-\\") (kbd "|")) (define-key key-translation-map (kbd "s-<SPC>") (kbd " ")) ; no-break space
It should do for now…
Профиль
tennoseremel
Недавние записи
Архив
Избранное
Теги
Памятное
Профиль
Ссылки
Anilist (аниме-лист)
Archive of our own
Bookwyrm
Codeberg (git)
Fediverse
GOG wishlist
Kitsu (аниме-лист)
MAL (аниме-лист)
Pillowfort
Ленты
Популярные теги
vivo
-
143 uses
аниме
-
80 uses
бред
-
102 uses
видео
-
51 uses
жизнь
-
236 uses
игры
-
264 uses
книги
-
136 uses
на эсперанто
-
321 uses
слова
-
56 uses
сны
-
111 uses