Skip to content

Some critical shortcuts

Jeffrey Benjamin Brown edited this page Jun 23, 2017 · 19 revisions

(Note to authors: Edit this document not in the wiki, but rather in the graph, at :JwGnhoHw23PfCIyp:.)

This document aspires to stay brief while explaining everything necessary to use Semantic Synchrony . The howto provides more detail.

Reading the screen

Most of the time, probably, you will be "visiting" a note in the "forward view". To do this is to view its title in the title bar and its content, which consists of other notes, in the buffer.

Each line of the buffer lists a note's title. The two numbers on the right count "backward branches" (the number of notes to which that note belongs) and "forward branches" (the number which belong to it). A backward branch count is highlighted in yellow if greater than 1. Notes with markdown content carry a purple flag. Notes with markdown content and forward-branches carry a red flag.

The backward view is similar, but rather than listing notes belonging to the visited note, the buffer lists notes to which the visited note belongs.

SmSn edit-submode, SmSn move-submode, and built-in Emacs commands

C-c m: Toggle smsn-mode between edit-submode (the default) and move-submode.

Some commands are not always available.

Shortcuts that begin with C-c are only available in smsn-mode. Other shortcuts that start with C- or M- are built into Emacs. Every command normally available in Emacs is available when Emacs is in smsn-mode. Move-submode, which is part of smsn-mode, offers some commands that don't require a modifier key. For instance, when in move-submode, you can press b to see a backward-view -- handy, but it means the letter b is not available for ordinary text entry.

When you switch to move-submode, a message says so in the minibuffer, and the cursor becomes green. (Unless you're using smsn in the emacs-smsn docker bundle, in which case the cursor cannot change color.)

Moving the cursor

i,j,k,l: move cursor one space up, left, down, right

For speed, these shortcuts free you from having to move your hand between the letters and the arrow keys.

To move by many spaces instead of one, use a capital letter instead of a lowercase one.

O: move cursor to the other window, if there is one

Choosing something to view

n: visit the note where the cursor is, closing the current buffer

t: visit the note where the cursor is, leaving the current buffer open

o: open the note "at point" (under the cursor) in another window.

C-c s: Search for text.

The search uses Lucene syntax. Examples of valid searches include cat, cat* (words that start with "cat"), cats OR dogs, cats AND dogs, (cats OR dogs) AND "ironic contemplation", ...

C-c h: View this session's history of notes visited

q: Close this buffer.

Changing the view

f: forward-view

Show the notes which the visited note links to.

b: backward-view

Show the notes which link to the visited note.

h [height]: set view height

height can be a number from 1 to 7.

This shortcut is only available from forward-view and backward-view.

C-c u: Pull from the graph to the view ("update" or "refresh" the view)

You could reasonably call this "reload". It's nice to have because your edits from a different buffer can change the things in this one.

Changing the data ("editing")

To edit a note's title (its text), just change the text where you see it. Just be sure not to edit the note's leading bullet, or the space immediately after that bullet, because some hidden characters in that space encode the note's ID. The ID is a random-looking string like ":Y2rcZ4zKAoCBRfBw:".

C-c n: Create and visit a new note.

The new note will be (initially) titled "life, the universe, and everything". "Visiting" it means viewing a buffer containing the (currently empty, because it was just created) list of notes that it links to.

Ordinary typing: Link the visited note to a new note.

Create a new note in a list of notes by simply typing what looks like another one. (This can only be done from the forward view.)

It must start with a bullet -- a single non-whitespace character, followed by some whitespace. After that on the same line, write the note's title. With no whitespace before the bullet, the new note becomes a member of the first generation. Whitespace before the bullet can be used to make it a member of a later generation, but only if it has a full chain of intermediate ancestors, and only if that generation is already visible.

u: undo

z,x,c,v: highlight, cut, copy, paste

Remember, to copy the note and not just its text, include the bullet.

p [value-shortcut]: set priority

The default priority is 0.

Nonzero priority causes some amount of underlining and leads to a higher position in text search results.

w [value-shortcut]: set weight

The default weight is 0.5.

High weight causes some amount of bold font and leads to a higher position in text search results. Low weight has the reverse effect.

s [value-shortcut]: set source

Todo: Document.

C-c p: Push to the graph from the view

You could reasonably call this "save".

C-c u: Pull from the graph to the view ("update" or "refresh" the view)

You could reasonably call this "reload". It's nice to have because your edits from a different buffer can change the things in this one.

Frame, buffer or window shortcuts

Emacs "frames" contain Emacs "windows", which display Emacs "buffers". The buffer is some text, the window is the thing that shows you a buffer, and the frame holds some windows. ("What everyone else in the world calls windows are called “frames” by emacs.")

C-x b: Show another buffer in this window. The user is prompted for the name of the other window. Tab-completion (even from the middle of words) is available.

C-x C-b: Open the buffer list.

C-x o: Move cursor to another window in this frame

C-x 2: Split this window into two windows, horizontally

C-x 3: Split this window into two windows, vertically

C-x 1: Close the other windows in this frame

C-x 5 2: Create another frame

o: open the note "at point" (under the cursor) in another window.

Clone this wiki locally