Use helper to set LaTeX keymap

master
Jacopo De Simoi 7 years ago
parent cb3a4e8b50
commit bba5aacc0f
  1. 94
      global.org

@ -78,6 +78,12 @@
(mapcar (mapcar
(lambda (binding) (lambda (binding)
(global-set-key (kbd (car binding)) (cdr binding))) binding-alist)) (global-set-key (kbd (car binding)) (cdr binding))) binding-alist))
(defun define-key-alist (keymap binding-alist)
"This function iterates over the binding-alist, which should be an alist of key and binding and sets each binding in the global-key-map"
(mapcar
(lambda (binding)
(define-key keymap (kbd (car binding)) (cdr binding))) binding-alist))
#+END_SRC #+END_SRC
** Cosmetics ** Cosmetics
Prefer a minimal appearance: no menu, toolbar or scroll-bars; no Prefer a minimal appearance: no menu, toolbar or scroll-bars; no
@ -815,70 +821,52 @@
(font-lock-add-keywords 'latex-mode (font-lock-add-keywords 'latex-mode
`((,(rx "$") 0 'font-latex-sedate-face t)) t) `((,(rx "$") 0 'font-latex-sedate-face t)) t)
(define-key LaTeX-mode-map (kbd "M-S-SPC") 'TeX-insert-braces) (define-key-alist LaTeX-mode-map
(define-key LaTeX-mode-map (kbd "C-c C-v") 'wilder/TeX-insert-reference) '(("M-S-SPC" . TeX-insert-braces)
(define-key LaTeX-mode-map (kbd "C-c ESC") 'wilder/TeX-insert-cite) ("C-c C-v" . wilder/TeX-insert-reference)
; (define-key LaTeX-mode-map (kbd "C-c [") 'wilder/TeX-insert-cite) ("C-M-<return>" . wilder/TeX-insert-align-dwim)
(define-key LaTeX-mode-map (kbd "C-c C-w") 'wilder/TeX-insert-cite)
(define-key LaTeX-mode-map (kbd "C-M-<return>") 'wilder/TeX-insert-align-dwim)
;; unbind return - NOTE it is important to unbind ;; unbind return - NOTE it is important to unbind
;; <return> and not RET. If we unbind RET then C-m won't work ;; <return> and not RET. If we unbind RET then C-m won't work
;; either. ;; either.
(define-key LaTeX-mode-map (kbd "<return>") ("<return>" . (lambda() (interactive) (insert "\\")))
(lambda() (interactive) (insert "\\"))) ("S-<return>" . (lambda() (interactive) (insert "|")))
(define-key LaTeX-mode-map (kbd "S-<return>") ("C-c C-." . LaTeX-mark-environment)
(lambda() (interactive) (insert "|"))) ("C-c C-k" . (lambda (r-begin r-end)
(interactive "r")
(define-key LaTeX-mode-map (kbd "C-c C-.") 'LaTeX-mark-environment) (add-delimiter "_{" "}" r-begin r-end)))
#+END_SRC ("C-c C-i" . (lambda (r-begin r-end)
Dealing with bad habits and sub|superscripts. Previous (interactive "r")
bindings were ~M-_~ and ~M-^~ but they turned out to be too (add-delimiter "^{" "}" r-begin r-end)))
typo-prone. ("M-|" . (lambda (r-begin r-end)
#+BEGIN_SRC emacs-lisp (interactive "r")
(define-key LaTeX-mode-map (kbd "M-_") (add-delimiter "|" "|" r-begin r-end)))
(lambda() (interactive) (flash-hline) (message "Use C-c C-k"))) ("M-," . (lambda (r-begin r-end)
(define-key LaTeX-mode-map (kbd "M-^") (interactive "r")
(lambda() (interactive) (flash-hline) (message "Use C-c C-i"))) (add-delimiter ", " ", " r-begin r-end)))
(define-key LaTeX-mode-map (kbd "C-c C-k") ("M-\"" . (lambda (r-begin r-end)
(lambda (r-begin r-end) (interactive "r") (add-delimiter "_{" "}" r-begin r-end))) (interactive "r")
(define-key LaTeX-mode-map (kbd "C-c C-i") (add-delimiter "“" "”" r-begin r-end)))
(lambda (r-begin r-end) (interactive "r") (add-delimiter "^{" "}" r-begin r-end)))
#+END_SRC
#+BEGIN_SRC emacs-lisp
(define-key LaTeX-mode-map (kbd "M-|") (lambda (r-begin r-end) (interactive "r") (add-delimiter "|" "|" r-begin r-end)))
(define-key LaTeX-mode-map (kbd "M-,") (lambda (r-begin r-end) (interactive "r") (add-delimiter ", " ", " r-begin r-end)))
(define-key LaTeX-mode-map (kbd "M-\"") (lambda (r-begin r-end) (interactive "r") (add-delimiter "“" "”" r-begin r-end)))
;; This is the rationale: C-M-SPC starts inline math C-M-RET starts display math ;; This is the rationale: C-M-SPC starts inline math C-M-RET starts display math
(define-key LaTeX-mode-map (kbd "C-M-SPC") (lambda (r-begin r-end) (interactive "r") (add-delimiter "$" "$" r-begin r-end))) ("C-M-SPC" . (lambda (r-begin r-end) (interactive "r") (add-delimiter "$" "$" r-begin r-end)))
(define-key LaTeX-mode-map (kbd "C-c C-d") 'wilder/TeX-insert-todonote) ("C-c C-d" . wilder/TeX-insert-todonote)
("C-M-d" . kill-sexp)
(define-key LaTeX-mode-map (kbd "C-M-d") 'kill-sexp) ("C-M-i" . down-list) ;; -i stands for /in/
(define-key LaTeX-mode-map (kbd "C-M-i") 'down-list) ;; -i stands for /in/ ("C-M-o" . up-list) ;; -o stands for /out/
(define-key LaTeX-mode-map (kbd "C-M-o") 'up-list) ;; -o stands for /out/ ("<f4>" . ( lambda() (interactive) (message "Use C-c C-c")))
("C-c C-c" . ( lambda() (interactive) (compile "/home/jacopods/scripts/latex-mk")) )
(define-key LaTeX-mode-map (kbd "<f4>") (lambda() (interactive) (message "Use C-c C-c"))) ("~" . wilder/TeX-replace-tilde)
(define-key LaTeX-mode-map (kbd "C-c C-c") (lambda() (interactive) (compile "/home/jacopods/scripts/latex-mk")) ) ;; Force moves around to be more “semantic”
("C-v" . forward-paragraph)
("M-v" . backward-paragraph)
("C-S-v" . backward-paragraph)))
(mapcar (lambda (ch) (mapcar (lambda (ch)
(define-key LaTeX-mode-map (kbd ch) 'insert-char-with-padding)) (define-key LaTeX-mode-map (kbd ch) 'insert-char-with-padding))
'("=" "≠" ">" "<" "≥" "≤" "⇒" "∩" "∪" "∨" "∧" "×" "⊂" "⊃")) '("=" "≠" ">" "<" "≥" "≤" "⇒" "∩" "∪" "∨" "∧" "×" "⊂" "⊃"))
(define-key LaTeX-mode-map (kbd "~") 'wilder/TeX-replace-tilde) ))
;; Force moves around to be more “semantic”
(define-key LaTeX-mode-map (kbd "C-v") 'forward-paragraph)
(define-key LaTeX-mode-map (kbd "M-v") 'backward-paragraph)
(define-key LaTeX-mode-map (kbd "C-S-v") 'backward-paragraph)
(define-key LaTeX-mode-map (kbd "<next>") (lambda() (interactive) (message "Command disabled")))
(define-key
LaTeX-mode-map (kbd "<prior>") (lambda() (interactive) (message "Command
disabled"))) ))
#+END_SRC #+END_SRC
*** Require *** Require

Loading…
Cancel
Save