diff options
Diffstat (limited to 'config.org')
-rw-r--r-- | config.org | 136 |
1 files changed, 93 insertions, 43 deletions
diff --git a/config.org b/config.org index c7d2e36..5440b11 100644 --- a/config.org +++ b/config.org @@ -1316,6 +1316,99 @@ The former means that when given a list of choices, we can use single character (setopt help-at-pt-display-when-idle t) #+end_src +This behaviour changes how we visit symlinks. + +#+begin_src elisp + (setopt find-file-visit-truename t) + (setopt vc-follow-symlinks 'ask) +#+end_src + +Use ibuffer instead of list-buffers + +#+begin_src elisp + (global-set-key [remap list-buffers] 'ibuffer) +#+end_src + +Some settings for nicer completion with the default emacs completion buffer. I don't use this, because i use vertico. + +#+begin_src elisp + (setopt completion-auto-help 'lazy + completion-auto-select 'second-tab + completion-show-help nil + completions-sort nil + completions-header-format nil) +#+end_src + +Some tramp settings. + +#+begin_src elisp + (setopt remote-file-name-inhibit-locks t) + (setopt tramp-inline-compress-start-size 1000) + (setopt tramp-verbose 3) + ;; (add-to-list 'tramp-remote-path 'tramp-own-remote-path) +#+end_src + +The version control system will try each of these methods in order. Because almost everything source controlled i do uses git, i put it first in the list. But at the moment, because i don't think i actually use any of the other methods, i remove the rest of them from the list. + +#+begin_src elisp + (setopt vc-handled-backends '(Git)) + ;; (setopt vc-handled-backends '(Git RCS CVS SVN SCCS SRC Bzr Hg)) +#+end_src + + It seems that tramp can also be made faster with these .ssh/config settings. + +#+begin_src text :tangle no + Host * + ControlMaster auto + ControlPath ~/.ssh/master-%h:%p + ControlPersist 10m + ForwardAgent yes + ServerAliveInterval 60 +#+end_src + +#+begin_src elisp +(global-set-key (kbd "M-z") 'zap-up-to-char) +#+end_src + +#+begin_src elisp + (package-ensure '(markdown-mode + :url "https://github.com/jrblevin/markdown-mode.git")) + (add-to-list 'auto-mode-alist + '("\\.\\(?:md\\|markdown\\|mkd\\|mdown\\|mkdn\\|mdwn\\)\\'" . markdown-mode)) + +#+end_src + +#+begin_src elisp + (package-ensure '(valign + :url "https://github.com/casouri/valign.git")) + (add-hook 'markdown-mode-hook #'valign-mode) + (add-hook 'org-mode-hook #'valign-mode) + + (setopt valign-fancy-bar t) + (setopt valign-max-table-size 0) +#+end_src + +This is my own version of fixed-pitch, which has some changes to it. No hooks are added by default. Updating the whitelist automatically applies the hooks. And there is no functionality for changing the cursor type. + +#+begin_src elisp + (use-package fixed-pitch) + (setopt fixed-pitch-whitelist-hooks '(calendar-mode-hook + dired-mode-hook + ibuffer-mode-hook + magit-mode-hook + profiler-report-mode-hook + jabber-roster-mode-hook + mu4e-headers-mode-hook)) +#+end_src + +While we're at it, ensure that transients look nice with a variable pitch font. + +#+begin_src elisp +(setopt transient-align-variable-pitch t) +#+end_src + + + ** Search in buffer Isearch is good, but it has some rough edges. The easiest way forward was just to use ctrlf, which fixes most of them. But i still had some gripes with ctrlf, like that it doesn't play well with a lot of other commands and packages and the general ecosystem built around isearch. So i've tried to fix as many of the issues as i can while keeping real isearch. @@ -1372,49 +1465,6 @@ Undo is on C-/ and redo is on C-S-/. It's not standard, but these bindings are (setopt undo-no-redo t) #+end_src -** More miscellaneous - -#+begin_src elisp -(global-set-key (kbd "M-z") 'zap-up-to-char) -#+end_src - -#+begin_src elisp - (package-ensure '(markdown-mode - :url "https://github.com/jrblevin/markdown-mode.git")) - (add-to-list 'auto-mode-alist - '("\\.\\(?:md\\|markdown\\|mkd\\|mdown\\|mkdn\\|mdwn\\)\\'" . markdown-mode)) - -#+end_src - -#+begin_src elisp - (package-ensure '(valign - :url "https://github.com/casouri/valign.git")) - (add-hook 'markdown-mode-hook #'valign-mode) - (add-hook 'org-mode-hook #'valign-mode) - - (setopt valign-fancy-bar t) - (setopt valign-max-table-size 0) -#+end_src - -This is my own version of fixed-pitch, which has some changes to it. No hooks are added by default. Updating the whitelist automatically applies the hooks. And there is no functionality for changing the cursor type. - -#+begin_src elisp -(use-package fixed-pitch) -(setopt fixed-pitch-whitelist-hooks '(calendar-mode-hook - dired-mode-hook - ibuffer-mode-hook - magit-mode-hook - profiler-report-mode-hook - jabber-roster-mode-hook - mu4e-headers-mode-hook)) - #+end_src - -While we're at it, ensure that transients look nice with a variable pitch font. - -#+begin_src elisp -(setopt transient-align-variable-pitch t) -#+end_src - ** Fonts My current favourite font is sn pro, which feels like comic sans for grown ups. It's friendly but consistent and well thought out. However, it's also a proportional font, which obviously is the right way to do things, but emacs is very old and comes from a time before the innovation of legibility. As a result, there are some things that require a monospaced font, so i set one here. I chose go mono for two reasons: the first is because i think it looks really nice; the second is because it has serifs and is very visually distinct from sn pro, so i can notice and shame those buffers which require a fixed width font to operate properly. |