VI is the second editor that I learned. The six commands that I use in it will always be dear to me. Twenty-five years have passed, I still use the same six commands. The landscape has changed a lot though: VIM has taken VI into the stratosphere.
SyntaxHighlighter Evolved supports a lot of languages. It would be impossible to support all of them. Fortunately many languages are similar enough to ones already supported by it. For example Common Lisp (not supported) is similar enough to Clojure (supported). Therefore you can alias Common Lisp to use Clojure’s formatter.
The only time that I call
beginning-of-buffer is when I want to visit the file header, which isn’t very often. The rest of the time I only want to go up to where the code begins, or at least close to it. That is the logical beginning of the buffer. Another example is going to the beginning of a
magit-status invoked buffer: I’ve never use the first first 3 lines of it. The logical start of it is the Untracked file listing. The Beginend package moves your cursor to the the logical beginning of the buffer content. It also implements a logical
end-of-buffer. It might not sound like much, but it bumps up your user experience by more than a few notches: it makes the modes do what many of us are thinking and that is the ultimate feel good experience. Here is an example:
Check out what Emacs was was doing in 1993—it took years and years and years before anything like this got mainstream.
Disclaimer: it isn’t just Emacs but Emacs plays a critical component.
HELP is the culmination of everything that I’ve learned about literate programming (LP) in Org-Mode—written with the intent to share it with others in total and complete respect and consideration of you and the value of your time. No platitude here: time is precious.
With that in mind here is a breakdown of the sections you might be interested in (and should ignore):
I love reading all kinds of Emacs configuration files ranging for super refined to just starting out. For example caisah has a list of loads of stellar examples. However the only way to get added to that list is for your configuration to be notable. That is a pretty high bar for people just starting out. New people also usually have the freshest ideas though and they challenge the status quo of what we currently consider “the best”. All of those perspectives are valuable so I wanted to create a simple list that can include all of them.
In regards to writing and publishing literature (mostly articles, books, essays, and dissertations) there is a lot of discussion about choosing the right (software) tools for the job. And for good reason—literary endeavors are mentally laborious difficult work. As anybody would expect the software should help you a lot. At best you only want to worry about choosing the right software to help you write.
Yet the sad and all too common reality is that you are really worried about choosing the software that is the least-worst painful impediment to your creative process. Discussions that praise particular tools are pretty difficult to take any value from until you’ve suffered greatly at the hands of the tools deemed inferior by them. When people are suffering that is the worst time to get their feedback. First get them better, then find out what works and what doesn’t.
This post is what I’ve got to share with you, when I am feeling pretty great about life, and have something good to share about the topic, in regards to \(\LaTeX\) and Org-Mode.
If you are considering using \(\LaTeX\) and Org-Mode for some reason then please read on:
My old Magit setup left a bunch of buffers around that I didn’t need anymore. Here is the posted solution to close them automatically:
(defun help/magit-kill-buffers () "Restore window configuration and kill all Magit buffers. Attribution: URL `https://manuel-uberti.github.io/emacs/2018/02/17/magit-bury-buffer/'" (interactive) (let ((buffers (magit-mode-get-buffers))) (magit-restore-window-configuration) (mapc #'kill-buffer buffers))) (bind-key "q" #'help/magit-kill-buffers magit-status-mode-map)
I can never remember what parameters I want for
ls so I made an alias for it. I still couldn’t remember them so I copy and pasted the documentation into a literate document and tangle that into a function to do what I want:
When I can’t figure out how to write a function to do what I want then I record a macro of what I want to do and then “decompile” it to Elisp using elmacro. This is a super-power package if you want to figure out how something works.