Usage Guide
Reading and annotation
- Open an epub file using nov.el, open an org/txt/md file, browse web with eww/eaf, read rss with elfeed, you name it.
- Enable
paw-annotation-mode
(buffer will be turned into read-only ifpaw-annotation-read-only-enable
is t to avoid accidental alternation) - Use
paw
add word/highlight/bookmark/todo/, for example,paw-add-word
,paw-add-highlight
... Please check M-xpaw-add-*
related commands for all type of supported annotations. - Annotations will be highlighted via overlay. Under the annotation, you can do
various of operations. For example, to edit the annotation, under the
annotation, press
i
,paw-find-note
. It will create an temporary org file dedicated for this annotation,C-c C-i
to insert annotation link as reflink, finally save byC-c C-c
, changes will be saved in the database respectively. - Under the annotation, run
paw-change-annotation-note-type
(c
) orpaw-change-note_type
(C
) to change the face of the overlay. - The most useful case is adding highlight by
paw-add-highlight
, then change the highlight overlay bypaw-change-annotation-note-type
. The default highlight overlay is defined inpaw-annotation-default-highlight-type
, and runningpaw-change-annotation-note-type
will remember the last highlight overlay. paw predefines some most used highlight styles that often appeared in other annotation tools, like marker or underline (pressc1
,c2
,c3
, etc), but it is not limited to that, you can change to any face you want (presscf
) - Use
paw-add-comment
(C-c i
ori
[evil] underpaw-annotation-mode
) to quickly add a comment to the current thing (paw-add-comment-thing
), if no comment is added, the annotation will be deleted after quitting the note buffer.paw-add-comment
is actually a convenient wrapper ofpaw-add-highlight
andpaw-find-note
.- Inside
*paw-view-note*
buffer, you can pressi
to edit the Saved Meanings or Notes. Checkpaw-view-note-transient
for more operations.
- Inside
- Call
paw
,paw-list-annotations
,paw-list-all-annotations
orpaw-list-all-links
to manage or jump to annotation location (One useful case is that make highlight or create bookmark oneww
, and jump back to the exact same annotation location simply pressing Enter) - Under the annotation, M-x
paw-view-notes
, all notes under the same path will be shown, giving you an overview on all notes you've made for the same file. Or M-xpaw-find-notes
to update/save all notes under the same path into an org file underpaw-note-dir
, and jump to the annotation location inside the org file. paw-add-bookmark
works great on eww-mode/eaf-mode (browser or pdf-viewer)M-x paw-toggle-inline-annotations
, to show all annotations inline.
Editing/Programming while Annotating
Method 1: M-x paw-annotation-live-mode
Any buffer can enable paw-annotation-live-mode. After enabling it, you can add annotations with M-x paw-add-*. After file saved, annotations will be auto refreshed (location will be updated if possible).
M-x paw-toggle-inline-annotations
, to show all annotations inline.
Method 2: M-x paw-annotation-mode
By default, the major-mode includes in paw-annotation-mode-supported-modes
will
turn into read-only if paw-annotation-read-only-enable
is t.
However, two special modes text-mode/prog-mode are added in
paw-annotation-mode-supported-modes
. If the current buffer's major-mode is not
one of modes in paw-annotation-mode-supported-modes
but derived from text-mode
or prog-mode
. Enabling paw-annotation-mode
will not alternate the read-only
status, in the mean time, it shows annotations made on the current buffer while
disable other paw-annotation-mode features (like mouse click to query, show
unknown words, show wordlists' words etc, which makes sense when Reading but not
Editing). This makes sure that we can continue to edit the buffer and use the
buffer's cooresponding keymaps while also able to add/show/manage annotations.
M-x paw-toggle-inline-annotations
, to show all annotations inline.
Language Learning
- Copy a text you want to learn to an org file or browse a page with eww/eaf etc.
- Enable
paw-annotation-mode
- Click/Select word/sentence with
paw-view-note
, it will show you an informative buffer of the word/sentence. It has dictionary, translation, notes and also able to search by external browser. - Use
paw-add-offline-word
orpaw-add-online-word
to add a new word. For Online words, please check #+html: Anki Integration #+html: Eudic Integration All offline/online words appeared on any buffers that were enabledpaw-annoation-mode
will be highlighted, useful for language learners using the important method: Repetition. - For offline words, please setup
paw-offline-studylist
before using it. By default we have two offline studylists:English Studylist
and =Japanese Studylist=. - You can also use
paw-add-word
. Unlike offline/online word, the word added bypaw-add-word
is linked with an unique id, it is only highlighted at the location where we added it. - Under any annotation, click or press
v
to invokepaw-view-note
, a buffer with saved meanings, dictionary, translation, notes is shown. - Under any annotation, click or press
S
to invokepaw-change-word-learning-level
, select from level 15. 1
4 are controlled bypaw-level-1-word-face
topaw-level-4-word-face
for online words,paw-level-1-offline-word-face
topaw-level-4-offline-word-face
for offline words, while 5 is considered as Known word, skipping adding overlay face (just hiding). You can change the word to level 5 while keep it hiding, but if you don't need it anymore, simply runpaw-delete-annotation
to delete it. - Click/Select word/sentence with
paw-view-note-current-thing
,paw-view-note-next-thing
,paw-view-note-prev-thing
, it will do segmentation using kagome (Japanese), and ECDICT (English). - Check https://www.lingq.com/en/, you know more ideas how to learn a foreign
language with
paw.el
. - Run
paw-export-notes-to-csv
, check the csv file underpaw-csv-file
, import it to Anki for further studying. - Both
paw-add-word
andpaw-add-online-word
will capture the context sentence and save it into Notes field.
M-x paw-toggle-inline-annotations
, to show all annotations inline (think about it as a similar feature - kindle word wise)
- Check
paw-annotation-transient
for more operations. - To review all words in the current buffer, under any unknown/known word (the
overlay), C-u M-x
paw-view-notes
, all unknown/known words appeared in the current buffer will be shown, giving you an overview on all words appeared in the current buffer. Or C-u M-xpaw-find-notes
to save all words appeared in the current buffer into an org file underpaw-note-dir
, and jump to the annotation location inside the org file. - Please notice: if use M-x
paw-view-notes
without C-u, all notes under the path the moment it was captured will be shown instead.
Tip: Find some interesting contents on LingQ, and browse using eww, enable
paw-annotation-mode
, enjoy language studying!
Search a word/sentence inside Emacs
- Select/Under a word/sentence
- Run
paw-view-note
(no segmentation, good for word) orpaw-view-note-current-thing
(segmentation, good for sentence) - Further search with
paw-view-note-in-dictionary
or search with browser.
Search a word/sentence with external dictionary
- Select/Under a word/sentence
- Run
paw-view-note-in-dictionary
, currently support eudic/goldendict/silverdict/yomitan (configured bypaw-dictionary-function
) - You can also use:
paw-mac-dictionary-search-details
(can configure mac dictionary or eudic, bypaw-mac-dictionary-program
)paw-goldendict-search-details
(bypaw-goldendict-program
)paw-silverdict-search-details
(bypaw-silverdict-host
andpaw-silverdict-port
)paw-yomitan-search-details-firefox
(configurepaw-yomitan-firefox-id
and yomitan extension on browser before use)paw-yomitan-search-details-chrome
(configure yomitan extension on browser before use)paw-android-search-details
(android)paw-eudic-search-details
(mac/android/windows,paw-eudic-android-program
)paw-chatgpt-search-details
(mac/android,paw-chatgpt-android-program
)paw-moji-search-details
(android,paw-moji-android-program
)
Manage annotations
M-x paw
It will launch a dashboard of annotations based on the current path of the buffer or project-root (text-mode/prog-mode).
Overview all notes using paw-view-notes
on the same path.
Demo:
Export notes to an org file and print out as pdf (using latex), use paw-find-notes
.
Demo: