git clone 'git://'

simplenote2.el MELPA MELPA Stable

(Here is Japanese version)

simplenote2.el is a new version of simplenote.el which assists the interaction with Simplenote. The major improvement points from the original version are


This package requires Emacs 23 or later. Tested on Emacs 23.3 and Emacs 24.3 on Linux.



M-x package-install [RET] simplenote2 [RET]


This package depends on request-deferred. Install it in advance. Then, just download simplenote2.el and put it on a directory anywhere Emacs can find.


Add the following lines to your .emacs.

(require 'simplenote2)
(setq simplenote2-email "")
(setq simplenote2-password "yourpassword")

where the email and password are the ones that you use to login to the Simplenote application. It is also possible to set simplenote2-password to nil. In this case you will be asked for the password when it is required. simplenote2.el keeps a local copy of your notes in a directory defined in the variable simplenote2-directory whose default value is ~/.simplenote2. You can change the value of simplenote2-directory before calling simplenote2-setup. The latter checks for the existence of simplenote2-directory and some necessary sub-directories and creates these if they do not exist.


There are two basic usages for simplenote2.el. It can be used as a browser for your notes (with local caching), or you can synchronize individual notes to the Simplenote application.

Simplenote browser

Give the command M-x simplenote2-browse. If this the first time you will see an almost empty buffer. Click on the [Sync with server] button to download your notes from the Simplenote server. If you have not set the variables simplenote2-email or simplenote2-password you will be asked interactively for their values.

The rest of the interface should be more or less clear. You have the option to create new notes, and edit or delete existing notes. Syncing is not automatic but has to be invoked manually either by clicking the [Sync with sever] button at the top of the Simplenote browser or by M-x simplenote2-sync-notes.

Sync individual notes

The following commands can be used for syncing individual notes.

M-x simplenote2-create-note-from-buffer

This command will create a new note with the contents of the file currently visiting. When the note is successfully created on the server, the file is moved under simplenote2-directory.

Note: The behavior of this command has been changed from the simplenote.el. The function that identifies files by adding buffer local variable to the file is no longer supported.

M-x simplenote2-push-buffer

This command pushes the modificaitions locally added to the note currently visiting, and retreives the modifications on the server. If the file visiting is in “new notes” directory, this command acts as M-x simplenote2-create-note-from-buffer.

M-x simplenote2-pull-buffer

This command just pulls the modifications on the server added to the note currently visiting. When the note is locally modified, you will be asked if you push them to the server. If you answer yes, this command acts as M-x simplenote2-push-buffer, otherwise the modification will be discarded.

New features of simplenote2

Tags support

Tags attached to each note are displayed on the notes list of the browser. You can filter the notes list with specified tags by M-x simplenote2-filter-notes-by-tag. This command interactively asks you the name of tags. You can input multiple tag names until you just input [Enter]. Tag name completion by [Tab] is available. After inputing tags, the only notes which have the either of tags you specified will be displayed. C-u M-x simplenote2-filter-notes-by-tag unsets the filter.

You can also specify the default filter by setting the variable simplenote2-filter-note-tag-list in your .emacs like below.

(setq simplenote2-filter-note-tag-list '("tag1" "tag2" "tag3"))

You can add a tag by M-x simplenote2-add-tag and delete a tag by M-x simplenote2-delete-tag to the note currently visiting. Tag name completion is available in these commands too.

Pinned to top

The notes which have the attribute “Pinned to top” are displayed on the top of the notes list by default.

You can set this attribute by M-x simplenote2-set-pinned to the note currently visiting. C-u M-x simplenote2-set-pinned unset the attribute.

Markdown formatted

When you edit the notes which have the attribute “Markdown formatted”, the file is opened with the major mode specified by the customize variable simplenote2-markdown-notes-mode whose default value is text-mode. If you want to use markdown-mode for example, install markdown-mode.el and set this variable to markdown-mode.

You can set this attribute by M-x simplenote2-set-markdown to the note currently visiting. C-u M-x simplenote2-set-markdown unset the attribute.

Add tags or attributes to new notes

You can set tags or attributes to new notes by default using customize variable simplenote2-create-note-hook as below.

(add-hook 'simplenote2-create-note-hook
      (lambda ()
        (simplenote2-add-tag "tag1")))

Minor mode for simplenote note buffer

When you open simplenote note from Simplenote browser, minor mode simplenote2-note-mode is applied to the buffer. This minor mode doesn't do anything by default, but it can be used for key bindings or something like below.

(add-hook 'simplenote2-note-mode-hook
          (lambda ()
            (local-set-key (kbd "C-c C-t") 'simplenote2-add-tag)
            (local-set-key (kbd "C-c C-c") 'simplenote2-push-buffer)
            (local-set-key (kbd "C-c C-d") 'simplenote2-pull-buffer)))


version 2.2.2 (2015-04-05)

version 2.2.1 (2015-03-17)

version 2.2.0 (2015-03-04)

version 2.1.1 (2015-02-25)

version 2.1.0 (2015-02-22)

version 2.0.0 (2015-02-16)