X-Git-Url: https://git.shemshak.org/~bandali/configs/blobdiff_plain/34fc3c29aacc20e306d8235e10a6437fb1f221ef..12f3e4b8d79650fed11279051e0ec951fc500c02:/init.org?ds=sidebyside diff --git a/init.org b/init.org index 7b4a1a9..1c69169 100644 --- a/init.org +++ b/init.org @@ -327,8 +327,11 @@ it it's own file. While at it, treat themes as safe. ** Secrets file +Load the secrets file if it exists, otherwise show a warning. + #+begin_src emacs-lisp -(load (no-littering-expand-etc-file-name "secrets")) +(with-demoted-errors + (load (no-littering-expand-etc-file-name "secrets"))) #+end_src ** Better =$PATH= handling @@ -725,6 +728,7 @@ customizing it. ;; custom mode state mappings (dolist (mspair '((ebdb-mode . emacs) + (term-mode . emacs) (helpful-mode . motion) (view-mode . motion))) (evil-set-initial-state (car mspair) (cdr mspair))) @@ -794,6 +798,8 @@ customizing it. "a" '(:ignore t :wk "apps") "a i" 'ielm + "a s" '(:ignore t :wk "shells/terms") + "b" '(:ignore t :wk "buffers") "b k" 'kill-this-buffer "b s" 'save-buffer @@ -1259,7 +1265,8 @@ TODO: break this giant source block down into individual org sections. :config (column-number-mode)) (progn ; `text-mode' - (add-hook 'text-mode-hook #'indicate-buffer-boundaries-left)) + (add-hook 'text-mode-hook #'indicate-buffer-boundaries-left) + (add-hook 'text-mode-hook #'abbrev-mode)) (use-package tramp :defer t @@ -1836,7 +1843,7 @@ Emacs package that displays available keybindings in popup #+begin_src emacs-lisp (use-package shell-toggle :after eshell - :general (amin--leader-keys "a s" 'amin/shell-toggle) + :general (amin--leader-keys "a s e" 'amin/shell-toggle) :bind ("C-c e" . amin/shell-toggle) :config (defun amin/shell-toggle (make-cd) @@ -2107,6 +2114,40 @@ For when I /have to/ use GH. :after eshell) #+end_src +** multi-term + +#+begin_src emacs-lisp +(use-package multi-term + :defer 1 + :general (amin--leader-keys + "a s m" 'multi-term + "a s p" 'multi-term-dedicated-toggle) + :bind ("C-c C-j" . term-line-mode) + :config + (setq multi-term-program "/bin/screen" + ;; TODO: add separate bindings for connecting to existing + ;; session vs. always creating a new one + multi-term-dedicated-select-after-open-p t + multi-term-dedicated-window-height 20 + multi-term-dedicated-max-window-height 30 + term-bind-key-alist + '(("C-c C-c" . term-interrupt-subjob) + ("C-c C-e" . term-send-esc) + ("C-k" . kill-line) + ("C-y" . term-paste) + ("M-f" . term-send-forward-word) + ("M-b" . term-send-backward-word) + ("M-p" . term-send-up) + ("M-n" . term-send-down) + ("" . term-send-backward-kill-word) + ("" . term-send-backward-kill-word) + ("M-d" . term-send-delete-word) + ("M-," . term-send-raw) + ("M-." . comint-dynamic-complete)) + term-unbind-key-alist + '("C-z" "C-x" "C-c" "C-h" "C-y" ""))) +#+end_src + * Email #+begin_src emacs-lisp @@ -2279,8 +2320,8 @@ For when I /have to/ use GH. :hook (;; (message-setup . mml-secure-message-sign-pgpmime) (message-mode . flyspell-mode) (message-mode . (lambda () - (setq fill-column 65 - message-fill-column 65) + ;; (setq fill-column 65 + ;; message-fill-column 65) (make-local-variable 'company-idle-delay) (setq company-idle-delay 0.2)))) ;; :custom-face