summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.org136
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.