Hacker News new | ask | show | jobs
by afefers 1330 days ago
Thank you! Just converted it to Emacs Lisp:

  (defun new-note ()
    (interactive)
    (insert "----------------\n")
    (insert (shell-command-to-string "echo -n $(date \"+%Y-%m-%d %T\")"))
    (insert "\n"))
  
  (global-set-key (kbd "C-M-n") #'new-note)

And to invoke it from the shell:

  emacs --function new-note --file notes.txt

If somebody knows a better or more elegant way to do this, please tell me!
3 comments

Thanks for this!

I had to set keybinding to C-c C-n because I got unmatched parentheses error with C-M-n.

I've been slowly moving to emacs since this summer and got to where I like it better than Vim. I was "forced" to learn it as I am learning Lisp (started with Clojure but moved to Common Lisp).

The +999999 bit in my own script automatically goes to the end of the file. There's probably a cleaner way, but that works fine.

I'm not sure if your setup does that.

It's the minor creature comforts that really matter sometimes.

i guess with yasnippet something like this, but may need a more to open your note file and expand the snippet (with yas-expand) at the top of the file.

  # -*- mode: snippet -*-
  # name: note
  # key: note
  # --
  ----------------
  `(format-time-string "%Y-%m-%d %T")`

    $1