Learning more about emacs

October 29th, 2009
programming, tech
When I first started using emacs, I chose it because I figured I might someday want my editor to be able to to something crazy, and emacs had the best chance of being up for the crazyness. Over the past five years or so, this hasn't actually turned out to be the case: almost everything I've wanted that's at all complex has made more sense as a stand alone program. This meant I'd not even learned how to write new functions for emacs. So today I learned how. Each of these entries is separated by a little bit of code that looks like:
  <a name="2009-10-29"></a><h3>Thursday October 29 2009:</h3>
  <div class="pt">

    <h3></h3>

  </div>
    
I'd been typing this in by hand, but today I decided to automate this. It turns out emacs supports the unix date syntax, so my dates become something like "%Y-%m-%d" and "%A %B %d %Y:". Very handy. The rest is just inserting characters:
  (defun start-news-entry ()
    (interactive)
    (insert (format-time-string
       "  <a name=\"%Y-%m-%d\"></a><h3>%A %B %d %Y:</h3>"))
    (newline)
    (insert "  <div class=\"pt\">")  (newline)  (newline)
    (insert "    <h3></h3>") (newline) (newline) (newline)
    (insert "  </div>") (newline))
    
So now I can just do "M-x start-news-entry" and not delay my urgent news-thoughts with mindless formatting. Yay.

Comment via: facebook

Recent posts on blogs I like:

Against Lyman Stone On Animal Welfare

Demographer Lyman Stone writes:

via Thing of Things March 21, 2025

Product in the age of AI

We’re seeing AI features pop up in every product we use. Slack, Google Drive, etc.

via Home March 18, 2025

How I've run major projects

focus • maintain a detailed plan for victory • run a fast OODA loop • overcommunicate • break off subprojects • have fun • bonus content: my project management starter kit

via benkuhn.net March 16, 2025

more     (via openring)