2023-03-11 08:59:53 -09:00
|
|
|
|
#+title: Personal working Emacs configuration
|
|
|
|
|
#+toc:nil
|
2022-12-18 20:38:23 -09:00
|
|
|
|
Any introduction would be insufficient.
|
2022-06-19 14:13:36 -08:00
|
|
|
|
|
2022-12-18 20:38:23 -09:00
|
|
|
|
A "literate" configuration would break many things.
|
2022-06-19 14:13:36 -08:00
|
|
|
|
|
2022-12-18 20:38:23 -09:00
|
|
|
|
Thus I will write of random things included here in no particular order, as my
|
|
|
|
|
file organization suggests.
|
2022-06-19 19:16:32 -08:00
|
|
|
|
|
2022-12-20 21:42:13 -09:00
|
|
|
|
-----
|
|
|
|
|
* TODO Integrations
|
2022-12-22 10:49:49 -09:00
|
|
|
|
** Completion
|
|
|
|
|
*** Corfu
|
|
|
|
|
**** clean up orderless
|
|
|
|
|
**** integrate with yasnippets
|
2022-12-24 14:17:09 -09:00
|
|
|
|
** eshell/emacs DWIM
|
|
|
|
|
CONTROL FLOW
|
|
|
|
|
#+begin_quote
|
|
|
|
|
1. Check arguments
|
|
|
|
|
1. No args: run new Emacs instance, separate frame, windowed
|
|
|
|
|
2. existing file names: open each in new buffer (`find-file`?) ?(and window)?
|
|
|
|
|
1. non-existent file names
|
|
|
|
|
1. if name of library, edit that library
|
|
|
|
|
1. otherwise edit new file of that name in default-directory
|
|
|
|
|
3. dash options
|
|
|
|
|
1. =-nw=: open in same window
|
|
|
|
|
2. =--client=: use =emacsclient= instead of =emacs=
|
|
|
|
|
3. Pass rest of options to exe
|
|
|
|
|
#+end_quote
|
2022-12-20 21:42:13 -09:00
|
|
|
|
*** /usr/bin/emacs or emacsclient fallback for options
|
2022-12-24 14:17:09 -09:00
|
|
|
|
*** DONE find-library etc
|
2022-12-20 21:42:13 -09:00
|
|
|
|
** eshell/dat
|
|
|
|
|
*** fix naming and loading
|
|
|
|
|
*** "bcat"
|
|
|
|
|
** org
|
2022-12-22 10:49:49 -09:00
|
|
|
|
*** denote?
|
2022-12-20 21:42:13 -09:00
|
|
|
|
**** Consult-denote
|
|
|
|
|
*** Fix indentation, _appear_, variable-pitch
|
|
|
|
|
*** LAG so much lag how to get rid of lag...
|
2022-12-21 14:42:57 -09:00
|
|
|
|
*** mitch/org-dwim-char
|
|
|
|
|
**** work smarter on heading lines and between words
|
|
|
|
|
**** If at beginning and this-command-key is =*=, just type it once
|
|
|
|
|
*** Face for headlines and nested bullet lists
|
|
|
|
|
** Man
|
|
|
|
|
*** defvaralias error
|
|
|
|
|
*** highlighting? Surely it's possible
|
|
|
|
|
**** if not just render with ~bat~ or html
|
|
|
|
|
** Documentation
|
|
|
|
|
*** datcat
|
|
|
|
|
*** mitch-theme
|
|
|
|
|
*** dconf-mode
|
|
|
|
|
** Linum-relative
|
|
|
|
|
*** Archive fork
|
|
|
|
|
*** write article about why even
|
|
|
|
|
*** propose update to nlinum-relative to remove linum dependency
|
|
|
|
|
** ani-el
|
|
|
|
|
*** Fix it not working
|
|
|
|
|
**** inject redefined functions into copy of script?
|
|
|
|
|
** find-file
|
|
|
|
|
*** Follow symlinks without asking, maybe print message
|
2022-12-22 10:49:49 -09:00
|
|
|
|
** Hyperbole
|
|
|
|
|
*** dragging
|
2022-12-20 21:42:13 -09:00
|
|
|
|
|
2022-12-18 20:38:23 -09:00
|
|
|
|
-----
|
2022-06-19 19:16:32 -08:00
|
|
|
|
|
2022-12-22 10:49:49 -09:00
|
|
|
|
* Packages
|
|
|
|
|
|
2022-12-18 20:38:23 -09:00
|
|
|
|
Everything is in the file =lisp/mitch-packages.el=. There are things in other
|
|
|
|
|
files but they mostly never change - see the commit history.
|
2022-06-19 19:16:32 -08:00
|
|
|
|
|
2022-12-22 10:49:49 -09:00
|
|
|
|
** TRAMP
|
2022-12-18 20:38:23 -09:00
|
|
|
|
Generally, tramp is mostly fine. But if there are problematic configurations, it
|
|
|
|
|
will be very slow and time out and it will hang Emacs. I've had terrible luck
|
|
|
|
|
with it until just today (at the time of writing) and I'm legitimately shocked
|
|
|
|
|
it isn't terrible. Hooray! but also come on.
|
2022-06-19 19:16:32 -08:00
|
|
|
|
|
2022-12-22 10:49:49 -09:00
|
|
|
|
** Evil
|
2022-12-18 20:38:23 -09:00
|
|
|
|
vim keys are indispensable to me. Legit I cannot live without them very
|
|
|
|
|
well. Most all of my evil configuration is very boilerplate, but I'd like to
|
|
|
|
|
think that's fine.
|
2022-11-02 09:39:36 -08:00
|
|
|
|
|
2022-12-18 20:38:23 -09:00
|
|
|
|
VIPER is also a thing built into Emacs. It's probably not that bad, but the
|
|
|
|
|
defaults are very unintuitive compared to evil-collection.
|
|
|
|
|
|
2022-12-22 10:49:49 -09:00
|
|
|
|
** EShell
|
2022-12-18 20:38:23 -09:00
|
|
|
|
I like eshell - it reminds me of the configuration I liked about zsh, and the
|
|
|
|
|
composability I love about powershell.
|
|
|
|
|
|
|
|
|
|
The EAT terminal is also just amazing.
|
|
|
|
|
|
2022-12-22 10:49:49 -09:00
|
|
|
|
** NLinum-relative
|
2022-12-18 20:38:23 -09:00
|
|
|
|
is a thing. It requires nlinum which requires linum which is deprecated. This is
|
|
|
|
|
all for a single face declaration which is VERY UNNECESSARY. Just define it the
|
|
|
|
|
same and force theme authors to add a declaration. or /inherit from the built-in
|
|
|
|
|
display-line-numbers face/.
|
|
|
|
|
|
2022-12-22 10:49:49 -09:00
|
|
|
|
** mitch-theme
|
2022-12-18 20:38:23 -09:00
|
|
|
|
In [[https://git.mitchmarq42.xyz/mitch/vimcolors][a separate repo]] there is a theme I made. It's not a good theme and I'm
|
|
|
|
|
insane. But I can't stand normal themes. By all accounts there is something
|
|
|
|
|
wrong with my eyes. Shut up.
|
|
|
|
|
|
2022-12-22 10:49:49 -09:00
|
|
|
|
** YAscroll
|
2022-12-18 20:38:23 -09:00
|
|
|
|
"yet another scroll" yet there is no other scrollbar. If anyone knows of one,
|
|
|
|
|
tell me.
|
|
|
|
|
|
|
|
|
|
I re-define a display function in my config because I'm using background
|
|
|
|
|
transparency and otherwise it looks all chunky with the face declaration.
|
|
|
|
|
|
2022-12-22 10:49:49 -09:00
|
|
|
|
** Org
|
2022-12-18 20:38:23 -09:00
|
|
|
|
A good idea and usable, but I currently disable most fancy things because it
|
|
|
|
|
gets very slow otherwise. I've ran profilers and debuggers and the problem is
|
|
|
|
|
related to redisplay.
|
|
|
|
|
|
2022-12-22 10:49:49 -09:00
|
|
|
|
** org-tempo
|
2022-12-18 20:38:23 -09:00
|
|
|
|
I want to get rid of this and just use yasnippets, but oh well.
|
|
|
|
|
|
2022-12-22 10:49:49 -09:00
|
|
|
|
** ox-hugo
|
2022-12-18 20:38:23 -09:00
|
|
|
|
I have a function that automatically re-generates all the hugos.
|