]> git.notmuchmail.org Git - notmuch/blob - doc/man1/notmuch.rst
d773369ecb4a82a3dc509d018f9325339568a893
[notmuch] / doc / man1 / notmuch.rst
1 =======
2 notmuch
3 =======
4
5 SYNOPSIS
6 ========
7
8 **notmuch** [option ...] **command** [arg ...]
9
10 DESCRIPTION
11 ===========
12
13 Notmuch is a command-line based program for indexing, searching,
14 reading, and tagging large collections of email messages.
15
16 This page describes how to get started using notmuch from the command
17 line, and gives a brief overview of the commands available. For more
18 information on e.g. **notmuch show** consult the **notmuch-show(1)** man
19 page, also accessible via **notmuch help show**
20
21 The quickest way to get started with Notmuch is to simply invoke the
22 ``notmuch`` command with no arguments, which will interactively guide
23 you through the process of indexing your mail.
24
25 NOTE
26 ====
27
28 While the command-line program ``notmuch`` provides powerful
29 functionality, it does not provide the most convenient interface for
30 that functionality. More sophisticated interfaces are expected to be
31 built on top of either the command-line interface, or more likely, on
32 top of the notmuch library interface. See http://notmuchmail.org for
33 more about alternate interfaces to notmuch. The emacs-based interface to
34 notmuch (available under **emacs/** in the Notmuch source distribution)
35 is probably the most widely used at this time.
36
37 OPTIONS
38 =======
39
40 Supported global options for ``notmuch`` include
41
42     ``--help``
43         Print a synopsis of available commands and exit.
44
45     ``--version``
46         Print the installed version of notmuch, and exit.
47
48     ``--config=FILE``
49         Specify the configuration file to use. This overrides any
50         configuration file specified by ${NOTMUCH\_CONFIG}.
51
52 All global options except ``--config`` can also be specified after the
53 command. For example, ``notmuch subcommand --version`` is equivalent to
54 ``notmuch --version subcommand``.
55
56 COMMANDS
57 ========
58
59 SETUP
60 -----
61
62 The **notmuch setup** command is used to configure Notmuch for first
63 use, (or to reconfigure it later).
64
65 The setup command will prompt for your full name, your primary email
66 address, any alternate email addresses you use, and the directory
67 containing your email archives. Your answers will be written to a
68 configuration file in ${NOTMUCH\_CONFIG} (if set) or
69 ${HOME}/.notmuch-config . This configuration file will be created with
70 descriptive comments, making it easy to edit by hand later to change the
71 configuration. Or you can run **notmuch setup** again to change the
72 configuration.
73
74 The mail directory you specify can contain any number of sub-directories
75 and should primarily contain only files with individual email messages
76 (eg. maildir or mh archives are perfect). If there are other, non-email
77 files (such as indexes maintained by other email programs) then notmuch
78 will do its best to detect those and ignore them.
79
80 Mail storage that uses mbox format, (where one mbox file contains many
81 messages), will not work with notmuch. If that's how your mail is
82 currently stored, it is recommended you first convert it to maildir
83 format with a utility such as mb2md before running **notmuch setup .**
84
85 Invoking ``notmuch`` with no command argument will run **setup** if the
86 setup command has not previously been completed.
87
88 OTHER COMMANDS
89 --------------
90
91 Several of the notmuch commands accept search terms with a common
92 syntax. See **notmuch-search-terms**\ (7) for more details on the
93 supported syntax.
94
95 The **search**, **show**, **address** and **count** commands are used
96 to query the email database.
97
98 The **reply** command is useful for preparing a template for an email
99 reply.
100
101 The **tag** command is the only command available for manipulating
102 database contents.
103
104 The **dump** and **restore** commands can be used to create a textual
105 dump of email tags for backup purposes, and to restore from that dump.
106
107 The **config** command can be used to get or set settings in the notmuch
108 configuration file.
109
110 ENVIRONMENT
111 ===========
112
113 The following environment variables can be used to control the behavior
114 of notmuch.
115
116 **NOTMUCH\_CONFIG**
117     Specifies the location of the notmuch configuration file. Notmuch
118     will use ${HOME}/.notmuch-config if this variable is not set.
119
120 **NOTMUCH\_TALLOC\_REPORT**
121     Location to write a talloc memory usage report. See
122     **talloc\_enable\_leak\_report\_full** in **talloc(3)** for more
123     information.
124
125 **NOTMUCH\_DEBUG\_QUERY**
126     If set to a non-empty value, the notmuch library will print (to
127     stderr) Xapian queries it constructs.
128
129 SEE ALSO
130 ========
131
132 **notmuch-config(1)**, **notmuch-count(1)**, **notmuch-dump(1)**,
133 **notmuch-hooks(5)**, **notmuch-insert(1)**, **notmuch-new(1)**,
134 **notmuch-reply(1)**, **notmuch-restore(1)**, **notmuch-search(1)**,
135 **notmuch-search-terms(7)**, **notmuch-show(1)**, **notmuch-tag(1)**,
136 **notmuch-address(1)**
137
138 The notmuch website: **http://notmuchmail.org**
139
140 CONTACT
141 =======
142
143 Feel free to send questions, comments, or kudos to the notmuch mailing
144 list <notmuch@notmuchmail.org> . Subscription is not required before
145 posting, but is available from the notmuchmail.org website.
146
147 Real-time interaction with the Notmuch community is available via IRC
148 (server: irc.freenode.net, channel: #notmuch).