31.14. Gnus

Gnus is an Emacs package primarily designed for reading and posting Usenet news. It can also be used to read and respond to messages from a number of other sources--mail, remote directories, digests, and so on.

Here we introduce Gnus and describe several basic features. For full details, see .

To start Gnus, type M-x gnus RET.

31.14.1. Gnus Buffers

As opposed to most normal Emacs packages, Gnus uses a number of different buffers to display information and to receive commands. The three buffers users spend most of their time in are the group buffer, the summary buffer and the article buffer.

The group buffer contains a list of groups. This is the first buffer Gnus displays when it starts up. It normally displays only the groups to which you subscribe and that contain unread articles. Use this buffer to select a specific group.

The summary buffer lists one line for each article in a single group. By default, the author, the subject and the line number are displayed for each article, but this is customizable, like most aspects of Gnus display. The summary buffer is created when you select a group in the group buffer, and is killed when you exit the group. Use this buffer to select an article.

The article buffer displays the article. In normal Gnus usage, you don't select this buffer--all useful article-oriented commands work in the summary buffer. But you can select the article buffer, and execute all Gnus commands from that buffer, if you want to.

31.14.2. When Gnus Starts Up

At startup, Gnus reads your .newsrc news initialization file and attempts to communicate with the local news server, which is a repository of news articles. The news server need not be the same computer you are logged in on.

If you start Gnus and connect to the server, but do not see any newsgroups listed in the group buffer, type L or A k to get a listing of all the groups. Then type u to toggle subscription to groups.

The first time you start Gnus, Gnus subscribes you to a few selected groups. All other groups start out as killed groups for you; you can list them with A k. All new groups that subsequently come to exist at the news server become zombie groups for you; type A z to list them. You can subscribe to a group shown in these lists using the u command.

When you quit Gnus with q, it automatically records in your .newsrc and .newsrc.eld initialization files the subscribed or unsubscribed status of all groups. You should normally not edit these files manually, but you may if you know how.

31.14.3. Summary of Gnus Commands

Reading news is a two step process:

  1. Choose a group in the group buffer.

  2. Select articles from the summary buffer. Each article selected is displayed in the article buffer in a large window, below the summary buffer in its small window.

Each Gnus buffer has its own special commands; however, the meanings of any given key in the various Gnus buffers are usually analogous, even if not identical. Here are commands for the group and summary buffers:


In the group buffer, update your .newsrc initialization file and quit Gnus.

In the summary buffer, exit the current group and return to the group buffer. Thus, typing q twice quits Gnus.


In the group buffer, list all the groups available on your news server (except those you have killed). This may be a long list!


In the group buffer, list only the groups to which you subscribe and which contain unread articles.


In the group buffer, unsubscribe from (or subscribe to) the group listed in the line that point is on. When you quit Gnus by typing q, Gnus lists in your .newsrc file which groups you have subscribed to. The next time you start Gnus, you won't see this group, because Gnus normally displays only subscribed-to groups.


In the group buffer, "kill" the current line's group--don't even list it in .newsrc from now on. This affects future Gnus sessions as well as the present session.

When you quit Gnus by typing q, Gnus writes information in the file .newsrc describing all newsgroups except those you have "killed."


In the group buffer, select the group on the line under the cursor and display the first unread article in that group.

In the summary buffer,

  • Select the article on the line under the cursor if none is selected.

  • Scroll the text of the selected article (if there is one).

  • Select the next unread article if at the end of the current article.

Thus, you can move through all the articles by repeatedly typing SPC.


In the group buffer, move point to the previous group containing unread articles.

In the summary buffer, scroll the text of the article backwards.


Move point to the next unread group, or select the next unread article.


Move point to the previous unread group, or select the previous unread article.

C-n, C-p

Move point to the next or previous item, even if it is marked as read. This does not select the article or group on that line.


In the summary buffer, do an incremental search of the current text in the article buffer, just as if you switched to the article buffer and typed C-s.

M-s regexp RET

In the summary buffer, search forward for articles containing a match for regexp.