2023-08-23 22:03:29 +02:00
|
|
|
;; Switch buffers reliably in the face of spurious renames.
|
|
|
|
(global-set-key (kbd "C-x b") #'reliably-switch-buffer)
|
|
|
|
|
2013-07-08 16:54:54 +02:00
|
|
|
;; Font size
|
2019-12-17 18:30:52 +01:00
|
|
|
(define-key global-map (kbd "C-=") 'increase-default-text-scale) ;; '=' because there lies '+'
|
|
|
|
(define-key global-map (kbd "C--") 'decrease-default-text-scale)
|
|
|
|
(define-key global-map (kbd "C-x C-0") 'set-default-text-scale)
|
2013-07-08 16:54:54 +02:00
|
|
|
|
2019-12-14 16:59:20 +01:00
|
|
|
;; What does <tab> do? Well, it depends ...
|
|
|
|
(define-key prog-mode-map (kbd "<tab>") #'company-indent-or-complete-common)
|
2013-07-08 16:54:54 +02:00
|
|
|
|
2018-02-22 23:25:57 +01:00
|
|
|
;; imenu instead of insert-file
|
|
|
|
(global-set-key (kbd "C-x i") 'imenu)
|
|
|
|
|
2013-07-08 16:54:54 +02:00
|
|
|
;; Window switching. (C-x o goes to the next window)
|
|
|
|
(windmove-default-keybindings) ;; Shift+direction
|
|
|
|
|
|
|
|
;; Start eshell or switch to it if it's active.
|
|
|
|
(global-set-key (kbd "C-x m") 'eshell)
|
|
|
|
|
2015-03-11 14:42:58 +01:00
|
|
|
(global-set-key (kbd "M-g M-g") 'goto-line-with-feedback)
|
|
|
|
|
2019-12-14 16:59:20 +01:00
|
|
|
;; Miscellaneous editing commands
|
2015-03-11 14:42:58 +01:00
|
|
|
(global-set-key (kbd "C-c w") 'whitespace-cleanup)
|
2018-03-09 11:09:45 +01:00
|
|
|
(global-set-key (kbd "C-c a") 'align-regexp)
|
2019-12-15 18:09:52 +01:00
|
|
|
(global-set-key (kbd "C-c m") 'mc/mark-dwim)
|
2018-03-09 11:09:45 +01:00
|
|
|
|
2023-08-26 15:22:08 +02:00
|
|
|
;; Browse URLs (very useful for Gerrit's push output, etc!)
|
2018-03-09 11:09:45 +01:00
|
|
|
(global-set-key (kbd "C-c b p") 'browse-url-at-point)
|
|
|
|
(global-set-key (kbd "C-c b b") 'browse-url)
|
2013-08-07 00:49:20 +02:00
|
|
|
|
2019-12-14 16:59:20 +01:00
|
|
|
;; C-x REALLY QUIT (idea by @magnars)
|
2013-08-07 00:49:20 +02:00
|
|
|
(global-set-key (kbd "C-x r q") 'save-buffers-kill-terminal)
|
2019-12-17 01:45:30 +01:00
|
|
|
(global-set-key (kbd "C-x C-c") 'ignore)
|
2013-08-07 00:49:20 +02:00
|
|
|
|
2018-03-30 12:16:00 +02:00
|
|
|
;; Open a file in project:
|
|
|
|
(global-set-key (kbd "C-c f") 'project-find-file)
|
|
|
|
|
2020-08-24 01:42:50 +02:00
|
|
|
;; Open a file via magit:
|
|
|
|
(global-set-key (kbd "C-c C-f") #'magit-find-file-worktree)
|
|
|
|
|
2019-12-17 13:03:57 +01:00
|
|
|
;; Insert TODO comments
|
|
|
|
(global-set-key (kbd "C-c t") 'insert-todo-comment)
|
|
|
|
|
2021-11-10 13:25:39 +01:00
|
|
|
;; Open the depot
|
|
|
|
(global-set-key (kbd "s-s d") #'tvl-depot-status)
|
|
|
|
|
2023-08-04 18:31:45 +02:00
|
|
|
;; Open any project through zoxide
|
|
|
|
(global-set-key (kbd "s-s r") #'zoxide-open-project)
|
2021-12-20 09:49:23 +01:00
|
|
|
|
2020-04-02 02:35:16 +02:00
|
|
|
;; Add subthread collapsing to notmuch-show.
|
|
|
|
;;
|
|
|
|
;; C-, closes a thread, C-. opens a thread. This mirrors stepping
|
|
|
|
;; in/out of definitions.
|
|
|
|
(define-key notmuch-show-mode-map (kbd "C-,") 'notmuch-show-open-or-close-subthread)
|
|
|
|
(define-key notmuch-show-mode-map (kbd "C-.")
|
|
|
|
(lambda ()
|
|
|
|
(interactive)
|
|
|
|
(notmuch-show-open-or-close-subthread t))) ;; open
|
|
|
|
|
2022-09-11 22:08:03 +02:00
|
|
|
;; Get rid of the annoying `save-some-buffers' shortcut which I
|
|
|
|
;; *NEVER* use intentionally.
|
|
|
|
(unbind-key (kbd "C-x s") 'global-map)
|
|
|
|
|
2022-11-27 13:20:12 +01:00
|
|
|
;; German keyboard layout with Y and Z in the correct place.
|
|
|
|
|
|
|
|
(quail-define-package
|
|
|
|
"german-qwerty" "German" "DE@" t
|
|
|
|
"German (Deutsch) input method with QWERTY keys"
|
|
|
|
nil t t t t nil nil nil nil nil t)
|
|
|
|
|
|
|
|
;; 1! 2" 3§ 4$ 5% 6& 7/ 8( 9) 0= ß? [{ ]}
|
|
|
|
;; qQ wW eE rR tT yY uU iI oO pP üÜ +*
|
|
|
|
;; aA sS dD fF gG hH jJ kK lL öÖ äÄ #^
|
|
|
|
;; zZ xX cC vV bB nN mM ,; .: -_
|
|
|
|
|
|
|
|
(quail-define-rules
|
|
|
|
("-" ?ß)
|
|
|
|
("=" ?\[)
|
|
|
|
("`" ?\])
|
|
|
|
("[" ?ü)
|
|
|
|
("]" ?+)
|
|
|
|
(";" ?ö)
|
|
|
|
("'" ?ä)
|
|
|
|
("\\" ?#)
|
|
|
|
("/" ?-)
|
|
|
|
|
|
|
|
("@" ?\")
|
|
|
|
("#" ?§)
|
|
|
|
("^" ?&)
|
|
|
|
("&" ?/)
|
|
|
|
("*" ?\()
|
|
|
|
("(" ?\))
|
|
|
|
(")" ?=)
|
|
|
|
("_" ??)
|
|
|
|
("+" ?{)
|
|
|
|
("~" ?})
|
|
|
|
("{" ?Ü)
|
|
|
|
("}" ?*)
|
|
|
|
(":" ?Ö)
|
|
|
|
("\"" ?Ä)
|
|
|
|
("|" ?^)
|
|
|
|
("<" ?\;)
|
|
|
|
(">" ?:)
|
|
|
|
("?" ?_))
|
|
|
|
|
2014-10-21 19:37:19 +02:00
|
|
|
(provide 'bindings)
|