emacs: pdf-tools: convenient history bindings, more gentle resizing
[~bandali/configs] / .emacs.d / init.el
index 08af872..c723488 100644 (file)
@@ -425,6 +425,7 @@ For disabling the behaviour for certain buffers and/or modes."
  ("C-c a i" . ielm)
 
  ("C-c e b" . eval-buffer)
+ ("C-c e e" . eval-last-sexp)
  ("C-c e r" . eval-region)
 
  ("C-c e i" . emacs-init-time)
@@ -440,6 +441,8 @@ For disabling the behaviour for certain buffers and/or modes."
 
  ("C-x k"   . kill-this-buffer)
  ("C-x K"   . kill-buffer)
+ ("C-x s"   . save-buffer)
+ ("C-x S"   . save-some-buffers)
 
  :map emacs-lisp-mode-map
  ("<C-return>" . b/add-elisp-section))
@@ -559,15 +562,19 @@ For disabling the behaviour for certain buffers and/or modes."
 ;; *the* right way to do git
 (use-package magit
   :defer 0.5
-  :bind (("C-x g g" . magit-status)
-         ("C-x g s" . magit-status)
-         ("C-x g b" . magit-blame-addition)
-         ("C-x g l" . magit-log-buffer-file))
+  :bind (("C-x g"   . magit-status)
+         ("C-c g g" . magit-status)
+         ("C-c g b" . magit-blame-addition)
+         ("C-c g l" . magit-log-buffer-file))
   :config
   (magit-add-section-hook 'magit-status-sections-hook
                           'magit-insert-modules
                           'magit-insert-stashes
                           'append)
+  ;; (magit-add-section-hook 'magit-status-sections-hook
+  ;;                         'magit-insert-ignored-files
+  ;;                         'magit-insert-untracked-files
+  ;;                         'append)
   (setq magit-repository-directories '(("~/" . 0)
                                        ("~/src/git/" . 1)))
   (nconc magit-section-initial-visibility-alist
@@ -1177,7 +1184,10 @@ This function is intended for use with `ivy-ignore-buffers'."
   :config
   (cl-delete-if
    (lambda (p) (string-match "^---?" (car p)))
-   tex--prettify-symbols-alist))
+   tex--prettify-symbols-alist)
+  :hook ((tex-mode . auto-fill-mode)
+         (tex-mode . flyspell-mode)
+         (tex-mode . (lambda () (electric-indent-local-mode -1)))))
 
 \f
 ;;; Theme
@@ -1258,6 +1268,7 @@ This function is intended for use with `ivy-ignore-buffers'."
     "C-c e"   "eval"
     "C-c f"   "files"
     "C-c F"   "frames"
+    "C-c g"   "magit"
     "C-S-h"   "help(ful)"
     "C-c m"   "multiple-cursors"
     "C-c P"   "projectile"
@@ -1267,7 +1278,7 @@ This function is intended for use with `ivy-ignore-buffers'."
     "C-c q"   "boxquote"
     "C-c t"   "themes"
     ;; "s-O"     "outline"
-    "C-x g"   "magit")
+    )
 
   ;; prefixes for major modes
   (which-key-add-major-mode-key-based-replacements 'message-mode
@@ -1288,8 +1299,7 @@ This function is intended for use with `ivy-ignore-buffers'."
 
 (use-package crux            ; results in Waiting for git... [2 times]
   :defer 0.4
-  :bind (("C-c b k" . crux-kill-other-buffers)
-         ("C-c d"   . crux-duplicate-current-line-or-region)
+  :bind (("C-c d"   . crux-duplicate-current-line-or-region)
          ("C-c D"   . crux-duplicate-and-comment-current-line-or-region)
          ("C-c f c" . crux-copy-file-preserve-attributes)
          ("C-c f d" . crux-delete-file-and-buffer)
@@ -1394,7 +1404,8 @@ This function is intended for use with `ivy-ignore-buffers'."
   :delight " typo"
   :config
   (typo-global-mode 1)
-  :hook ((text-mode erc-mode) . typo-mode))
+  :hook (((text-mode erc-mode) . typo-mode)
+         (tex-mode             . (lambda ()(typo-mode -1)))))
 
 ;; highlight TODOs in buffers
 (use-package hl-todo
@@ -1512,6 +1523,16 @@ This function is intended for use with `ivy-ignore-buffers'."
   (add-to-list 'yas-snippet-dirs "~/src/git/guix/etc/snippets" t)
   (yas-reload-all)
   (setq yas-verbosity yas-verbosity-cur)
+
+  (defun b/yas--maybe-expand-key-filter (cmd)
+    (when (and (yas--maybe-expand-key-filter cmd)
+               (not (bound-and-true-p git-commit-mode)))
+      cmd))
+  (defconst b/yas-maybe-expand
+    '(menu-item "" yas-expand :filter b/yas--maybe-expand-key-filter))
+  (define-key yas-minor-mode-map
+    (kbd "SPC") b/yas-maybe-expand)
+
   (yas-global-mode))
 
 (use-package debbugs)
@@ -1567,8 +1588,11 @@ This function is intended for use with `ivy-ignore-buffers'."
 (use-package pdf-tools
   :defer 0.5
   :bind (:map pdf-view-mode-map
-              ("M-RET" . image-previous-line))
-  :config (pdf-tools-install nil t))
+              ("<XF86Back>"    . pdf-history-backward)
+              ("<XF86Forward>" . pdf-history-forward)
+              ("M-RET"         . image-previous-line))
+  :config (pdf-tools-install nil t)
+  :custom (pdf-view-resize-factor 1.05))
 
 (use-package biblio)