Go to the previous, next section.

Summary Commands

The Summary buffer shows you a summary of the contents of a single newsgroup, with one line for each article. You can move around in the Summary buffer, giving commands to view articles, save them, reply to them, and so on. When you view an article, its text appears in a separate buffer, but the Summary buffer remains current. In fact, there is hardly ever a reason to select the Article buffer; you can do almost all news reading tasks while staying in the Summary buffer.

Reading Articles

The most basic command for reading articles is SPC (gnus-summary-next-page). When you are viewing the middle of a article, SPC scrolls the article forward. When you get to the end of an article, SPC advances to the next article. You can read all the unread articles straight through using just SPC.

Naturally, though, there are plenty of more advanced features available.

Cursor Motion in the Summary Buffer

For moving around in the Summary buffer, you can use these special commands as well as the usual cursor motion commands.

Move point to the next header (gnus-summary-next-subject).

Move point to the previous header (gnus-summary-prev-subject).

Move point to the next header, skipping marked articles (gnus-summary-next-unread-subject).

Move point to the previous header, skipping marked articles (gnus-summary-prev-unread-subject).

j number RET
Move point to the line describing an article specified by number with a numeric argument (gnus-summary-goto-subject).

Commands to Read Articles

SPC in the Summary buffer scrolls the Article buffer to the next screenful or to the next article (gnus-summary-next-page)

Select the article on the current line (gnus-summary-show-article). This command always rereads the article text from the server even if the same article is already selected.

Expand the Summary buffer's window to occupy all the screen space that GNUS is now using (gnus-summary-expand-window).

Toggle truncation of lines in the Summary buffer (gnus-summary-toggle-truncation).

Stop page breaking of article buffer (gnus-summary-stop-page-breaking).

Show all headers of the current article if pruned header currently shown, or vice versa (gnus-summary-toggle-header).

Toggle MIME processing (gnus-summary-toggle-mime).

C-c C-r
Caesar rotate letters by 13 places and Japanese characters by 47 places (gnus-summary-caesar-message).

The command = (gnus-summary-expand-window) expands the Summary window by deleting the Article window. Use it when you want to concentrate on the Summary buffer. This command is different from C-x 1 when more than two windows exist.

The command C-c C-r (gnus-summary-caesar-message) rotates all letters in the body of the current article by 13/47 places. (This encoding is often called "rot 13".) To undo this operation, run it a second time.

If an article contains multiple pages, GNUS normally displays just one page at a time. To advance to the next page of an article, simply type SPC. It advances to the next page whenever the end of a page is on the screen.

The command w (gnus-summary-stop-page-breaking) temporarily suspends page breaking; it makes the entire current article visible. You can turn off page breaking all the time by setting the variable gnus-break-pages to nil.

Page boundaries are defined by the variable gnus-page-delimiter, whose value is a regular expression. The default is to match a formfeed character at the beginning of a line.

GNUS normally hides many uninteresting header fields when it displays an article. (The variable gnus-ignored-headers controls which fields are ignored.) If you want to see the whole header, type t (gnus-summary-toggle-header). Use t a second time to hide the uninteresting header fields again.

Scrolling Within an Article

This section describes the commands you can type in the Summary buffer to scroll the Article buffer. (If you want to scroll the Summary buffer, you can use the usual Emacs scrolling commands.)

Scroll to the next page of the current article (gnus-summary-next-page). Select it first if no article is selected yet. Select the next unread article automatically at the end of the message.

Scroll the current article backward (gnus-summary-prev-page).

Scroll the current article one (or n) lines forward (gnus-summary-scroll-up). A negative argument scrolls backward.

Move point to the beginning of the current article (gnus-summary-beginning-of-article).

Move point to the end of the current article (gnus-summary-end-of-article).

Moving Among Articles

These commands move point in the Summary buffer to a different line and display that line's article.

Read the next article, skipping marked articles (gnus-summary-next-unread-article).

Read the previous article, skipping marked articles (gnus-summary-prev-unread-article).

Read the next article (gnus-summary-next-article).

Read the previous article (gnus-summary-prev-article).

Read the next article with the same subject as the current article (gnus-summary-next-same-subject).

Read the previous article with the same subject as the current article (gnus-summary-prev-same-subject).

Read the first unread article (gnus-summary-first-unread-article).

Read the article selected last (gnus-summary-goto-last-article).

If the variable gnus-auto-select-same is non-nil, the commands n and p (gnus-summary-next-unread-article and gnus-summary-prev-unread-article) skip articles until they come to another article with the same subject. If you are used to reading news with `rn -S', set the variable to non-nil to get familiar behavior.

If the variable gnus-auto-extend-newsgroup is non-nil, the commands N and P (gnus-summary-next-article and gnus-summary-prev-article) extend visible articles to forward and backward if possible. The Summary buffer normally displays just a subset of the extant articles; extending the buffer means that if you try to move forward from the last article shown, it looks for later articles that are not shown, and puts them into the buffer so you can move to them.

The variable gnus-auto-select-next defines the behavior of GNUS when there is no unread article in the current newsgroup and a command selecting the next unread article is executed. If the variable is non-nil, the next newsgroup containing unread articles is selected automatically.

Marking Articles

GNUS uses single-character marks to indicate the status of an article.

` ' (a space)
A newly arrived article.

An article marked as saved.

anything else
An article marked as read.

Both newly arrived articles and saved articles are considered unread.

The status is displayed at the beginning of each line of the Summary buffer. Here are some commands for changing these marks:

Mark this line's article as read, then move point to the following line (gnus-summary-mark-as-read-forward). This and the following similar commands do not select an article; they only move point in the Summary buffer.

Mark this line's article as saved, then move point to the following line (gnus-summary-mark-as-unread-forward).

Clear marks on this line's article, then move point to the next line (gnus-summary-clear-mark-forward). This sets the status to "newly arrived".

Analogous to d, u and M-u, except that they move backwards instead of forwards in the Summary buffer.

Mark as read all articles with the same subject as the current article, then select the next unread article (gnus-summary-kill-same-subject-and-select). Use this when you decide a certain discussion is not interesting.

Mark as read all articles with the same subject as the current article (gnus-summary-kill-same-subject).

Mark all newly arrived articles as read; then exit the current newsgroup (gnus-summary-catchup-and-exit). This does not change the status of articles that are saved.

M-x gnus-summary-catchup-all-and-exit
Mark all articles (including saved articles) as read, and then exit the current newsgroup.

M-x gnus-summary-catchup
Mark all newly arrived articles as read, but don't alter saved articles.

M-x gnus-summary-catchup-all
Mark all articles as read.

Delete summary lines for articles marked as read (gnus-summary-delete-marked-as-read).

X marks RET
Delete headers marked with any of marks (gnus-summary-delete-marked-with).

You can make it easier to see the remaining unread articles in the Summary buffer by deleting the lines describing the already read articles. To do this, use the command x (gnus-summary-delete-marked-as-read). The command X (gnus-summary-delete-marked-with) deletes headers which have certain specified marks. Thus, X D - RET deletes all articles marked with `D' or `-'---which is to say, all read and saved articles. (There are no spaces in that command; we inserted spaces for clarity when showing it here.)

Reading Based on Conversation Threads

A thread is defined as a set of articles related by cross-reference. These references make use of header fields `References:' and `In-Reply-To:', which cite the message ID of another article.

Conversations in a newsgroup usually contain several threads under a single subject. This makes it difficult to know which article follows which without reading references directly. You can use the thread-based commands to do this automatically. You can follow threads of conversation, mark entire threads as read, and go up and down thread trees.

The command M-C-t (gnus-summary-toggle-threads) toggles showing conversation threads in Summary mode. If it is turned on, Summary buffer is displayed in a tree structured form which shows the thread structure.

Toggle thread-based reading (gnus-summary-toggle-threads).

Show the thread subtree of the current line (gnus-summary-show-thread).

M-x gnus-summary-show-all-threads
Show all thread subtrees.

Hide the thread subtrees of the current line (gnus-summary-hide-thread).

M-x gnus-summary-hide-all-threads
Hide all thread subtrees.

Go to the next thread at the same level (gnus-summary-next-thread).

Go to the previous thread at the same level (gnus-summary-prev-thread).

Go down to next thread subordinate to the current line. (gnus-summary-down-thread).

Go up to the parent thread of the current line (gnus-summary-up-thread).

Mark all articles under current thread as read (gnus-summary-kill-thread).

Thread subtrees can be hidden by using the command C-M-h (gnus-summary-hide-thread), and the hidden subtrees can be shown by using the command C-M-s (gnus-summary-show-thread).

If the variable gnus-thread-hide-killed is non-nil, thread subtrees killed by the command C-M-k (gnus-summary-kill-thread) are hidden automatically.

If you want to hide thread subtrees initially, set the variable gnus-thread-hide-subtree to non-nil.

If you want to enable thread-based reading automatically, set the variable gnus-show-threads to non-nil.

Reading Digest Articles

Digest article is a message containing many messages in digest format. Since a digest article contains many messages in one article, it is a little bit difficult to read it on a per message basis. The following commands make it easier to read each message in a digest.

C-c C-n
Scroll to the next digest message of the current article (gnus-summary-next-digest).

C-c C-p
Scroll to the previous digest message of the current article (gnus-summary-prev-digest).

Read the current digest article using Rmail (gnus-summary-rmail-digest).

The commands C-c C-n and C-c C-p (gnus-summary-next-digest and gnus-summary-prev-digest) scroll a digest article to the next and previous digested message, respectively. The variable gnus-digest-separator specifies a regexp which separates digested messages.

The command C-d (gnus-summary-rmail-digest) runs Rmail on a digest article and makes it possible to read messages not in digest form using Rmail Mode. See section `Rmail' in The GNU Emacs Manual, for more information on Rmail Mode. Use the hook gnus-select-article-hook to run Rmail on digest articles automatically.

Some newsgroups use a digest format that cannot be read using Rmail. In this case, C-d displays `Article is not a digest' in the echo area. It is, however, possible to read these incomplete digest articles by modifying the message headers or bodies appropriately using the hook gnus-select-digest-hook. See section Function Hooks, to modify incomplete digest articles.

If the variable gnus-digest-show-summary is non-nil, a summary of the digest article is also displayed automatically when Rmail is invoked.

Searching Articles

Do incremental search on the current article (gnus-summary-isearch-article).

M-s regexp RET
Search for articles containing a match for regexp forward (gnus-summary-search-article-forward). If regexp is empty, the last regexp used is used again.

M-r regexp RET
Search for articles containing a match for regexp backward (gnus-summary-search-article-backward). If regexp is empty, the last regexp used is used again.

& field RET regexp RET command RET
Execute command on articles containing a match for regexp in field of the headers (gnus-summary-execute-command). If field is empty, the entire article is searched for.

The command s (gnus-summary-isearch-article) does an incremental search on the current article. This is like switching to the Article buffer and typing C-s except that the Summary buffer remains selected. The command M-s (gnus-summary-search-article-forward) searches for articles containing a match for regexp. The search starts from the current point of the current article. To search backwards, use the command M-r (gnus-summary-search-article-backward).

The command & (gnus-summary-execute-command) interactively reads a header field name, a regular expression, and a valid key sequence. It then searches for all articles in which that regular expression matches the contents of the specified header field. It executes the key sequence in each such message.

Referencing Articles

Refer to parent of the current article in terms of the `References' field (gnus-summary-refer-parent-article). With a numeric argument, go back to the child.

M-^ Message-ID RET
Refer to the article by using the Message-ID (gnus-summary-refer-article).

The command ^ (gnus-summary-refer-parent-article) refers to parent article of the current article. You can go back to the child article with C-u ^.

^ and M-^ select a new article without moving point in the Summary buffer. As a consequence, you can use g to go back to the article in which you started the last sequence of ^ and M-^ commands.

You can use the r command in Article mode to follow a reference contained in the text of an article. See section Article Commands.

Saving Articles

GNUS supports four different formats for saving articles: Rmail format, Unix mailbox format, MH folder, and article format.

Save the current article in Rmail format (gnus-summary-save-article).

Save the current article in Unix mail file format (gnus-summary-save-in-mail).

| command RET
Send contents of the current article through a pipe to a subprocess running command (gnus-summary-pipe-output).

The variable gnus-default-article-saver controls the formats used by the o command. By default, it uses Rmail format. If you set the variable to gnus-summary-save-in-folder, o uses MH format. If you set it to gnus-summary-save-in-file, o saves the article text verbatim. The default value is gnus-summary-save-in-rmail. (All three of these values are commands that you can bind to other keys.)

The variable gnus-article-save-directory specifies the default directory for saving articles. If you don't set this variable explicitly, it is initialized from the SAVEDIR environment variable, or, as a last resort, `~/News'.

Sorting Headers

GNUS can sort the Summary buffer by number, subject, date, or author of articles.

C-c C-s C-n
Sort the headers by number (gnus-summary-sort-by-number).

C-c C-s C-s
Sort the headers by subject (gnus-summary-sort-by-subject).

C-c C-s C-d
Sort the headers by date (gnus-summary-sort-by-date).

C-c C-s C-a
Sort the headers by author (gnus-summary-sort-by-author).

Sorting is stable, which means that it does not disturb the relative order of articles whose sort keys are equal. So you can sort on multiple keys by using several sort commands in a row; the last sort command specifies the most powerful sort key. Thus, C-c C-s C-a C-c C-s C-d C-c C-s C-n sorts by author, and sorts the messages for each author by date, and any messages with the same author and date are sorted by number.

To sort in reverse order, give a numeric argument to the sort commands. It is also possible to sort the headers automatically when a newsgroup is selected using the hook gnus-select-group-hook (see section Function Hooks).

Posting Articles

Compose a new article (gnus-summary-post-news).

Compose a followup to the current article (gnus-summary-followup).

Compose a followup, and insert the original article right away (gnus-summary-followup-with-original).

Cancel the current article you posted (gnus-summary-cancel-article).

Type a (gnus-summary-post-news) to post a new article. If the variable gnus-interactive-post is non-nil, this command reads the newsgroup, subject, and distribution interactively. The command f (gnus-summary-followup) fills these values in automatically from those of the selected article; thus, the article you post will be a followup to the selected article.

Type C-c C-y (news-reply-yank-original) to include the original article in the text of the followup. Unless the original article is quite short, you should edit it to keep only the particular sentences you are directly responding to.

The command F (gnus-summary-followup-with-original) yanks the original article automatically. If you want to followup to several articles in a single article and want to include them in it, type F for each of them. You will be asked if a text being edited should be erased. You should answer `n' to the question.

If the variable gnus-novice-user is non-nil, your confirmations will be required for composing a new article.

The major mode for composing a new article is News Mode which is borrowed from `rnewspost.el'. Type C-h m (describe-mode) to get more help on News Mode.

Suppose you post an article and then later realize that you made a horrible mistake. You really do not want anyone to see your article. You want the article to be removed from any machines that it may have reached. The command C (gnus-summary-cancel-article) is intended to do this. First select the offending article as current, then type C.

The variable user-mail-address specifies what GNUS should use as your mailing address. Its value is a string. If Emacs doesn't get this right on its own, you can specify the address to use by setting this variable.

Forwarding Messages and Replying To Them

Reply to the author of the current article (gnus-summary-reply).

Reply to the author of the current article with the original article (gnus-summary-reply-with-original).
C-c C-f
Forward current message to someone else. (gnus-summary-mail-forward).

Compose a mail message in other window (gnus-summary-mail-other-window).

Use the command r (gnus-summary-reply) to mail a reply to the author of the article. Type C-c C-y to yank the text of the article you are replying to. The command R (gnus-summary-reply-with-original) yanks the original article automatically.

See section `Mail Mode' in The GNU Emacs Manual, for information on how to finish sending the reply.

Exiting the Current Newsgroup

Exiting a newsgroup means going back to the Newsgroup buffer and (normally) saving the changes you have made in the status of articles.

Exit the current newsgroup, and return to Group Mode (gnus-summary-exit). This updates the startup file to indicate the changes in article status in this newsgroup.

Exit the current newsgroup without saving information about article status (gnus-summary-quit). The effect is to cancel all the status changes that took place while you were reading this newsgroup.

C-x C-s
Save the article status changes, but keep the newsgroup selected (gnus-summary-reselect-current-group).

The command C-x C-s (gnus-summary-reselect-current-group) selects the current newsgroup again after temporary exiting the newsgroup. If no articles remain unread, all articles in the newsgroup will be selected. A numeric argument to the command means to select all articles in the newsgroup.

Go to the previous, next section.