aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorMichael Olson2007-10-30 01:39:14 +0000
committerMichael Olson2007-10-30 01:39:14 +0000
commit15f3eb73ae7ee6763c5d39bdeb6588050b9636f2 (patch)
tree5c23dfc0421b4e7f048b73d21e1af09a4ebd6fce /doc
parentf2168a4cda83e9e3489e3cb96e7764884c4029e1 (diff)
downloademacs-15f3eb73ae7ee6763c5d39bdeb6588050b9636f2.tar.gz
emacs-15f3eb73ae7ee6763c5d39bdeb6588050b9636f2.zip
Check in Remember Mode
Diffstat (limited to 'doc')
-rw-r--r--doc/misc/ChangeLog4
-rw-r--r--doc/misc/remember.texi465
2 files changed, 469 insertions, 0 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index fcb1f0ac651..1c6edbf22dc 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,7 @@
12007-10-30 Michael Olson <mwolson@gnu.org>
2
3 * remember.texi: New file containing the Remember Mode Manual.
4
12007-10-29 Michael Albinus <michael.albinus@gmx.de> 52007-10-29 Michael Albinus <michael.albinus@gmx.de>
2 6
3 * tramp.texi (Connection caching): Host names must be different 7 * tramp.texi (Connection caching): Host names must be different
diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi
new file mode 100644
index 00000000000..39f8b1e0d49
--- /dev/null
+++ b/doc/misc/remember.texi
@@ -0,0 +1,465 @@
1\input texinfo @c -*-texinfo-*-
2@c %**start of header
3@setfilename ../../info/remember
4@settitle Remember Manual
5@c %**end of header
6
7@dircategory Emacs
8@direntry
9* Remember: (remember). Simple information manager for Emacs
10@end direntry
11
12@syncodeindex fn cp
13
14@copying
15This manual is for Remember Mode, version 1.9
16
17Copyright @copyright{} 2001, 2004, 2005, 2007 Free Software Foundation, Inc.
18
19@quotation
20Permission is granted to copy, distribute and/or modify this document
21under the terms of the GNU Free Documentation License, Version 1.2
22or any later version published by the Free Software Foundation;
23with no Invariant Sections, no Front-Cover Texts, and no Back-Cover
24Texts. A copy of the license is included in the section entitled ``GNU
25Free Documentation License''.
26@end quotation
27@end copying
28
29@titlepage
30@title Guide to Remember Mode
31@subtitle a simple information manager
32@subtitle for Emacs and XEmacs
33
34@c The following two commands
35@c start the copyright page.
36@page
37@vskip 0pt plus 1filll
38@insertcopying
39@end titlepage
40
41@c So the toc is printed at the start
42@contents
43
44@ifnottex
45@node Top, Preface, (dir), (dir)
46@comment node-name, next, previous, up
47@top Remember
48
49@insertcopying
50@end ifnottex
51
52@menu
53* Preface:: About the documentation.
54* Introduction:: What is Remember Mode?
55* Installation:: How to install Remember.
56* Implementation:: How Remember came into existence.
57* Quick Start:: Get started using Remember.
58* Backends:: Backends for saving notes.
59* Function Reference:: Interactive functions in remember.el.
60* Copying:: The GNU General Public License gives you
61 permission to redistribute Remember on
62 certain terms; it also explains that
63 there is no warranty.
64* GNU Free Documentation License:: The license for this documentation.
65* Concept Index:: Search for terms.
66
67@detailmenu
68 --- The Detailed Node Listing ---
69
70Backends
71
72* Text File:: Saving to a text file.
73* Mailbox:: Saving to a mailbox.
74* Bibliography:: Saving to a bibliography.
75* Planner Page:: Saving to a Planner page.
76
77@end detailmenu
78@end menu
79
80@node Preface, Introduction, Top, Top
81@comment node-name, next, previous, up
82@chapter Preface
83
84This document describes remember-el, which was written by John Wiegley,
85was once maintained by Sacha Chua, and is now maintained by the Emacs
86developers.
87
88This document is a work in progress, and your contribution will be
89greatly appreciated.
90
91@node Introduction, Installation, Preface, Top
92@comment node-name, next, previous, up
93@chapter Introduction
94
95Todo lists, schedules, phone databases... everything we use databases
96for is really just a way to extend the power of our memory, to be able
97to remember what our conscious mind may not currently have access to.
98
99There are many different databases out there---and good ones---
100which this mode is not trying to replace. Rather, it's how that
101data gets there that's the question. Most of the time, we just
102want to say "Remember so-and-so's phone number, or that I have to
103buy dinner for the cats tonight." That's the FACT. How it's
104stored is really the computer's problem. But at this point in
105time, it's most definitely also the user's problem, and sometimes
106so laboriously so that people just let data slip, rather than
107expend the effort to record it.
108
109``Remember'' is a mode for remembering data. It uses whatever
110back-end is appropriate to record and correlate the data, but its main
111intention is to allow you to express as @emph{little} structure as
112possible up front. If you later want to express more powerful
113relationships between your data, or state assumptions that were at
114first too implicit to be recognized, you can ``study'' the data later
115and rearrange it. But the initial ``just remember this'' impulse
116should be as close to simply throwing the data at Emacs as possible.
117
118Have you ever noticed that having a laptop to write on doesn't
119@emph{actually} increase the amount of quality material that you turn
120out, in the long run? Perhaps it's because the time we save
121electronically in one way, we're losing electronically in another; the
122tool should never dominate one's focus. As the mystic Faridu'd-Din
123`Attar wrote: ``Be occupied as little as possible with things of the
124outer world but much with things of the inner world; then right action
125will overcome inaction.''
126
127If Emacs could become a more intelligent data store, where brainstorming
128would focus on the @emph{ideas} involved---rather than the structuring
129and format of those ideas, or having to stop your current flow of work
130in order to record them---it would map much more closely to how the mind
131(well, at least mine) works, and hence would eliminate that very
132manual-ness which computers from the very beginning have been championed
133as being able to reduce.
134
135@node Installation, Implementation, Introduction, Top
136@comment node-name, next, previous, up
137@chapter Installation
138
139Installing Remember Mode is as simple as adding the following lines to
140your Emacs configuration file (usually @file{~/.emacs.d/init.el} or
141@file{~/.emacs}).
142
143@lisp
144(add-to-list 'load-path "/path/to/remember")
145(require 'remember)
146@end lisp
147
148@node Implementation, Quick Start, Installation, Top
149@comment node-name, next, previous, up
150@chapter Implementation
151
152Hyperbole, as a data presentation tool, always struck me as being very
153powerful, but it seemed to require a lot of ``front-end'' work before
154that data was really available. The problem with BBDB, or keeping up
155a Bibl-mode file, is that you have to use different functions to
156record the data, and it always takes time to stop what you're doing,
157format the data in the manner expected by that particular data
158interface, and then resume your work.
159
160With ``remember'', you just hit @kbd{M-x remember} (you'd probably
161want to bind this to an easily accessible keystroke, like @kbd{C-x
162M-r}), slam in your text however you like, and then hit @kbd{C-c C-c}.
163It will file the data away for later retrieval, and possibly indexing.
164
165Indexing is to data what ``studying'' is in the real world. What you
166do when you study (or lucubrate, for some of us) is to realize certain
167relationships implicit in the data, so that you can make use of those
168relationships. Expressing that a certain quote you remembered was a
169religious quote, and that you want the ability to pull up all quotes
170of a religious nature, is what studying does. This is a more labor
171intensive task than the original remembering of the data, and it's
172typical in real life to set aside a special period of time for doing
173this work.
174
175``Remember'' works in the same way. When you enter data, either by
176typing it into a buffer, or using the contents of the selected region,
177it will store that data---unindexed, uninterpreted---in a data pool.
178It will also try to remember as much context information as possible
179(any text properties that were set, where you copied it from, when,
180how, etc). Later, you can walk through your accumulated set of data
181(both organized, and unorganized) and easily begin moving things
182around, and making annotations that will express the full meaning of
183that data, as far as you know it.
184
185Obviously this latter stage is more user-interface intensive, and it
186would be nice if ``remember'' could do it as elegantly as possible,
187rather than requiring a billion keystrokes to reorganize your
188hierarchy. Well, as the future arrives, hopefully experience and user
189feedback will help to make this as intuitive a tool as possible.
190
191@node Quick Start, Backends, Implementation, Top
192@comment node-name, next, previous, up
193@chapter Quick Start
194
195@itemize
196
197@item
198Load @file{remember.el}.
199
200@item
201Type @kbd{M-x remember}. The @samp{*Remember*} buffer should be
202displayed.
203
204@item
205Type in what you want to remember. The first line will be treated as
206the headline, and the rest of the buffer will contain the body of the
207note.
208
209@item
210Type @kbd{C-c C-c} (@code{remember-buffer}) to save the note and close
211the @samp{*Remember*} buffer.
212@end itemize
213
214By default, @code{remember-buffer} saves the note in @file{~/.notes}.
215You can edit it now to see the remembered and timestamped note. You
216can edit this file however you want. New entries will always be added
217to the end.
218
219To remember a region of text, use the universal prefix. @kbd{C-u M-x
220remember} displays a @samp{*Remember*} buffer with the region as the
221initial contents.
222
223As a simple beginning, you can start by using the Text File backend,
224keeping your @file{~/.notes} file in outline-mode format, with a final
225entry called @samp{* Raw data}. Remembered data will be added to the
226end of the file. Every so often, you can move the data that gets
227appended there into other files, or reorganize your document.
228
229You can also store remembered data in other backends.
230(@pxref{Backends})
231
232Here is one way to map the remember functions in your @file{.emacs} to
233very accessible keystrokes facilities using the mode:
234
235@lisp
236(autoload 'remember ``remember'' nil t)
237(autoload 'remember-region ``remember'' nil t)
238
239(define-key global-map (kbd "<f9> r") 'remember)
240(define-key global-map (kbd "<f9> R") 'remember-region)
241@end lisp
242
243Check out the Planner package
244(@uref{http://www.emacswiki.org/cgi-bin/wiki/PlannerMode}) for plenty
245of annotation functions you can use with Remember. If you use Planner,
246you can easily publish your remembered notes as HTML and RSS.
247(@pxref{Planner Page})
248
249By default, remember uses the first annotation returned by
250@code{remember-annotation-functions}. To include all of the annotations,
251set @code{remember-run-all-annotation-functions-flag} to non-nil.
252
253@defopt remember-run-all-annotation-functions-flag
254Non-nil means use all annotations returned by
255@code{remember-annotation-functions}.
256@end defopt
257
258You can write custom functions that use a different set of
259remember-annotation-functions. For example:
260
261@lisp
262(defun my/remember-with-filename ()
263 "Always use the filename."
264 (interactive)
265 (let ((remember-annotation-functions '(buffer-file-name)))
266 (call-interactively 'remember)))
267@end lisp
268
269@node Backends, Function Reference, Quick Start, Top
270@chapter Backends
271
272You can save remembered notes to a variety of backends.
273
274@menu
275* Text File:: Saving to a text file.
276* Mailbox:: Saving to a mailbox.
277* Bibliography:: Saving to a bibliography.
278* Planner Page:: Saving to a Planner page.
279@end menu
280
281@node Text File, Mailbox, Backends, Backends
282@section Saving to a Text File
283@cindex text file
284@cindex outline
285
286This backend comes with Emacs.
287
288@lisp
289(setq remember-handler-functions '(remember-append-to-file))
290@end lisp
291
292@defopt remember-data-file
293@end defopt
294
295@defopt remember-leader-text
296@end defopt
297
298@node Mailbox, Bibliography, Text File, Backends
299@section Saving to a Mailbox
300@cindex mailbox, saving to a
301
302@lisp
303(setq remember-handler-functions '(remember-store-in-mailbox))
304@end lisp
305
306@defopt remember-mailbox
307Name of mailbox to save messages to.
308@end defopt
309
310This backend does not come with Emacs. To get it, download the latest
311version of Remember from @url{http://download.gna.org/remember-el/}.
312
313If you want to use BBDB to associate remembered snippets with entries
314in your contact database, use the following code snippet:
315
316@lisp
317(require 'remember-bbdb)
318(setq remember-handler-functions '(remember-bbdb-store-in-mailbox))
319@end lisp
320
321@node Bibliography, Planner Page, Mailbox, Backends
322@section Saving to a Bibliography
323
324This backend does not come with Emacs. To get it, download the latest
325version of Remember from @url{http://download.gna.org/remember-el/}.
326
327Bibl-mode is a major mode for maintaining bibliography files. You can
328get bibl-mode from:
329@uref{http://ftp.azc.uam.mx/mirrors/gnu/emacs-lisp/bosullivan-packages/bibl-mode/}.
330
331@lisp
332(require 'remember-bibl)
333@end lisp
334
335@defun remember-url
336Remember a URL in @code{bibl-mode} that is being visited with w3.
337@end defun
338
339@defun remember-location
340Remember a bookmark location in `bibl-mode'.
341@end defun
342
343You can use this in addition to your normal remember backend.
344
345@node Planner Page, , Bibliography, Backends
346@comment node-name, next, previous, up
347@section Saving to a Planner Page
348@cindex @file{remember-planner.el}, using
349@cindex remember-el, using with PlannerMode
350
351This backend does not come with Emacs. To get it, download the latest
352version of Remember from @url{http://download.gna.org/remember-el/}.
353
354If you are using PlannerMode, depending on your configuration, notes
355made using remember-el may actually be saved to a project and/or day
356plan page.
357
358@file{remember-planner.el} makes the notes you save with remember have
359more context information associated with them, in the way that
360PlannerMode tasks do.
361
362To use remember-planner, place this in your @file{.emacs}:
363
364@lisp
365(require 'remember-planner)
366(setq remember-handler-functions '(remember-planner-append))
367@end lisp
368
369To take advantage of PlannerMode's annotation functions, add the
370following code as well:
371
372@lisp
373(setq remember-annotation-functions planner-annotation-functions)
374@end lisp
375
376Then, type @kbd{M-x remember} to remember new text, @kbd{M-x
377remember-region} to remember the current region, or @kbd{C-u M-x
378remember} to remember the current region but have an opportunity to
379edit it before it is saved.
380
381@defopt remember-planner-xref-p
382Non-nil means cross-reference new entries with plan pages. Plan pages
383are useful for gathering related information. If you don't want a note
384associated with a plan page, you can press RET to accept the default
385(just today's page) or specify nil at the prompt.
386@end defopt
387
388@defopt remember-planner-copy-on-xref-flag
389Non-nil means copy note text instead of moving it to the plan page. If
390nil, move the note body to the plan page, leaving a cross-reference
391link on the day page. This results in shorter day pages but may be
392harder for people to read.
393@end defopt
394
395@defopt remember-planner-timestamp-format
396Format of timestamp for remember entries.
397@end defopt
398
399@file{remember-planner.el} does not define any interactive functions
400or keybindings.
401
402@node Function Reference, Copying, Backends, Top
403@comment node-name, next, previous, up
404@chapter Function Reference
405
406@subheading Interactive functions
407
408@file{remember.el} defines the following interactive functions:
409
410@defun remember initial
411Remember an arbitrary piece of data. With a prefix, it will use the
412region as @var{initial}.
413@end defun
414
415@defun remember-region beg end
416If called from within the remember buffer, @var{beg} and @var{end} are
417ignored, and the entire buffer will be remembered. If called from any
418other buffer, that region, plus any context information specific to
419that region, will be remembered.
420@end defun
421
422@defun remember-clipboard
423Remember the contents of the current clipboard. This is most useful
424for remembering things from Netscape or other X Windows applications.
425@end defun
426
427@defun remember-buffer
428Remember the contents of the current buffer.
429@end defun
430
431@defun remember-mode
432This enters the major mode for output from @command{remember}. This
433buffer is used to collect data that you want remember. Just hit
434@kbd{C-c C-c} when you're done entering, and it will go ahead and file
435the data for latter retrieval, and possible indexing.
436@end defun
437
438@subheading Keystrokes
439
440@file{remember.el} defines the following keybindings by default:
441
442@table @kbd
443
444@item C-x C-s (`remember-buffer')
445
446@item C-c C-c (`remember-buffer')
447
448@end table
449
450@node Copying, GNU Free Documentation License, Function Reference, Top
451@comment node-name, next, previous, up
452@appendix GNU GENERAL PUBLIC LICENSE
453@include gpl.texi
454
455@node GNU Free Documentation License, Concept Index, Copying, Top
456@appendix GNU Free Documentation License
457@include doclicense.texi
458
459@node Concept Index, , GNU Free Documentation License, Top
460@comment node-name, next, previous, up
461@unnumbered Index
462
463@printindex cp
464
465@bye