Of course it does.
Nice lightweight example of the difference between a document’s definition on the storage media (file-system) and its presentation to the user. Not to lean too hard on this, but if you grok what is happening here then you will enjoy Emacs a lot more.
Via here.
Tag: Lisp
How to handle the enter key while inside of comment blocks
This post reveals a nice function comment-indent-new-line
which gives you the
right kind of indentation for block comments. That got me wondering if my
enter
key-binding should do different things depending upon whether or not the
cursor is inside of a comment block or not. Specifically, if it is, then call
the aforementioned function, else call the normal binding. This seems that it
might be an improvement
This post explains how to check if the cursor is inside of a comment block:
(nth 4 (syntax-ppss))
It is not nil when the point (cursor) is inside of a comment block.
Great to know.
I decided not to make this change yet, but, I wanted to capture how, here.
The Lenticular Text Style of Literate Programming
This announcement is pretty exciting because it reveals a new-to-me take on literate programming. The style is to store a single file as a source, and render disparate parts of that file in different buffers in a mode correct for the content.
For example you may have an Emacs Lisp file serve as the source and two separate buffers, one Emacs Lisp and one Organization (Mode), to work on the content, with all of the mode-specific assistance.
Is it a new idea? It is new to me and I am curious to find out about other approaches people have taken to realize this style.
The Emacs Widget Library
Probably Try to Avoid local-set-key
When I first learned how to set up Emacs, I really liked local-set-key
because you didn’t have to know about the keymap for the mode you just had to make the call in that mode’s hook. That is simple and makes total sense. That has worked well for me for years until two things happened:
- Wanted to use prefix commands
- Re-started using Windows again on a daily basis
The former is part of the natural expansion of use and its refinement. The latter is similar, but specific to running Emacs on Windows.
The last time that I ran Emacs on Windows I did not use the Super key. Then I went off into the wilderness and use it a lot only to return and find that Windows owns lot of my keybindings. Not only were they owned, but they would not let go of them no matter how I tried! Because if this major inconvenience, I’ve got no reasonable choice other than refactoring some of my perfect bindings into something, ahem, better.
This refactoring would have been pretty easy if I’d jus done normal keybindings against keymaps, but I didn’t, I used local-set-key
. So this becomes a good learning opportunity about the key-map names and additionally how, at least for myself, this is generally a bad approach because makes re-factoring harder.
The good thing is that at least up front there is a good time savings, I suppose.
All Emacs Users Should Probably Run auto-compile
Pose the question “Is there ever a time when Emacs users should be running out-of-date bytecode instead of the up-to-date bytecode or lisp?” to yourself.
All Emacs users should probably run auto-compile.
Using Eshell for su and Remembering Your Password
Eshell can be used for su
and will quite happily remember your password according to this answer.
Expanding and Using Abbreviations in Emacs
A defined abbrev is a word which expands, if you insert it, into some different text.
They are really simple and really helpful if you like this kind of thing. If you grew up hacking on Java, then you surely already use this in IntelliJ IDEA!
Here is a nice post on how to choose and define abbrevs based upon actual usage.
Using Units in Calc with Emacs
Calc is an advanced desk calculator and mathematical tool written by Dave Gillespie that runs as part of the GNU Emacs environment.
One special interpretation of algebraic formulas is as numbers with units. For example, the formula
5 m / s^2
can be read “five meters per second squared.”
Of course it can!
emacs-refactor: A Generic Refactoring Tool for Emacs
Emacs Refactor (EMR) provides language-specific refactoring support for Emacs. It has a simple declarative interface for easy extension.