Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
NN(1)			    General Commands Manual			 NN(1)

NAME
       nn - efficient net news interface (No News is good news)

SYNOPSIS
       nn [ options ] [	newsgroup  |  +folder  |  file ]...
       nn -g [ -r ]
       nn -a0 [	newsgroup ]...

DESCRIPTION
       Net news	is a world-wide	information exchange service covering numerous
       topics  in  science  and	 every	day  life.   Topics  are  organized in
       news groups, and	these groups are open for everybody to	post  articles
       on a subject related to the topic of the	group.

       Nn  is a	`point-and-shoot' net news interface program, or a news	reader
       for short (not to be confused with the human news  reader).   When  you
       use nn, you can decide which of the many	news groups you	are interested
       in, and you can unsubscribe to those which don't	interest you.  nn will
       let  you	read the new (and old) articles	in each	of the groups you sub-
       scribe to using a menu based article selection prior to reading the ar-
       ticles in the news group.

       When a news group is entered, nn	will locate all	the  presently	unread
       articles	 in  the  group,  and extract their sender, subject, and other
       relevant	information.  This information is then rearranged, sorted, and
       marked in various ways to give it a pleasant format  when  it  is  pre-
       sented on the screen.

       This  will  be  done very quickly, because nn uses the NOV database via
       the NNTP	XOVER command.	The news server	to use can  be	overridden  by
       setting	the environment	variable $NNTPSERVER to	the name of the	system
       (such as	news.newserver.com), or	by setting  the	 variable  nntp-server
       (on the command line only, since	it is looked at	before the init	file),
       as  "nntp-server=news.some.domain").   If you use multiple servers, you
       probably	want to	set the	nn-directory and newsrc	variables on the  com-
       mand  line  to an alternate names as well, since	some of	the data files
       are server dependent.  If you are using a slow tcp link	(such  as  ppp
       over  a	modem) and NNTP, see the NOTES section at the end of this man-
       ual.

       When the	article	menu appears on	the screen,  nn	 will  be  in  a  mode
       called  selection  mode.	  In this mode,	the articles which seems to be
       interesting can be selected by single keystrokes	(using	the  keys  a-z
       and  0-9).   When all the interesting articles among the	ones presently
       displayed have been selected, the space bar is hit, which causes	nn  to
       enter reading mode.

       In  reading mode, each of the selected articles will be presented.  You
       use the space bar to go on to the next page of the current article,  or
       to  the	next  article.	 Of course, there are all sorts	of commands to
       scroll text up and down,	skip to	the next article, responding to	an ar-
       ticle, decrypt an article, and so on.

       When all	the selected articles in the current group have	been read, the
       last hit	on the space bar will cause nn will continue to	the next group
       with unread articles, and enter selection mode on that group.

FREQUENTLY USED	OPTIONS
       nn accepts a lot	of command line	options, but here only the  frequently
       used options are	described.  Options can	also be	set permanently	by in-
       cluding appropriate variable settings in	the init file described	later.
       All  options  are  described in the section on Command Line Options to-
       wards the end of	this manual.

       The frequently used command line	options	are:

       -a0    Catch up on unread articles and groups.  See the section	"Catch
	      up" below.

       -g     Prompt  for  the	name  of  a news group or folder to be entered
	      (with completion).

       -r     Used with	-g to repeatedly prompt	for groups to enter.

       -lN    Print only the first N lines of the first	page of	 each  article
	      before  prompting	to continue.  This is useful on	slow terminals
	      and modem	lines to be able to see	the first few lines of	longer
	      articles.

       -sWORD Collect  only  articles  which  contain the string WORD in their
	      subject (case is ignored).  This is normally combined  with  the
	      -x and -m	options	to find	all articles on	a specific subject.

       -s/regexp
	      Collect  only articles whose subject matches the regular expres-
	      sion regexp.  This is normally combined with the -x and  -m  op-
	      tions to find all	articles on a specific subject.

       -nWORD or -n/regexp
	      Same  as	-s except that it matches on the sender's name instead
	      of the article's subject.	 This is normally combined with	the -x
	      and -m options to	find all articles from a specific author.   It
	      cannot be	mixed with the -s option!

       -i     Normally	searches  with	-n and -s are case independent.	 Using
	      this option, the case becomes significant.

       -m     Merge all	articles into one `meta	group' instead of showing them
	      one group	at a time.  This is normally used together with	the -x
	      and -s options to	get all	the articles  on  a  specific  subject
	      presented	 on  a	single	menu  (when you	don't care about which
	      group they belong	to).  When -m is used,	no  articles  will  be
	      marked as	read.

       -x[N]  Present (or scan)	all (or	the last N) unread as well as read ar-
	      ticles.  When this option	is used, nn will never mark unread ar-
	      ticles as	read (i.e. .newsrc is not updated).

       -X     Read/scan	 unsubscribed  groups  also.  Most useful when looking
	      for a specific subject in	all groups, e.g.
		   nn -mxX -sSubject all

       news.group  or  file  or	 +folder
	      If none of these arguments are given, all	subscribed news	groups
	      will be used.  Otherwise,	only the specified news	groups	and/or
	      files  will  be  collected  and presented.  In specifying	a news
	      groups, the following `meta notation' can	be used:
	      If the news group	ends with a `.'	(or `.all'), all subgroups  of
	      the news group will be collected,	e.g.
		   comp.sources.
	      If  a news group starts with a `.' (or `all.'), all the matching
	      subgroups	will be	collected, e.g.
		   .sources.unix
	      The argument `all' identifies all	(subscribed) news groups.

COMMAND	INPUT
       In general, nn commands consist of one or two key-strokes, and  nn  re-
       acts instantly to the commands you give it; you don't have to enter re-
       turn after each command (except where explicitly	stated).

       Some  commands  have more serious effects than others, and therefore nn
       requests	you to confirm the command.  You confirm by hitting the	the  y
       key, and	reject by hitting the n	key.  Some `trivial' requests may also
       be confirmed simply by hitting space.  For example, to confirm the cre-
       ation  of  a  save file,	just hit space,	but if one or more directories
       also have to be created,	you must enter y.

       Many commands will require that you enter a line	of text, e.g.  a  file
       name  or	a shell	command.  If you enter space as	the first character on
       a line, the line	will be	filled with a default value  (if  one  is  de-
       fined).	 For  example,	the  default value for a file name is the last
       file name you have entered, and the default shell command is your  pre-
       vious  shell command.  You can edit this	default	value as well as a di-
       rectly typed text, using	the following editing  commands.   The	erase,
       kill,  and  interrupt keys are the keys defined by the current tty set-
       tings.  On systems without job control, the suspend key	will  be  con-
       trol-Z  while  it  is  the current suspend character on system with job
       control.

       erase
	      Delete the last character	on the line.

       delete-word   (normally ^W)
	      Delete the last word or component	of the input.

       kill
	      Delete all characters on the line.

       interrupt  and  control-G
	      Cancel the command which needs the input.

       suspend
	      Suspend nn if supported by the system.  Otherwise, spawn an  in-
	      teractive	shell.

       return
	      Terminate	the line, and continue with the	command.

       Related	variables: erase-key, flow-control, flush-typeahead, help-key,
       kill-key, word-key.

BASIC COMMANDS
       There are numerous commands in nn, and most of them can be invoked by a
       single keystroke.  The descriptions in this manual  are	based  on  the
       standard	 bindings  of  the commands to the keys, but it	is possible to
       customize these using the map command described later.  For each	of the
       keystroke commands described in this manual, the	corresponding  command
       name will also be shown in curly	braces,	e.g. {command}.

       The following commands work in both selection mode and in reading mode.
       The notation ^X means `control X':

       ?    {help}
	      Help.   Gives  a	one page overview of the commands available in
	      the current mode.

       ^L   {redraw}
	      Redraw screen.

       ^R   {redraw}
	      Redraw screen (Same as ^L).

       ^P   {message}
	      Repeat the last message shown on the message line.  The  command
	      can be repeated to successively show previous messages (the max-
	      imum number of saved messages is controlled via the message-his-
	      tory variable.)

       !    {shell}
	      Shell  escape.  The user is prompted for a command which is exe-
	      cuted by your favorite shell (see	the  shell  variable).	 Shell
	      escapes are described in detail later on.

       Q    {quit}
	      Quit nn.	When you use this command, you neither lose unread ar-
	      ticles  in  the  current group nor the selections	you might have
	      made (unless  the	 articles  are	expired	 in  the  meantime  of
	      course).

       V    {version}
	      Print release and	version	information.

       :command	 {command}
	      Execute  the  command  by	name.  This form can be	used to	invoke
	      any of nn's commands, also those which cannot be bound to	a  key
	      (such  as	 :coredump),  or those which are not bound to a	key by
	      default (such as post and	unshar).

       Related and basic variables: backup, backup-suffix,  confirm-auto-quit,
       expert, mail, message-history, new-group-action,	newsrc,	quick-count.

SELECTION MODE
       In  selection  mode,  the screen	is divided into	four parts: the	header
       line showing the	name of	the news group and the number of articles, the
       menu lines which	show the collected articles - one  article  per	 line,
       the prompt line where you enter commands, and the message line where nn
       prints various messages to you.

       Each  menu  line	begins with an article id which	is a unique letter (or
       digit if	your screen can	show more than 26 menu lines).	To  select  an
       articles	 for  reading,	you simply enter the corresponding id, and the
       menu line will be high-lighted to indicate  that	 the  article  is  se-
       lected.	 When  you  have  selected all the interesting articles	on the
       present menu, you simply	hit space.

       If there	are more articles collected for	the current group  than	 could
       be  presented  on one screenful of text,	you will be presented with the
       next portion of articles	to select from.	 When you have had the	oppor-
       tunity  to  select  among  all the articles in the group, hitting space
       will enter reading mode.

       If no articles have been	selected in the	current	group,	hitting	 space
       will  enter  selection  mode  on	the next news group, or	exit nn	if the
       current group was the last news group with unread articles. It is  thus
       possible	 to  go	 through  ALL  unread articles (without	reading	any of
       them) just by hitting space a few times.

       The articles will be presented on the menu using	one of	the  following
       layouts:

       0:     x	Name.........  Subject.............. +123

       1:     x	Name.........	123  Subject..............

       2:     x	123  Subject...................................

       3:     x	Subject...........................................

       4:     x	   Subject........................................

       Here  x is the letter or	digit that must	be entered to select the arti-
       cle, Name is the	real name of the sender	(or the	mail  address  if  the
       real  name  cannot be found), Subject is	the contents of	the "Subject:"
       line in the article, and	123 is the number of lines in the article.

       Layout 0	and 1 are just two ways	to present the same information, while
       layout 2	and 3 are intended for groups whose articles  have  very  long
       subject lines, e.g. comp.sources.

       Layout 4	is a hybrid between layout 1 and 3.  It	will normally use lay-
       out  1,	but  it	will use layout	3 (with	a little indentation) for menu
       lines where the subject is longer than the space	available with	layout
       1.

       Layout  1 is the	default	layout,	and an alternative menu	line layout is
       selected	using the -L option or by setting the layout  variable.	  Once
       nn  is  started	the  layout can	be changed at any time using the " key
       {layout}.

       The Name	is limited to 16 characters, and to make maximum use  of  this
       space,  nn  will	 perform a series of simplifications on	the name, e.g.
       changing	first names into initials, removing domain names from mail ad-
       dresses (if the real name is not	found) etc.  It	does a good  job,  but
       some  people on the net put weird things	into the From: field (or actu-
       ally into their password	file) which result in nn producing quite cryp-
       tic, and	sometimes funny	"names".

       One a usual 80 column terminal, the Subject  is	limited	 to  about  60
       characters  (75	in  layout 3) and is thus only an approximation	to the
       actual subject line which may be	much longer.  To get as	 much  out  of
       this space, Re: prefixes	(in various forms) are recognized and replaced
       by a single `>' character (see the re-layout variable).

       Since  articles	are sorted according to	the subject, two or more adja-
       cent articles may share the same	subject	(ignoring any `>'s).  In  this
       case,  only the first article will show the subject of the article; the
       rest will only show the `>' character in	the subject field (or a	`-' if
       there is	no `>' at the beginning	of the line).	A  typical  menu  will
       thus  only show each subject once, saving a lot of time in scanning the
       news articles.

       If consolidated menus (see section below) are enabled,  adjacent	 arti-
       cles  sharing  the same subject will be shown with a single line	on the
       menu corresponding to the first of the articles.	 The number  of	 arti-
       cles  with the same subject will	be shown as a braketed number in front
       of the subject, e.g. with layout	1:
	    x Name.........   123  [4] Subject..............
       For further information see the section on consolidated menus below.

       Related variables: collapse-subject, columns,  confirm-entry,  confirm-
       entry-limit,  entry-report-limit,  fsort,  kill,	 layout, limit,	lines,
       long-menu, re-layout, repeat, slow-mode,	sort, sort-mode,  split,  sub-
       ject-match-limit,  subject-match-offset,	 subject-match-parts, subject-
       match-minimum.

ARTICLE	ATTRIBUTES
       While nn	is running and between invocations, nn associates an attribute
       with each article on your system.  These	attributes are used to differ-
       entiate between read and	unread articles, selected  articles,  articles
       marked  for  later  treatment, etc.  Depending on how nn	is configured,
       these attributes	can be saved between invocations of  nn,  or  some  of
       them may	only be	used while nn is running.

       The attribute is	shown on the menu using	either a single	character fol-
       lowing  the  article id or by high-lighting the menu line, depending on
       the attribute and the capabilities  of  the  terminal.	You  can  also
       change the attributes to	your own taste (see the	attributes variable).

       The  attribute of an article can	be changed explicitly using the	selec-
       tion mode commands described below, or it will change automatically for
       example when you	have read or saved a selected article.	If  a  command
       may  change any article attributes, it will be noted in the description
       of the command.	The following descriptions of the attributes will only
       mention the most	important commands that	may set	(or preserve) the  at-
       tribute.

       The following attributes	may be associated with an article:

       read   Menu attribute "." - indicates that the article has been read or
	      saved.   When you	leave the group, these articles	will be	marked
	      permanently read,	and are	not presented the next time you	 enter
	      the group.

       seen   Menu  attribute  "," - indicates that the	article	is unread, but
	      that it has been presented on a menu.  Depending on  how	nn  is
	      configured,  these  articles  will  automatically	be marked read
	      when you leave the group,	they may remain	seen, or they may just
	      be unread	the next time you enter	the group (see the  auto-junk-
	      seen, confirm-junk-seen, and retain-seen-status variables).
	      Only  the	 commands continue (space) and read-skip (X) will mark
	      unread articles on the current (or all) menu pages as seen  when
	      they  are	 used.	 Other	commands  that scroll through the menu
	      pages or enter reading mode will let unread articles remain  un-
	      read.

       unread Menu  attribute  " " - indicates an unread article.  These arti-
	      cles were	unread when you	entered	the group, and they may	remain
	      unread when you leave the	group, unless they  have  been	marked
	      seen  by	the  command that you used to leave the	group or enter
	      reading mode.

       selected
	      Menu line	high-lighted (or menu attribute	"*") - indicates  that
	      you  have	selected the article.  If you leave the	group, the se-
	      lected articles will remain selected the next time you enter the
	      group.  When you have read a  selected  article,	the  attribute
	      will automatically change	to read.

       auto-selected
	      These  articles have the same appearance as selected articles on
	      the menu,	and the	only difference	is that	 these	articles  have
	      been  selected  automatically  via  the  auto-selection facility
	      rather than manually by you.  Very  few  commands	 differentiate
	      between these attributes and if they do, it is explicitly	stated
	      in  this manual.	The main difference is that these articles are
	      only marked as unread when you leave the group  (supposing  they
	      will also	be auto-selected the next the group is entered).  This
	      simplifies the house-keeping between invocations of nn.

       leave  Menu  attribute  "+"  - indicates	that the article is marked for
	      later treatment by the leave-article (l) command.	  These	 arti-
	      cles may be selected (on demand) when you	have read all selected
	      articles	in  a  group.  However,	if you do not select them then
	      immediately, they	are stored as  the  leave-next	attribute  de-
	      scribed below.

       leave-next
	      Menu  attribute  "="  - indicates	that the article is marked for
	      later treatment by the leave-next	(L) command.  This is a	perma-
	      nent attribute, which will remain	on the article until  you  ei-
	      ther  read  the article, change the attribute, or	it is expired.
	      So assinging this	attribute to an	article	will effectively  keep
	      it unread	until you do something.	 If the	variable select-leave-
	      next  is	set,  nn will ask whether these	articles should	be se-
	      lected on	entry to a group (but naturally, doing so will	change
	      the leave-next attribute to select).

       cancelled
	      Menu  attribute  "#"  - indicates	that the article has been can-
	      celled.  This is mainly useful when tidying a folder; it is  set
	      by  the  cancel  (C)  command, and can be	cleared	by any command
	      that change attributes, e.g. you can select and deselect the ar-
	      ticle.

       killed Menu attribute "!" - indicates that the article has been	killed
	      (e.g.  by	the K {kill-select} command).  Killed articles are im-
	      mediately	 removed from the menu,	so you should not normally see
	      articles with this attribute.  If	you do,	report it as a bug!

       The attributes are saved	in two	files:	.newsrc	 (read	articles)  and
       .nn/select  (other attributes).	Plain unread articles are saved	by not
       occurring in either of these files.  Both files are described  in  more
       detail later on.

       Related	variables:  attributes,	auto-junk-seen,	confirm-junk-seen, re-
       tain-seen-status, select-leave-next.

SELECTION MODE COMMANDS
       The primary purpose of the selection mode is of course  to  select  the
       articles	 to be read, but numerous other	commands may also be performed
       in this mode: saving of articles	in files, replying and following up on
       articles, mailing/forwarding articles, shell escapes etc.

       As described above, the selected	articles are marked either by  showing
       the corresponding menu line in standout mode (reverse video), or	if the
       terminal	does not have this capability by placing an asterisk (*) after
       the selection letter or digit.

       Most  commands  which  are  used	to select articles will	work as	toggle
       commands.  If the article is  not  already  selected,  the  selectedat-
       tribute on the article(s), independent on the previous attribute.  Oth-
       erwise,	the  article(s)	 will be deselected and	marked unread.	Conse-
       quently,	any article can	be marked unread simply	be selecting and dese-
       lecting it.

       During selection, the cursor will normally be  placed  on  the  article
       following  the  last article whose attribute was	changed	(initially the
       first article).	The article pointed out	by the cursor  is  called  the
       current	article,  and the following commands work relative to the cur-
       rent article and	cursor position.

       abc...z 01..9  {article N}
	      The article with the given identification	letter or digit	is se-
	      lected or	deselected.  The following article becomes the current
	      article.	If the variable	auto-select-subject is set, all	 arti-
	      cles with	the same subject as the	given article are selected.

       .    {select}
	      Select  or  deselect  the	current	article	and move the cursor to
	      the next article.

       ,    {line+1}
	      Move the cursor to the next article.  You	can use	the down arrow
	      as well.

       /    {line-1}
	      Move cursor to previous article.	You can	use the	 up  arrow  as
	      well.

       *    {select-subject}
	      Select or	deselect all articles with same	subject	as current ar-
	      ticle.  This will	work across several menu pages if necessary.

       -x   {select-range}
	      Select or	deselect the range of articles between the current ar-
	      ticle  and  the article specified	by x.  For example you can se-
	      lect all articles	from e to k by simply typing e-k.

       The following commands may change the attributes	on all articles	on the
       current menu page, or on	all articles on	all menu pages.

       @    {select-invert}
	      Reverse selections.  All selected	articles on the	 current  page
	      are deselected, and vice-versa.  (Use the	find command to	select
	      all articles.)

       ~    {unselect-all}
	      Deselect	all  auto-selected  articles  in the group (this works
	      across all menu pages).  If the command is executed  twice,  the
	      selected articles	will also be deselected.

       +    {select-auto}
	      Perform  auto-selections	in the group (see the section on "auto
	      kill/select" below).

       =    {find}
	      Prompts for a regular expression,	and selects  all  articles  on
	      the  menu	(all pages) which matches the regular expression.  De-
	      pending on the variable select-on-sender matching	 is  performed
	      against the subject (default) or the sender of the articles.  An
	      empty answer (= return) will reuse the previous expression.  Ex-
	      ample:   The  command = .	return will select all articles	in the
	      group.

       J    {junk-articles}
	      This is a	very versatile command which can be  used  to  perform
	      all  sorts  of attribute changes,	either on individual articles,
	      all articles on the current menu page, all articles with a  spe-
	      cific  attribute,	 or all	available articles.  To	access all the
	      functions	of this	command, the J key may have to be  hit	up  to
	      four  times, to loop through different one-line menus.  The full
	      functionality of the junk-articles command  is  described	 in  a
	      separate section below.

       L    {leave-next}
	      This  is	a specialized version of the generic J {junk-articles}
	      command to set the leave-next attribute on a subset of the arti-
	      cles on the menu.	 It is also described further below.

       The following commands move between the pages  belonging	 to  the  same
       news group when there are more articles than will fit on	a single page.
       These commands will not change any article attributes.

       >    {page+1}
	      Goto next	menu page.

       <    {page-1}
	      Goto  previous  menu page, or to last menu page if on first menu
	      page.

       $    {page=$}
	      Goto last	menu page.

       ^    {page=1}
	      Goto first menu page.

       The following commands are used to enter	reading	mode for the  selected
       articles,  and  to  move	between	news groups (in	selection mode).  They
       may change article attributes if	noted below.

       space	 {continue}
	      Continue to next menu page, or if	on last	menu  page,  read  the
	      selected	articles.  If no articles have been selected, continue
	      to the next news group.  The unread articles on the current menu
	      page will	automatically be marked	seen.

       return	 {continue-no-mark}
	      Identical	to the continue	command, except	that the unread	 arti-
	      cles  on the current menu	page will remain unread.  (The newline
	      key has the same effect).

       Z    {read-return}
	      Enter reading mode immediately with the currently	selected arti-
	      cles.  When all articles have been  read,	 return	 to  selection
	      mode  in the current group.  It will mark	selected articles read
	      as they are read,	but unread articles are	not  normally  changed
	      (can be controlled with the variable marked-by-read-return.)

       X    {read-skip}
	      Mark  all	unmarked articles seen on all menu pages (or the pages
	      defined by the marked-by-read-skip variable), and	enter  reading
	      mode  immediately	 with the currently selected articles.	As the
	      selected articles	are read, they are marked read.	 When all  se-
	      lected  articles have been read, nn will enter selection mode in
	      the next news group.  When no articles are selected, it goes di-
	      rectly to	the next group.	 This can be used to skip all the  ar-
	      ticles  in  a  large news	group without having to	go through all
	      the menu pages.

       If you don't want to read the current group now,	but want  to  keep  it
       for later, you can use the following commands which will	only mark seen
       and  read  articles as read.  Currently selected	articles will still be
       selected	the next time you enter	the group.   None  of  these  commands
       will change any attributes themselves (by default).

       N    {next-group}
	      Go  forward  to the next group in	the presentation sequence.  If
	      the variable marked-by-next-group	is set articles	 on  the  menu
	      can optionally be	marked seen

       P    {previous}
	      Go  back	to the previous	group.	This command will enter	selec-
	      tion mode	on the last active group (two P	commands  in  sequence
	      will  bring  you to the current group).  If there	are still some
	      unread articles in the group, only those articles	will be	shown.
	      Otherwise, all the articles which	were unread when  nn  was  in-
	      voked will be shown marked with the read attribute (which	can be
	      changed as usual).

       As described in the "Article Attributes"	section, the read and seen ar-
       ticles will normally be marked read when	you leave the group, and these
       articles	are not	shown the next time you	enter the group.

       In  all	releases prior to release 6.4, it was impossible to have indi-
       vidual articles in a group marked unread	when you left a	group, and the
       default behaviour of release 6.4	onwards	will closely match the	tradi-
       tional  behaviour.   This  means	 that  the  seen and read articles are
       treated alike for most practical	purposes  with	the  default  variable
       settings.

       If  you	don't like nn to silently mark the seen	articles read, you can
       set the variable	confirm-junk-seen to get nn to prompt you for  confir-
       mation  before doing this, or you can unset the variable	auto-junk-seen
       to simply keep the seen articles	for the	next time you enter the	group.
       You then	have to	use the	J {junk-articles} to mark articles read.

       Using return {continue-no-mark} will also allow you  to	keep  articles
       unread  rather  than  marking them seen when scrolling through the menu
       pages and entering reading mode.	 If this  is  your  preferred  reading
       style, you can remap space to this command.

       Related	variables: auto-junk-seen, auto-preview-mode, auto-select-sub-
       ject, case-fold-search, confirm-auto-quit, confirm-entry, confirm-junk-
       seen, marked-by-next-group, marked-by-read-return, marked-by-read-skip,
       retain-seen-status, select-on-sender.

CONSOLIDATED MENUS
       Normally, nn will use one menu line for each article, so	if  there  are
       many articles with identical subjects, each menu	page will only contain
       a  few different	subjects.  To have each	subject	occur only once	on the
       menu, nn	can operate with consolidated menus by	setting	 the  variable
       consolidated-menu.

       When  consolidated  menus  are used, nn operates	with two kinds of sub-
       jects: open and closed.

       An open subject is a subject which is shown in the traditional way with
       one menu	line for each article with the given subject.  In other	words,
       when consolidated menus are not used, all subjects  are	open  (by  de-
       fault).

       A  closed  subject  is  a multi-article subject which is	presented by a
       single menu line.  This line will be the	normal menu line for the first
       (oldest)	article	with the subject, but with the subject field annotated
       with a bracketed	number showing the number of articles with  that  sub-
       ject, e.g.
	    a Kim F. Storm     12  [4] Future plans for	nn
	    b.Kim F. Storm     43  [3] More plans for nn
       In  this	 example,  there  are four unread articles with	subject	`a' of
       which the first is posted by me and has 12 lines.  The rest of the  ar-
       ticles  are hidden, and will only be shown on request.  The `.'	marker
       on subject `b' shows that all three articles within that	 subject  have
       been read (or seen).

       To  select (or deselect)	ALL the	articles within	a closed subject, sim-
       ply select the article shown on the menu; this will  automatically  se-
       lect (or	deselect) the rest (see	auto-select-closed).  When all the un-
       read  articles within a closed subject are selected, the	menu line will
       be high-lighted.

       If you want to view the individual articles in a	subject	(maybe to  se-
       lect individual articles), you can open the subject with	the commands:

       (x     Open subject x on	menu.

       ((     Open current subject.

       When  you  have	completed viewing the opened subject, you can close it
       again using the commands:

       )x     Close subject x on menu (x is any	article	with the subject).

       ))     Close current subject.

       In the basic layout of the menu line for	 a  closed  subject  as	 shown
       above, ALL articles in the closed subject are supposed to be either:

       unread The menu line is not high-lighted.

       selected
	      Menu line	is fully high-lighted (if all UNREAD are selected).

       read/seen
	      There is a `.' (read attribute) following	the article id.

       If neither of these cases apply,	i.e. there is a	mixture	of unread, se-
       lected,	and  seen/read articles, the bracketed number will have	one of
       the following formats:

       [U:T]  There are	U unread articles of T total (U<T).

       [S/T]  There are	S selected articles of T total (S<U=T).

       [S/U:T]
	      There are	S selected of U	unread of T total (S<U<T).

       If there	are any	selected articles (S>0), the information  between  the
       brackets	 will be high-lighted (to show that something is selected, but
       not all the unread articles).

       Notice:	Consolidated menus only	work with the `subject'	and  `lexical'
       sorting methods.

       Variables  related  to consolidated menus are: auto-select-closed, con-
       solidated-menu,	 counter-delim-left,   counter-delim-right,   counter-
       padding,	save-closed-mode.

THE JUNK-ARTICLES AND LEAVE-NEXT COMMANDS
       The J {junk-articles} command is	a very flexible	command	which can per-
       form all	sorts of attribute changes, either on individual articles, all
       articles	 on  the  current  menu	page, all articles with	a specific at-
       tribute,	or all available articles.

       To access all the functions of this command, the	J key may have	to  be
       hit up to four times, to	loop through different one-line	menus:

       Mark Read
	      This submenu allows you to mark articles read.

       Unmark This submenu allows you to mark articles unread.

       Select This  submenu  allows  you to select articles based on their at-
	      tribute.

       Kill   This submenu allows you to mark articles read  and  remove  them
	      from the menu based on their attribute.

       The  L  {leave-next}  command  is  an extension of the J	command	with a
       fifth menu:

       Leave  This menu	allows you to mark articles for	 later	handling  with
	      the  leave-next attribute	which will keep	the article unread un-
	      til you explicitly change	the attribute (e.g. by reading it)  or
	      it is expired.

       For each	of these submenus, nn will list	the most plausible choices you
       may  use, but all of the	following answers can be used at all submenus.
       When you	have entered a choice,	nn  will  afterward  ask  whether  the
       change should be	made to	all menu pages or only the current page.

       J      Show next	submenu.

       L      Change attribute on all leave articles.

       N      Change attribute on all leave-next articles.

       R      Change attribute on all read articles.

       S      Change attribute on all seen articles.

       U      Change attribute on all unmarked (i.e. unread) articles.

       A      Change  attribute	 on  all  articles no matter their current at-
	      tribute.

       *      Change attribute on all selected articles	on the current page.

       +      Change attribute on all selected articles	on all pages.

       a-z0-9 Change attribute on one or more specific articles	on the current
	      page.  You end the list of articles by a space or	by  using  one
	      of the other choices described above.

       .      Change attribute on current article.

       , /    Move  the	 current  article down or up the menu without changing
	      any attributes.

READING	MODE COMMANDS
       In reading mode,	the selected articles are  presented  one  page	 at  a
       time.   To  get the next	page of	an article, simply hit space, and when
       you are on the last page	of an article, hit space to get	 to  the  next
       selected	article.  Articles are normally	marked read when you go	to the
       next  article, while going back to the menu, quitting nn, etc. will re-
       tain the	attribute on the current article.

       When you	are on the last	page of	the last article, hit space  to	 enter
       selection  mode on the next group (or the current group if reading mode
       was entered using the Z command).

       To read an article, the following text scrolling	 commands  are	avail-
       able:

       space	 {continue}
	      Scroll  one  page	 forward  or continue with the next article or
	      group as described above.

       backspace / delete  {page-1}
	      Go one page backwards in article.

       d    {page+1/2}
	      Scroll one half page forward.

       u    {page-1/2}
	      Go one half page backwards.

       return	 {line+1}
	      Scroll one line forward in the article.

       tab  {skip-lines}
	      Skip over	lines starting with the	same  character	 as  the  last
	      line  on the current page.  This is useful to skip over included
	      text or to the next file in a shell archive.

       ^    {page=1}
	      Move to the first	page (excluding	the header) of the article.

       $    {page=$}
	      Move to the last page of the article.

       gN   {line=@}
	      Move to line N in	the article.

       /regexp	 {find}
	      Search forward for text matching the regular  expression	regexp
	      in  the  article.	 If a matching text is found, it will be high-
	      lighted.

       .    {find-next}
	      Repeat search for	last regular expression.

       h    {page=0}
	      Show the header of the article, and continue from	the top	of the
	      article.

       H    {full-digest}
	      If the current article is	extracted from a digest, show the  en-
	      tire  digest  article  including	its header.  Another H command
	      will return to the current subarticle.

       D    {rot13}
	      Turn rot13 (caesar) decryption on	and off	for the	current	 arti-
	      cle,  and	redraw current page.  If the article is	saved while it
	      is decrypted on the screen, it will be saved in  decrypted  form
	      as well!

       c    {compress}
	      Turn  compression	 on and	off for	the current article and	redraw
	      current page.  With compression turned on, multiple  spaces  and
	      tabs  are	shown as a single space.  This makes it	much easier to
	      read right justified text	 which	separate  words	 with  several
	      spaces.  (See also the compress variable)

       The following commands are used to move among the selected articles.

       n    {next-article}
	      Move  to	next selected article.	This command skips the rest of
	      the current article, marks it read, and jumps  directly  to  the
	      first page of the	next selected article (or to the next group if
	      it was the last selected article).

       l    {leave-article}
	      Mark  the	 current article with the leave	attribute and continue
	      with the next selected article.  When all	the selected  articles
	      in  the  current	group have been	read, these left over articles
	      can be automatically selected and	shown once more, or the	treat-
	      ment can be postponed to the next	time you enter the group.
		This is	particularly useful if you see an  article  which  you
	      may  want	to respond to unless one the following articles	is al-
	      ready saying what	you intended to	say.

       L    {leave-next}
	      Mark the current article with the	leave-next attribute and  con-
	      tinue with the next selected article.

       p    {previous}
	      Goto previous article.

       k    {next-subject}
	      Kill  subject.  Skips rest of current article, and all following
	      articles with the	same subject.  The skipped articles are	marked
	      read.  To	kill a subject permanently use the K command.

       *    {select-subject}
	      Show next	article	with same subject  (even  if  it  is  not  se-
	      lected).	 This  command will select all following articles with
	      the same subject as the current article (similar to the `*' com-
	      mand in selection	mode).	This can be used to  select  only  the
	      first  article  on  a subject in selection mode, and then	select
	      all follow-ups in	reading	mode if	you find the article interest-
	      ing.

       a    {advance-article}
	      Goto the following article on the	menu even if  it  is  not  se-
	      lected.	This command skips the rest of the current article and
	      jumps directly to	the first page of the next  article  (it  will
	      not  skip	to the next group if it	is the last article).  The at-
	      tribute on the current article will be restored, except for  the
	      unread attribute which will be changed to	seen.

       b    {back-article}
	      Goto  the	 article before	current	article	on the menu even if it
	      is not selected.	This is	similar	to the a command,  except  for
	      the direction.

       The following commands perform an immediate return from reading mode to
       selection mode in the current group or skip to the next group.

       =    {goto-menu}
	      Return to	selection mode in the current group (think of =	as the
	      "icon" of	the selection menu).  The articles read	so far will be
	      marked read.

       N    {next-group}
	      Skip the rest of the selected and	unread articles	in the current
	      group  and  go  directly	to the next group.  Only the read (and
	      seen) articles in	the current group are marked as	read.

       X    {read-skip}
	      Mark all articles	in the current group as	read and  go  directly
	      to the next group.  (You will be asked to	confirm	this command.)

       Related	variables:  case-fold-search,  charset,	 compress,  data-bits,
       date, header-lines, mark-overlap, monitor, overlap,  scroll-clear-page,
       stop, trusted-escape-codes, wrap-header-margin.

PREVIEWING ARTICLES IN SELECTION MODE
       In  selection  mode,  it	 is possible to	read a specific	article	on the
       menu without entering reading mode for all the selected articles	on the
       menu.  Using the	commands described below will enter reading  mode  for
       one  article  only,  and	then return to the menu	mode immediately after
       (depending on the setting of the	preview-continuation variable).

       If there	are more than 5	free lines at the bottom of the	 menu  screen,
       nn  will	 use  that space to show the article (a	minimal	preview	window
       can be permanently allocated with the window variable).	Otherwise, the
       screen will be cleared to show the article.

       After previewing	an article, it will be marked read  (if	 the  preview-
       mark-read  variable  is set), and the following article will become the
       current article.

       %x   {preview}
	      Preview article x.

       %%   {preview}
	      Preview the current article.

       When the	article	is being shown,	the following  reading	mode  commands
       are very	useful:

       =    {goto-menu}
	      Skip the rest of the current article, and	return to menu mode.

       n    {next-article}
	      Skip the rest of the current article, and	preview	the next arti-
	      cle.

       l    {leave-article}
	      Mark  the	article	as selected (!)	on the menu for	handling later
	      on.  Then	skip the rest of the current article, and preview  the
	      next article.

       %y   {preview}
	      Preview article y	.

       If  the	variable auto-preview-mode is set, just	hitting	the article id
       in menu mode will enter preview mode on the specified article.

       Related variables: auto-preview-mode, min-window, preview-continuation,
       preview-mark-read, window.

SAVING ARTICLES
       The following commands are used	to  save  articles  in	files,	unpack
       archives,  decode binaries, etc.	 It is possible	to use the commands in
       both reading mode to save the current article and in selection mode  to
       save one	or more	articles on the	menu.

       The  saved  articles will be appended to	the specified file(s) followed
       by an empty line	each.  Both files and directories will be  created  as
       needed.	 When an article has been saved	in a file, a message reporting
       the number of lines saved will be shown if the save-report variable  is
       set (default on).

       S    {save-full}
	      Save articles including the full article header.

       O    {save-short}
	      Save  articles  with  a short header containing only the name of
	      the sender, the subject, and the posting date of the article.

       E    {save-header}
	      Save only	the header of the articles.

       W    {save-body}
	      Write article without a header.

       :print	 {print}
	      Print article.  Instead of a file	name, this command will	prompt
	      for the print command to	which  the  current  article  will  be
	      piped.   The default print command is specified at compile time,
	      but it can be changed by setting the printer variable.  The out-
	      put will be identical to that of the O command.

       :patch	 {patch}
	      Send articles through patch(1) (or the program  defined  in  the
	      patch-command  variable).	  Instead  of a	file name, you will be
	      prompted for the name of a directory in which you	want the patch
	      command to be executed.  nn will then pipe the body of the arti-
	      cle through the patch command.
		The output from	the patch process will be shown	on the	screen
	      and  also	appended to a file named Patch.Result in the patch di-
	      rectory.

       :unshar	 {unshar}
	      Unshar articles.	You will be prompted for the name of a	direc-
	      tory  in which you want nn to unshar the articles.  nn will then
	      pipe the proper parts of the article body	into  a	 Bourne	 Shell
	      whose working directory will be set to the specified directory.
		During	the  unpacking,	 the  normal  output  from  the	unshar
	      process will appear on the screen, and the menu or article  text
	      will be redrawn when the process is finished.
		The  output  is	also appended to a file	named Unshar.Result in
	      the unshar directory.
		The  file  specified  in  unshar-header-file   (default	  "Un-
	      shar.Headers")  in  the unshar directory will contain the	header
	      and initial text (before the shar	data) from the	article.   You
	      can use the `G' {goto-group} command to look at the Unshar.Head-
	      ers file.

       :decode	 {decode}
	      Decode  uuencoded	 articles  into	 binary	 files.	  You  will be
	      prompted for the name of a directory in which  you  want	nn  to
	      place  the  decoded  binary files	(the file names	are taken from
	      the uuencoded data).
		nn will	combine	several	articles into single files as  needed,
	      and you can even decode unrelated	packages (into the same	direc-
	      tory) with one decode command.
		To  be	able to	decode a binary	file which spans several arti-
	      cles, nn may have	to ignore lines	which fail the	normal	sanity
	      checks  on  uuencoded data instead of treating them as transmis-
	      sion errors.  Consequently, it is	strongly recommended to	 check
	      the  resulting decoded file using	the checksum which is normally
	      contained	in the original	article.  (Actually, you are also sup-
	      posed to do this after decoding with a stand-alone uudecode pro-
	      gram).
		The header and initial information in the decoded articles are
	      saved in the file	specified in decode-header-file	(default  "De-
	      code.Headers") in	the same directory as the decoded files.
		If decode-skip-prefix is non-null, :decode will	attempt	to ig-
	      nore up to that many characters on each line to find the encoded
	      data.  This is particularly useful in some binaries groups where
	      files  are  both	uuencoded and packed with shar;	nn will	ignore
	      the prefix added to each line by shar, and thus be able  to  un-
	      shar, concatenate, and decode multi-part postings	automatically.

       In reading mode,	the following keys can also be used to invoke the save
       commands:

       s      Same as S.

       o      Same as O.

       w      Same as W.

       P      Same as :print.

       The save	commands will prompt for a file	name which is expanded accord-
       ing to the rules	described in the section on file name expansion	below.
       For  each  group,  it is	possible to specify a default save file	in the
       init file, either in connection with the	group presentation sequence or
       in a separate save-files	section	(see below).  If a default  save  file
       is  specified  for the group, nn	will show this on the prompt line when
       it prompts for the file name.  You can edit this	name as	usual, but  if
       you  kill the entire name immediately, nn will replace the default name
       with the	last file name you entered.  If	you kill this as well, nn will
       leave you with a	blank line.

       If the quick-save variable is set, nn will only prompt for a save  file
       name  when  the	current	article	is inside a folder; otherwise, the de-
       fault save file defined in the init file	will be	used unconditionally.

       If the file (and	directories in the path) does not exist, nn  will  ask
       whether the file	(and the directories) should be	created.

       If the file name	contains an asterisk, e.g.
	    part*.shar
       nn  will	 save each of the articles in uniquely named files constructed
       by replacing the	asterisk by numbers from the sequence 1,  2,  3,  etc.
       The  format  of	the string that	replaces the * can be changed with the
       save-counter variable, and the first number to use can be  changed  via
       save-counter-offset.

       In selection mode, nn will prompt you for the identifier	of one or more
       articles	 you want to save.  When you don't want	to save	more articles,
       just hit	space.	The saved articles will	be marked read.

       If you enter an asterisk	`*' when you are prompted for  an  article  to
       save,  nn will automatically save all the selected articles on the cur-
       rent menu page and mark them read.

       Likewise, if you	enter a	plus `+', nn will save all the selected	 arti-
       cles on all menu	pages and mark them read.

       This  is	 very useful to	unpack an entire package using the :unshar and
       :decode commands.  It can also be used in combination with the save se-
       lected articles feature to save a selection of  articles	 in  separate,
       successively  numbered  files.	But do not confuse these two concepts!
       The S* and S+ commands can be used to save the selected articles	 in  a
       single  file  as	 well  as  in separate files, and the save in separate
       files feature can be used also when saving individual articles,	either
       in the selection	mode, or in the	article	reading	mode.

       When  articles  are  saved in a file with a full	or partial header, any
       header lines in the body	of the article will  be	 escaped  by  a	 tilde
       (e.g.  ~From: ...) to enable nn to split	the folder into	separate arti-
       cles.  The escape string	can be redefined via  the  embedded-header-es-
       cape variable.

       Articles	 can  optionally be saved in MAIL or MMDF compatible format by
       setting the mail-format and  mmdf-format	 variables.   These  variables
       only  specify the format	used when creating a new folder, while append-
       ing to an existing folder will be done in the format of the folder (un-
       less folder-format-check	is false).

       Related variables: confirm-append, confirm-create,  decode-header-file,
       decode-skip-prefix,  default-save-file,	folder-save-file,  edit-patch-
       command,	edit-print-command, edit-unshar-command,  folder,  folder-for-
       mat-check,  mail-format,	 mmdf-format,  patch-command,  printer,	quick-
       save, save-counter, save-counter-offset,	save-report,  suggest-default-
       save, unshar-command, unshar-header-file.

FOLDER MAINTENANCE
       When  more  than	 one article is	saved in a folder, nn is able to split
       the folder, and each article in the folder can be treated like a	 sepa-
       rate article.

       This  means  that  you can save,	decode,	reply, follow-up, etc. just as
       with the	original article.

       You can also cancel (delete) individual articles	in a folder using  the
       normal  C  {cancel}  command  described	later.	When you quit from the
       folder, you will	then be	given the option to remove the cancelled arti-
       cles from the folder.

       The original folder is saved in a file named `BackupFolder~' in the .nn
       directory (see the backup-folder-path variable) by renaming or  copying
       the  old	 folder	 as appropriate.  When the folder has been compressed,
       the backup folder will be  removed  unless  the	variable  keep-backup-
       folder is set.

       If  all	articles in a folder are cancelled, the	folder will be removed
       or truncated to zero length (whatever is	allowed	by directory and  file
       permissions).   In  this	 case  no  backup folder is retained even when
       keep-backup-folder is set!

       If the variable trace-folder-packing is set, nn will show  which	 arti-
       cles are	kept and which are removed as the folder is rewritten.

       Folders	are  rewritten	in the format of the original folder, i.e. the
       mail-format and mmdf-format variables are ignored.

       Related	variables:  backup-folder-path,	  keep-backup-folder,	trace-
       folder-packing.

FILE NAME EXPANSION
       When the	save commands prompts for a file name, the following file name
       expansions are performed	on the file name you enter:

       +folder
	      The  +  is  replaced by the contents of the folder variable (de-
	      fault value "~/News/") resulting in the name of a	 file  in  the
	      folder directory.	 Examples:
		   +emacs, +nn,	+sources/shar/nn

       +      A	single plus is replaced	by the expansion of the	file name con-
	      tained in	the default-save-file variable (or by folder-save-file
	      when saving from a folder).

       ~/file The  ~  is  replaced by the contents of the environment variable
	      HOME, i.e. the path name of your home directory.	Examples:
		   ~/News/emacs, ~/News/nn, ~/src/shar/nn

       ~user/file
	      The ~user	part is	replaced by the	user's home directory  as  de-
	      fined in the /etc/passwd file.

       |command-line
	      Instead  of  writing  to	a  file, the articles are piped	to the
	      given shell (/bin/sh) command-line.  Each	save or	write  command
	      will  create  a separate pipe, but all articles saved or written
	      in one command (in selection mode) are given  as	input  to  the
	      same shell command.  Example:
		   | pr	| lp
	      This will	print the articles on the printer after	they have been
	      piped through pr.
		  It is	possible to create separate pipes for each saved arti-
	      cle  by  using a double pipe symbol in the beginning of the com-
	      mand, e.g.
		   || cd ~/src/nn ; patch

       The following symbols are expanded in a file name or command:

       $F     will be expanded to the name of the current group	with the peri-
	      ods replaced by slashes, e.g. rec/music/synth.

       $G     will be expanded to the name of the current group.

       $L     will be expanded to the last component of	the name of  the  cur-
	      rent  group.  You	may use	this to	create default save file names
	      like +src/$L in the comp.sources groups.

       $N     will be expanded to the (local) article number, e.g.  1099.   In
	      selection	mode it	is only	allowed	at the end of the file name!

       $(VAR) is replaced by the string	value of the environment variable VAR.

       Using  these  symbols, a	simple naming scheme for `default folder name'
       is +$G which will use the group name as folder name.  Another possibil-
       ity is +$F/$N.

       As mentioned above, you can also	instruct nn to save a series of	 files
       in  separate, unique files.  All	that is	required is that the file name
       contains	an asterisk, e.g.
	    +src/hype/part*.shar
       This will cause each of the articles to be saved	 in  separate,	unique
       files  named  part1.shar, part2.shar, and so on,	always choosing	a part
       number that results in a	unique file name (i.e. if part1.shar  did  al-
       ready  exist,  the first	article	would be saved in part2.shar, the next
       in part3.shar, and so on).

       Related variables: default-save-file, folder,  folder-save-file,	 save-
       counter,	save-counter-offset.

FILE AND GROUP NAME COMPLETION
       When  entering  a  file	name or	a news group name, a simple completion
       feature is available using the space, tab, and ?	keys.

       Hitting space anywhere during input will	complete the current component
       of the file name	or group name with the first available possibility.

       If this possibility is not the one you want, keep on hitting space  un-
       til it appears.

       When  the  right	 completion has	appeared, you can just continue	typing
       the file	or group name, or you can hit tab to fix  the  current	compo-
       nent,  and  get	the first possibility for the next component, and then
       use space to go through the other possible completions.

       The ?  key will produce a list of the possible completions of the  cur-
       rent  component.	  If  the  list	is too long for	the available space on
       screen, the key can be repeated to get the next part of the list.

       The current completion can be deleted with the erase key.

       The default value for a file name is the	last file name	you  have  en-
       tered, so if you	enter a	space as the first character after the prompt,
       the  last file name will	be repeated (and you can edit it if you	like).
       In some cases, a	string will already be written for you in  the	prompt
       line,  and  to  get the default value in	these cases, use the kill key.
       This also means that if you neither want	the initial value, nor the de-
       fault value, you	will have to hit the kill twice	to get a clean	prompt
       line.

       Related	variables:  comp1-key,	comp2-key,  help-key, suggest-default-
       save.

POSTING	AND RESPONDING TO ARTICLES
       In both selection mode and reading mode you can post new	articles, post
       follow-ups to articles, send replies to the author of an	 article,  and
       you can send mail to another user with the option of including an arti-
       cle  in the letter.  In reading mode, a response	is made	to the current
       article,	while in selection mode	you will be prompted for an article to
       respond to.

       The following commands are available (the  lower-case  equivalents  are
       also available in reading mode):

       R    {reply}
	      Reply  through  mail  to the author of the article.  This	is the
	      preferred	way to respond to an article unless you	think your re-
	      ply is of	general	interest.

       F    {follow}
	      Follow-up	with an	article	in the same newsgroup (unless  an  al-
	      ternative	 group	is specified in	the article header).  The dis-
	      tribution	of the follow-up is normally the same as the  original
	      article,	but  this  can be modified via the follow-distribution
	      variable.

       M    {mail}
	      Mail a letter or forward an article to a single  recipient.   In
	      selection	 mode,	you will be prompted for an article to include
	      in your letter, and in reading mode you will  be	asked  if  the
	      current article should be	included in the	letter.	 You will then
	      be  prompted  for	the recipient of the letter (default recipient
	      is yourself) and the subject of the letter (if an	article	is in-
	      cluded, you may hit space	to get the default  subject  which  is
	      the subject of the included article).
		The  header of the article is only included in the posted let-
	      ter if it	is forwarded (i.e. not edited),	or if the variable in-
	      clude-full-header	is set.

       :post	 {post}
	      Post a new article to any	newsgroup.  This command  will	prompt
	      you  for	a  comma-separated  list of newsgroups to post to (you
	      cannot enter a space because space is used for group  name  com-
	      pletion as described below).
		If you enter ? {help-key} as the first key, nn will show you a
	      list of all available news groups	and their purpose.  While pag-
	      ing  through  this  list,	you can	enter q	to quit	looking	at the
	      list.  You can also enter	/ followed  by	a  regular  expression
	      (typically  a  single  word) which will cause nn to show a (much
	      shorter) list containing only the	lines matching the regular ex-
	      pression.
		 Normally, you will be prompted	for the	 distribution  of  the
	      article  with  the  default  take	from default-distribution, but
	      this can be changed via the post-distribution variable.

       Generally, nn will construct a file with	a suitable header,  optionally
       include a copy of the article in	the file with each non-empty line pre-
       fixed by	a `>' character	(except	in mail	mode), and invoke an editor of
       your choice (using the EDITOR environment variable) on this file, posi-
       tioning	you  on	the first line of the body of the article (if it knows
       the editor).

       When you	have completed editing the message, it will compare it to  the
       unedited	 file,	and  if	 they are identical (i.e. you did not make any
       changes to the file), or	it is empty, the operation is cancelled.  Oth-
       erwise you will be prompted for an action to take  on  the  constructed
       article	(enter first letter followed by	return,	or just	return to take
       the default action):
	   a)bort c)c e)dit h)old i)spell m)ail	p)ost r)eedit s)end v)iew w)rite 7)bit
	   Action: (post article)
       You now have the	opportunity to perform one of the following actions:

	 a    throw the	response away (will ask	for confirmation),
	 c    mail a copy of a follow-up to the	poster of the article,
	 e    edit the file again,
	 h    hold response for	later completion,
	 i    run an (interactive) spell-checker on the	text,
	 m    mail a (blind) copy to a specified recipient,
	 n    same as abort (no	don't post),
	 p    post article (same as send),
	 r    throw away the edited text and edit the original text,
	 s    send the article or letter,
	 v    view the article (through	the pager),
	 w    append it	to a file (before you send it),
	 y    confirm default answer (e.g. yes post it), or
	 7    strip the	high-order bit from all	characters in the message

       If you have selected a 7-bit character set (this	is determined  by  the
       values  of  the charset and data-bits variables), nn will not allow you
       to post an article or send a letter whose body contains characters with
       the high-order bit set. It will warn you	after you  have	 first	edited
       the  message and	disable	the c)c, m)ail,	p)ost, s)end and y)es actions.
       You can then either e)dit the message to	delete those  characters,  use
       7)bit to	strip the high-order bits, a)bort the message, or h)old	it and
       select an 8-bit character set from nn.

       To  complete  an	unfinished response saved by the h)old command,	simply
       enter any response action, e.g. R {reply}.  This	will notice the	unfin-
       ished response and ask you whether you want to complete it  now.	  Only
       one  unfinished response	can exist at a time.  Notice that the $A envi-
       ronment variable	may no longer be valid as a path to the	original arti-
       cle when	the response is	completed.

       If your message contains	8-bit characters, the charset variable is  not
       set  to	"unknown" and the message does not already have	a MIME-Version
       or Content-XXX header, nn will add the following	headers	to  your  mes-
       sage before sending it:
	    MIME-Version: 1.0
	    Content-Type: text/plain; charset=charset
	    Content-Transfer-Encoding: 8bit
       It  must	 be  noted that	sending	8-bit characters over the current news
       and mail	networks is risky at best; although large parts	of the network
       will pass through such characters unchanged, high-order bits may	 occa-
       sionally	be stripped. Although the MIME standard	provides solutions for
       this  by	 encoding  the	characters,  this  is not yet supported	by nn.
       Adding the above	headers	is an interim solution that is compatible with
       current practice	and is much better than	just sending the message with-
       out any hints about the character set used.

       Related	 variables:   append-signature-mail,	append-signature-post,
       charset,	 data-bits,  default-distribution,  follow-distribution, post-
       distribution,  edit-response-check,  editor,  include-art-id,  include-
       full-header,   included-mark,  mail-header,  mail-record,  mail-script,
       mailer, mailer-pipe-input, news-header, news-record, news-script, orig-
       to-include-mask,	pager, query-signature,	record,	 response-check-pause,
       response-default-answer,	 save-counter,	save-counter-offset,  save-re-
       port, spell-checker.

JUMPING	TO OTHER GROUPS
       By default nn will present the news groups  in  a  predefined  sequence
       (see  the section on Presentation Sequence later	on).  To override this
       sequence	and have a look	at any other group the G {goto-group}  command
       available in both selection and reading mode enables you	to move	freely
       between all the newsgroups.

       Furthermore, the	G command enables you to open folders and other	files,
       to  read	 old articles you have read before, and	to grep	for a specific
       subject in a group.

       It is important to notice that normally the goto	command	is  recursive,
       i.e.  a new menu	level is created when the specified group or folder is
       presented, and when it has been read, nn	will continue the activity  in
       the  group  that	 was  presented	 before	the goto command was executed.
       However,	if there are unread articles in	the target group you can avoid
       entering	a new menu level by using the j	reply  described  below.   The
       current	menu level (i.e. number	of nested goto commands) will be shown
       in the prompt line as "<N>" (in reverse video).

       The goto	command	is very	powerful, but unfortunately also a little  bit
       tricky at first sight, because the facilities it	provides depend	on the
       context in which	the command is used.

       When  executed,	the  goto  command will	prompt you for the name	of the
       newsgroup, folder, or file to open.  It will use	the first  letter  you
       enter to	distinguish these three	possibilities:

       return An empty answer is equivalent to the current newsgroup.

       letter The  answer  is  taken to	be the name of a newsgroup.  If	a news
	      group with the given name	does not exist,	nn will	treat the  an-
	      swer  as	a regular expression and locate	the first group	in the
	      presentation sequence (or	among all groups) whose	 name  matches
	      the expression.

       +
	      The  answer is taken to be the name of a folder.	If only	`+' is
	      entered, it is equivalent	to the default save file for the  cur-
	      rent group.

       / or ./ or ~/
	      The answer is taken to be	the name of a file, either relative to
	      the  current  directory,	relative to your home directory, or an
	      absolute path name for the file.

       %      In reading mode, this reply corresponds to reading  the  current
	      article  (and  splitting it as a digest).	 In selection mode, it
	      will prompt for an article on the	menu to	read.

       @      This choice is equivalent	to the archive file  for  the  current
	      group.

       = and number
	      These answers are	equivalent to the same answers described below
	      applied to the current group (e.g. G return = and	G = are	equiv-
	      alent).

       Specifying  a  folder,  a file, or an article (with %) will cause nn to
       treat the file like a digest and	split it into separate	articles  (not
       physically!)   which are	then presented on a menu in the	usual way, al-
       lowing you to read or save individual subarticles from the folder.

       When you	enter a	group name, nn will ask	you how	many articles  in  the
       group you want to see on	the menu.  You can give	the following answers:

       a number	N
	      In this case you will get	the newest N articles in the group, or
	      if  you  specified  the  current group (by hitting return	to the
	      group name prompt	or entering the	number directly), you will get
	      that many	extra articles included	on the same menu (without cre-
	      ating a new menu level).

       j      This answer can only be given if there are  unread  articles  in
	      the  group.   It will instruct nn	to jump	directly to the	speci-
	      fied group in the	presentation sequence without creating	a  new
	      menu level.

       u      This  instructs  nn  to present the unread articles in the group
	      (if there	are any).  If you have already read the	group (in  the
	      current  invocation  of  nn),  the  u answer will	instruct nn to
	      present the articles that	were unread when you entered nn.

       a      This instruct nn to present all articles in the group.

       sword or	=word
	      This instructs nn	to search all articles in the groups, but only
	      present the articles containing the word word  in	 the  subject.
	      Notice  that  case is ignored when searching for the word	in the
	      subject lines.

       nword  Same as the s form except	that it	searched  for  articles	 where
	      the sender name matches word.

       eword  Same  as	the s form except that it Psearched for	articles where
	      either the subject or the	sender name matches word.

       word = /regexp
	      When the first character of the word specified with  the	s,  n,
	      and e forms is a slash `/', the rest of the input	is interpreted
	      as  a regular expression to search for.  Notice that regular ex-
	      pression matching	is case	insensitive when  case-fold-search  is
	      set (default).

       return The  meaning of an empty answer depends on the context: if there
	      are unread articles in the specified group the  unread  articles
	      will  be	presented, otherwise all articles in the group will be
	      included in the menu.

       If you specified	the current group, and the menu	already	 contains  all
       the  available  articles,  nn will directly prompt for a	word to	search
       for in the subject of all articles (the prompt will be an equal sign.)

       When the	goto command creates a new menu	level,	nn  will  not  perform
       auto kill or selection in the group.  You can use the + command in menu
       mode to perform the auto-selections.

       There are three commands	in the goto family:

       G    {goto-group}
	      This is the general goto command described above.

       B    {back-group}
	      Backup  one  or  more  groups.  You can hit this key one or more
	      times to go back in  the	groups	already	 presented  (including
	      those  without  new articles); when you have found the group you
	      are looking for, hit space to enter it.

       A    {advance-group}
	      Advance one or more groups.  This	command	is similar  to	the  B
	      command, but operates in the opposite direction.

       N    {next-group}
	      When used	within an A or B command, it skips forward to the next
	      group  in	 the sequence with unread articles or which has	previ-
	      ously been visited.

       P    {previous}
	      When used	within an A or B command, it skips  backwards  to  the
	      preceding	 group	in  the	sequence with unread articles or which
	      has previously been visited.

       Once you	have entered an	A or Bcommand, you can freely mix the A, B, P,
       and N commands to find the group	you want, and you can also use	the  G
       command to be prompted for a group name.

       To  show	 the  use of the goto command some typical examples on its use
       are given below:

       Present the unread articles in the dk.general group
	     G dk.general return u

       Jump directly to	the gnu.emacs group and	continue from there
	     G gnu.emacs return	j

       Include the last	10 READ	articles in the	current	group menu
	     G 10 return

       Find all	articles in rec.music.misc on the subject Floyd
	     G rec.music.misc return
	     = floyd return

       Open the	folder +nn
	     G +nn return

       Split current article as	a digest (in reading mode)
	     G %

       Related variables:  case-fold-search,  default-save-file,  folder-save-
       file

AUTOMATIC KILL AND SELECTION
       When  there  is a subject or an author which you	are either very	inter-
       ested in, or find completely uninteresting, you can easily instruct  nn
       to  auto-select	or  auto-kill  articles	with specific subjects or from
       specific	authors.  These	instructions are stored	in a  kill  file,  and
       the  most  common  types	 of entries can	be created using the following
       command:

       K    {kill-select}
	      Create an	entry in your personal kill file.  The contents	of the
	      entry is specified during	a short	dialog that  is	 described  in
	      details  below.  This command is available in both selection and
	      reading mode.

       Entries in the kill file	may apply to a	single	newsgroup  or  to  all
       newsgroups.   Furthermore,  entries may be permanent or they may	be ex-
       pired a given number of days after their	entry.

       To increase performance,	nn uses	a compiled version of  the  kill  file
       which is	read in	when nn	is invoked.  The compiled kill file will auto-
       matically be updated if the normal kill file has	been modified.

       The following dialog is used to build the kill file entry:

       AUTO (k)ill or (s)elect (CR => Kill subject 30 days)
	      If  you  simply want nn to kill all articles with	the subject of
	      the current article (in reading  mode)  or  a  specific  article
	      (which  nn  will prompt for in selection mode), just hit return.
	      This will	cause nn to create an entry in the kill	file  to  kill
	      the  current  (or	 specified) subject in the current group for a
	      period of	30 days	(which should be enough	for the	discussion  to
	      die out).
	      You  can	control	 the  default kill period, or change it	into a
	      "select" period via the default-kill-select variable.
	      If this "default behaviour" is not what you  want,  just	answer
	      either  k	 or  s to kill or select articles, respectively, which
	      will bring you on	to the rest of the questions.

       AUTO SELECT on (s)ubject	or (n)ame  (s)
	      (The SELECT will be substituted with KILL	depending on the  pre-
	      vious  answer).	Here  you specify whether you want the kill or
	      select to	depend on the subject of the article (s	or space),  or
	      on the name of the author	(n).

       SELECT NAME:
	      (Again  SELECT  may be substituted with KILL and SUBJECT may re-
	      place NAME).  You	must now enter a name (or subject)  to	select
	      (or  kill).   In reading mode, you may just hit return (or %) to
	      use the name (or subject)	of the current article.	 In  selection
	      mode,  you  can use the name (or subject)	from an	article	on the
	      menu by answering	with % followed	by the	corresponding  article
	      identifier.
	      When  the	 name or subject is taken from an article (the current
	      or one from the menu), nn	will  only  select  or	kill  articles
	      where  the  name or subject matches the original name or subject
	      exactly including	case.
	      If the first character typed at the prompt is a slash  `/',  the
	      rest  of	the line is used as a regular expression which is used
	      to match the name	or subject (case insensitive).
	      Otherwise, nn will select	or kill	 articles  which  contain  the
	      specified	 string	 anywhere  in  the  name  or subject (ignoring
	      case).

       SELECT in (g)roup `dk.general' or in (a)ll groups  (g)
	      You must now specify whether the selection or kill should	 apply
	      to the current group only	(g or space) or	to all groups (a).

       Lifetime	of entry in days (p)ermanent  (30)
	      You  can now specify the lifetime	of the entry, either by	enter-
	      ing a number specifying the number of days the entry  should  be
	      active,  or  p  to  specify  the entry as	a permanent entry.  An
	      empty reply is equivalent	to 30 days.

       CONFIRM SELECT ....
	      Finally, you will	be asked to confirm the	entry, and you	should
	      especially  note the presence or absence of the word exact which
	      specify whether an exact match applies for the entry.

       Related variables: default-kill-select, kill.

THE FORMAT OF THE KILL FILE
       The kill	file consists of one line for each  entry.   Empty  lines  and
       lines starting with a # character are ignored.  nn automatically	places
       a # character in	the first position of expired entries when it compiles
       the  kill  file.	 You can then edit the kill file manually from time to
       time to clean out these entries.

       Each line has the following format
	    [expire time :] [group name] : flags : string [: string]...

       Permanent entries have no expire	time (in which case the	colon is omit-
       ted as well!).  Otherwise, the expire  time  defines  the  time	(as  a
       time_t value) when the entry should be expired.

       The group name field can	have three forms:

       news.group.name
	      If  it  is the name of a single news group (e.g. comp.unix), the
	      entry applies to that group only.

       /regular	expression
	      If it starts with	a slash	`/' followed by	a  regular  expression
	      (e.g.  /^news\..*),  the	entry applies to all groups whose name
	      are matched by the regular expression.

       empty  An empty group field will	apply the entry	to all groups.

       The flags field consists	of a list of characters	which  identifies  the
       type of entry, and the interpretation of	each string field.  When used,
       the  flag  characters  must  be used in the order in which they are de-
       scribed below:

       ~    (optional)
	      When this	flag is	present	on any of the entries for  a  specific
	      group,  it  causes all entires which are not auto-selected to be
	      killed.  This is a simple	way to say: I'm	interested in this and
	      that, but	nothing	else.

       +    or ! (optional)
	      Specify an auto-select + or an auto-kill ! entry,	 respectively.
	      If  neither are used, the	article	is neither selected nor	killed
	      which is useful in combination with the `~' flag.

       > (optional)
	      When used	with a subject (flag s), the kill entry	 only  matches
	      follow-ups  to that subject (i.e.	where the Subject: line	starts
	      with Re:).  For example, to kill all "Re:"'s  in	rec.humor  use
	      the following kill entry:	rec.humor:!>s/:.

       < (optional)
	      When  used  with a subject (flag s), the kill entry only matches
	      base articles with that subject (i.e. where  the	Subject:  line
	      does  not	 start	with  Re:).  For example, to kill all articles
	      asking for help (but not follow-ups) in the tex group, add  this
	      to your kill file:
		   comp.text.tex:!s</:^HELP

       n or s or a (mandatory)
	      Specify  whether	the corresponding string applies to the	name n
	      or to the	subject	s of an	article.  If flag a is used, the  cor-
	      responding  string is ignored (but must be present), and the en-
	      try applies to articles with a non-empty References: line.

       / (optional)
	      Specifies	that the corresponding string is a regular  expression
	      which  the  sender or subject is matched against.	 If not	speci-
	      fied, a simple string match is performed using the given string.

       = (optional)
	      Specifies	that the match against the name	 or  subject  is  case
	      sensitive.  Furthermore, when regular expression matching	is not
	      used,  the  name	or  subject  must be of	the same length	of the
	      string to	match.	Otherwise, the match will be case insensitive,
	      and a string may occur anywhere in the name or subject to	match.

       | or & (mandatory if multiple strings)
	      If more than one string is specified, the	set  of	 flags	corre-
	      sponding to each string must be separated	by either an or	opera-
	      tor  `|'	or an and operator `&'.	 The and operator has a	higher
	      precedence than the or operator, e.g.  a complex	match  expres-
	      sion a|b&c|d will	succeed	if either of a,	b&c, or	d matches.

       The  string  field in the entry is the name, subject or regular expres-
       sion that will be matched against the name or subject of	 each  article
       in  the	group (or all groups).	Colons and backslashes must be escaped
       with a backslash	in the string.

       Example 1:  Auto-select articles	from `Tom Collins' (exact) on  subject
       `News' in all groups:
	   :+n=&s:Tom Collins:News

       Example	2:  Kill all articles which are	neither	from `Tom' or `Eve' in
       some.group.  Select only	articles from Eve:
	   some.group:~n:Tom
	   some.group:+n:Eve

       The second example can also be written as a single entry	with an	or op-
       erator (in this case, the select/kill attribute	only  applies  to  the
       succeeding strings):
	   some.group:~n|+n:Tom:Eve

       To  remove expired entries, to "undo" a K command, and to make the more
       advanced	entries	with more than one string, you will have to  edit  the
       kill  file  manually.   To recompile the	file, you can use the :compile
       command.	 When you invoke nn, it	will also recompile the	kill  file  if
       the compiled version is out of date.

SHELL ESCAPES
       The  !	commands available in selection	and reading mode are identical
       in operation (with one exception).  When	you  enter  the	 shell	escape
       command,	 you  will be prompted for a shell command.  This command will
       be fed to the shell specified in	the  shell  variable  (default	loaded
       from  the  SHELL	 environment  variable or /bin/sh) after the following
       substitutions have been performed on the	command:

       File name expansion
	      The earlier described file name expansions will be performed  on
	      all arguments.

       $G     will be substituted with the name	of the current news group.

       $L     will  be	substituted with the last component of the name	of the
	      current news group.

       $F     will be substituted with the name	of the current news group with
	      the periods replaced by slashes.

       $N     will be substituted with the (local) article  number  (only  de-
	      fined in reading mode).

       $A     is  replaced  by	the  full path name of the file	containing the
	      current article (only defined in reading mode).

       %      Same as $A.

       $(VAR) is replaced by the string	value of the environment variable VAR.

       When the	shell command is completed, you	will be	asked to hit  any  key
       to  continue.   If you hit the !	 key again, you	will be	prompted for a
       new shell command.  Any other key will redraw the screen	and return you
       to the mode you came from.

       Related variables: shell, shell-restrictions.

MISCELLANEOUS COMMANDS
       Below are more useful commands which are	available  in  both  selection
       and reading modes.

       U    {unsub}
	      Unsubscribe  to  the current group.  You will not	see this group
	      any more unless you explicitly request it.  If the variable  un-
	      subscribe-mark-read  is  set,  all articles in the group will be
	      marked read when you unsubscribe.
		If the variable	keep-unsubscribed is not set, the  group  will
	      be  removed  from	 .newsrc.   If	you are	not subscribing	to the
	      group, you will be given the possibility to resubscribe  to  the
	      group!  This may be used in connection with the G	command	to re-
	      subscribe	a group.

       C    {cancel}
	      Cancel (delete) an article in the	current	group or folder.  Can-
	      celling articles in a folder will	cause the folder to be rewrit-
	      ten  when	it is closed.  In selection mode, you will be prompted
	      for the identifier of the	article	to cancel.  Normal  users  can
	      only  cancel their own articles.	See also the section on	folder
	      maintenance.

       Y    {overview}
	      Provide an overview of the groups	with unread articles.

       "    {layout}
	      Change menu layout in selection mode.  The menu will be  redrawn
	      using the	next layout (cycling through ..., 2, 3,	4, 0, 1, ...)

       Most of the commands in nn are bound to a key and can be	activated by a
       single  keystroke.   However,  there  are a few commands	that cannot be
       bound to	a key directly.

       As shown	in the keystroke command descriptions,	all  commands  have  a
       name,  and  it  is  possible to activate	a command by name with the ex-
       tended command key (:).	Hitting	this key will prompt you for the  name
       of  a command (and parameters).	For example, an	alternative to hitting
       the R key to reply to an	article	is to enter the	extended command  :re-
       ply  followed by	return.	 The :post and :unshar commands	described ear-
       lier can	also be	bound to a key.	 The complete list of  commands	 which
       can be bound to keys is provided	in the section on Key Mappings below.

       The  following  extended	 commands cannot be bound to a key, mainly be-
       cause they require additional parameters	on the prompt line, or because
       it should not be	possible to activate them too easily.

       :admin Enter administrative mode.  This is identical  in	 operation  to
	      the nnadmin(1M) program.

       :bug   Prepare and send a bug report to the nn-bugs mailing address.

       :cd [ directory ]
	      Change  current working directory.  If the directory argument is
	      not provided, nn will prompt for it.

       :clear Clear the	screen (without	redraw).  This may be  useful  at  the
	      beginning	 of  the  init	file  (possibly	guarded	by "on program
	      nn"), or in some macros.

       :compile
	      Recompile	the kill file.	This is	not necessary under normal op-
	      eration since nn automatically compiles the file on start-up  if
	      it  has  changed,	but it can be used if you modify the kill file
	      while nn is suspended.

       :coredump
	      Abort with a core	dump.  For debugging purposes only.

       :define macro
	      Define macro number macro	as described in	the  Macro  Definition
	      section  below.  If macro	is omitted, the	next free macro	number
	      will be chosen.

       :dump table
	      Same as the :show	command	described below.

       :help [ subject ]
	      Provide online help on the specified subject.  If	you  omit  the
	      subject, a list of the available topics will be given.

       :load [ file ]
	      Load  the	 specified file.  If the file argument is omitted, the
	      init file	is reloaded.  The sequence part	(if  present)  is  ig-
	      nored.

       :local variable [ value ]
	      Make  the	 variable  local  to  the  current  group.  Subsequent
	      changes to the variable will only	be effective until the current
	      group is left.  If a value is specified, it will be assigned  to
	      the  local  variable.   To assign	a new value to a boolean vari-
	      able, the	values on and off must be used.

       :lock variable
	      Lock the specified variable so it	cannot be modified.

       :man   Call up the online manual.  The manual is	presented as a	normal
	      folder with the program name in the `From' field and the section
	      title  in	 the `subject' field.  All the normal commands related
	      to a folder works	for the	online manual as well,	e.g.  you  can
	      save and print sections of the manual.

       :map arguments
	      This  is	the command used for binding commands to the keys.  It
	      is fully described in the	Key Mapping section below.

       :mkdir [	directory ]
	      Create the directory (and	the directories	in its path).  It will
	      prompt for at directory name if the argument is omitted.

       :motd  Show the message of the day (maintained by the news  administra-
	      tor in the file "motd" in	the lib	directory.  This file is auto-
	      matically	 displayed on start-up whenever	it changes if the motd
	      variable is set.

       :pwd   Print path name of current working directory on message line.

       :q     Has no effect besides redrawing the screen if necessary.	If  an
	      extended	command	 (one  which  is prefixed by a :) produces any
	      output requirering the screen to be redrawn, the screen will not
	      be redrawn immediately if	the variable delay-redraw is set (use-
	      ful on slow terminals).  Instead another : prompt	 is  shown  to
	      allow  you  to  enter a new extended command immediately.	 It is
	      sufficient to hit	return to redraw the screen, but it  has  been
	      my  experience  that entering q return in	this situation happens
	      quite often, so it was made a no-op.

       :q!    Quit nn without updating the .newsrc file.

       :Q     Quit nn.	This is	equivalent to the normal Q command.

       :rmail Open your	mailbox	(see the mail variable)	as a  folder  to  read
	      the  incoming  messages.	This is	not a full mail	interface (de-
	      pending on the nn	configuration, you may not be able  to	delete
	      messages,	 add cc: on replies, etc), but it can give you a quick
	      glance at	new mail without leaving nn.

       :set variable [ value ]
	      Set a boolean variable to	true or	assign the value to  a	string
	      or  integer  variable.  The :set command is described in details
	      in the section on	VARIABLES.

       :sh    Suspend nn, or if	that is	not  possible,	spawn  an  interactive
	      shell.

       :show groups mode
	      Show  the	 total	number or the number of	unread articles	in the
	      current group, depending on mode:	all (list the number of	unread
	      articles in all groups including groups which  you  have	unsub-
	      scribed to), total (list the total number	of articles in all ex-
	      isting groups), sequence (list unread groups in presentation se-
	      quence  order), subscr (list all subscribed groups), unsub (list
	      unsubscribed groups only).  Any other mode results in a  listing
	      of  the  number  of unread articles in all subscribed groups in-
	      cluding those you	have suppressed	with the `!'   symbol  in  the
	      group  presentation  sequence.  To get just the currently	unread
	      groups in	the presentation sequence, use the `Y' {overview} com-
	      mand.

       :show kill
	      Show the kill entries that applies to the	current	group  and  to
	      all groups.

       :show rc	[ group	]
	      Show  the	.newsrc	and select file	entries	for the	current	or the
	      specified	group.

       :show map [ mode	]
	      Show the key bindings in the current or specified	mode.

       :sort [ mode ]
	      Reorder the articles on the menu according to mode or if omitted
	      to the default  sort-mode.   The	following  sorting  modes  are
	      available:
	      arrival: list articles by	local article number which will	be the
	      same  as	the  order in which they arrived on the	system (unless
	      groups are merged),
	      subject: articles	with identical subjects	are  grouped  and  or-
	      dered after age of the oldest article in the group,
	      lexical: subjects	in lexicographical order,
	      age: articles ordered after posting date only,
	      sender: articles ordered after sender's name.

       :toggle variable
	      Toggle a boolean variable.

       :unread [ group ] [ articles ]
	      Mark  the	 current (or specified)	group as unread.  If the arti-
	      cles argument is omitted,	the number of unread articles  in  the
	      group  will  be set to the number	of unread articles when	nn was
	      invoked.	Otherwise, the argument	specifies the number of	unread
	      articles.

       :unset variable
	      Set a boolean variable to	false or clear an integer variable.

       :x     Quit nn and mark all articles in the current group as read!

       Related variables: backup, bug-report-address,  delay-redraw,  keep-un-
       subscribed, unsubscribe-mark-read, mail,	pager, sort-mode.

CATCH UP
       If  you	have not read news for some time, there	are probably more news
       than you	can cope with.	Using the option -a0  nn  will	put  you  into
       catch-up	mode.

       The first question you will get is whether to catch up interactively or
       automatically.	If  you	instruct nn to catch up	automatically, it will
       simply mark all articles	in all groups as read, thus bringing you  com-
       pletely up-to-date.

       If  you choose the interactive mode, nn will locate all groups with un-
       read articles, and for each group it will prompt	you for	an  action  to
       take  on	 the  group.  An action	is selected using a single letter fol-
       lowed by	return.	 The following actions are available:

       y      Mark all articles	as read	in current group.

       n      Do not update group (this	is the default action if you just  hit
	      return).

       r      Enter reading mode to read the group.

       U      Unsubscribe to the group.

       ?      Give a list of actions.

       q      Quit.  When you quit, nn will ask	whether	the rest of the	groups
	      should  be updated unconditionally or whether they should	remain
	      unread.

VARIABLES AND OPTIONS
       It is possible to control the behaviour of nn through the setting  (and
       unsetting) of the variables described below.  There are several ways of
       setting variables:
       - Through command line options when nn is invoked.
       - Through assignments on	the command line when nn is invoked.
       - Through global	set commands in	the init file.
       - Through set or	local commands executed	from entry macros.
       - Through the :set extended command when	you run	nn.

       There are four types of variables:
       - Boolean variables
       - Integer variables
       - String	variables
       - Key variables

       Boolean	variables control a specific function in nn, e.g.  whether the
       current time is shown in	the prompt line.  A boolean variable is	set to
       true with the command
	    set	variable
       and it is set to	false with either of the following  (equivalent)  com-
       mands:
	    unset variable
	    set	novariable

       You can also toggle the value of	a boolean variable using the command:
	    toggle variable

       For example:
	    set	time
	    unset time
	    set	notime
	    toggle time

       Integer	variables  control an amount e.g. the size of the preview win-
       dow, or the maximum number of articles to read in each group.  They are
       set with	the following command:
	    set	variable value
       In some cases, not setting an integer value has a special meaning,  for
       example,	not having a minimal preview window or reading all articles in
       the  groups  no	matter how many	there are.  The	special	meaning	can be
       re-established by the following command:
	    unset variable
       For example:
	    set	window 7
	    unset limit

       String variables	 may  specify  directory  names,  default  values  for
       prompts,	etc.  They are set using the command
	    set	variable string
       Normally, the string value assigned to the variable value starts	at the
       first  non-blank	 character  after  the variable	name and ends with the
       last non-blank character	(excluding comments) on	the line.  To  include
       leading	or  trailing  blanks,  or  the comment start symbol, #,	in the
       string they must	be escaped using a backslash  `\',  e.g.  to  set  in-
       cluded-mark to the string " # ",	the following assignment can be	used:
	    set	included-mark  \ \#\   # blank-#-blank
       To  include  a  backslash in the	string,	it must	be duplicated `\\'.  A
       backslash may also be used to include the following special  characters
       in the string: \a=alarm,	\b=backspace, \e=escape, \f=form-feed, \n=new-
       line, \r=return,	\t=tab.

       Key variables control the keys used to control special functions	during
       user input such as line editing and completion.	They are set using the
       command
	    set	variable key-name

       A  variable can be locked which makes further modification of the vari-
       able impossible:
	    lock variable
       This can	be used	in the setup init file which is	loaded unconditionally
       to enforce local	conventions or restrictions.  For example, to fix  the
       included-mark variable to the string ">", the following commands	can be
       placed in the setup file:
	    set	included-mark >
	    lock included-mark
       Some variables only make	sense when set on the command line, since they
       are  examined  early  in	 startup, before the init files	are read.  The
       syntax for setting variables on the command line	is:
	    variable=value
       The value may need to be	quoted if it contains white space  or  special
       characters.   They  can be intermixed with other	options, and are exam-
       ined prior to other argument parsing.

       The current variable settings can be shown with the :set	command:

       :set (without arguments)
	      This will	give a listing of the variables	which have been	set in
	      either the init file or interactively.

       :set all
	      This will	give a listing of all variables.   Modified  variables
	      will  be	marked	with  a	`*' and	local variables	will be	marked
	      with a `>'.  A locked variable is	marked with a `!'.

       :set /regexp
	      This will	give a listing of all variables	whose name matches the
	      given regular expression.

       :set partial-name space
	      The space	(comp1-key) key	will complete  the  variable  name  as
	      usual,  but as a side effect it will display the variable's cur-
	      rent value in the	message	line.

       Variables are global by default,	but a local instantiation of the vari-
       able can	be created using the :local command.  The local	variable  will
       overlay	the  global  variable  as long as the current group is active,
       i.e. the	global variable	will be	used again when	you exit  the  current
       group.  The initial value of the	local variable will be the same	as the
       global variable,	unless a new value is specified	in the :local command:
	    :local variable [ value ]

       The following variables are available:

       also-full-digest	   (boolean, default false)
	      When  a  digest  is split, the digest itself is not normally in-
	      cluded on	the menu, and as such the initial adminstrative	infor-
	      mation is	not available.	Setting	 also-full-digest  will	 cause
	      the (unsplit) digest to be included on the menu.	These articles
	      are marked with a	@ at the beginning of the subject.

       also-subgroups (boolean,	default	true)
	      When  set,  a  group name	in the presentation sequence will also
	      cause all	the subgroups of the group to be included,  for	 exam-
	      ple, comp.unix will also include comp.unix.questions, etc.  When
	      also-subgroups  is  not  set, subgroups are only included	if the
	      group name is followed by	a `.' in which case the	main group  is
	      not   included,	i.e.	`comp.unix'   is   not	included  when
	      `comp.unix.' is specified	 in  the  presentation	sequence,  and
	      vice-versa.   Following  a  group	 name by an asterisk `*', e.g.
	      comp.unix*, will include the group as well as all	subgroups  in-
	      dependently of the setting of also-subgroups.

       append-signature-mail	(boolean, default false)
	      When  false, it is assumed that the .signature file is automati-
	      cally appended to	responses sent via E-mail.  If	true,  .signa-
	      ture will	be appended to the letter (see query-signature).

       append-signature-post	(boolean, default false)
	      When  false, it is assumed that the .signature file is automati-
	      cally appended to	posted articles.  If true, .signature will ex-
	      plicitly be appended to posted articles (see query-signature).

       attributes symbols  (string, default ....)
	      Each element in this string represents a symbol used  to	repre-
	      sent an article attribute	when displayed on the screen.  See the
	      section on Marking Articles and Attributes.

       auto-junk-seen (boolean,	default	true)
	      When  set,  articles  which  have	the seen attribute (,) will be
	      marked read when the current group is left.  If not  set,	 these
	      articles	will  still  be	 either	unread or marked seen the next
	      time the group is	entered	(see also  confirm-junk-seen  and  re-
	      tain-seen-status).

       auto-preview-mode	(boolean, default false)
	      Enables  Auto  Preview Mode.  In this mode, selecting an article
	      on the menu using	its article id (letter a-z) will enter preview
	      mode on that article immediately.	 Furthermore, the  `n'	{next-
	      article}	command	will preview the next article on the menu only
	      if it has	the same subject as the	current	article; otherwise, it
	      will return to the menu with the cursor placed on	the next arti-
	      cle.  The	continue command at the	end of the article and the `='
	      {goto-menu} returns to the menu immediately as usual.

       auto-read-mode-limit N	(integer, default 0)
	      When operating in	auto reading mode, nn will auto-select all un-
	      read articles in the group, skip the  article  selection	phase,
	      and enter	reading	mode directly after entry to the group.
		Auto  reading  mode  is	 disabled when auto-read-mode-limit is
	      zero; it is activated unconditionally if the value is  negative,
	      and conditionally	if the value is	greater	than zero and the num-
	      ber  of unread articles in the current group does	not exceed the
	      given value.

       auto-select-closed mode	(integer, default 1)
	      Normally,	selecting a closed subject  (usually  in  consolidated
	      menu  mode)  will	 select	(or deselect) all unread articles with
	      the given	subject	(or all	articles if they are all read).	  This
	      behaviour	 can be	changed	via the	value of this variable as fol-
	      lows:
	      0: select	only the first article with the	subject	(shown on menu).
	      1: select	only the unread	articles with the subject.
	      2: select	all available articles with the	subject.

       auto-select-rw (boolean,	default	false)
	      If set, a	subject	of an article read or posted is	 automatically
	      used  for	 subsequent  auto-selecting (if	not already selected).
	      This is the most efficient way to	see your own  posts  automati-
	      cally.

       auto-select-subject (boolean, default false)
	      When  set,  selecting an article from the	menu using the article
	      id (a-z),	all articles on	the menu with the  same	 subject  will
	      automatically be selected	as well.

       backup	 (boolean, default true)
	      When  set,  a  copy of the initial .newsrc and select files will
	      save be the first	time they are changed.	nn remembers the  ini-
	      tial  contents of	these files internally,	so the backup variable
	      can be set any time if not set on	start-up.

       backup-folder-path file	(string, default "BackupFolder~")
	      When removing deleted articles from a folder, this variable  de-
	      fines the	name of	the file where a (temporary) copy of the orig-
	      inal  folder  is saved.  If the file name	doesn't	contain	a `/',
	      the file will be located in the .nn  directory.	Otherwise  the
	      file  name is used directly as the relative or full path name of
	      the backup file.	If possible, the old folder will be renamed to
	      the backup folder	name; otherwise	the old	folder	is  copied  to
	      the backup folder.

       backup-suffix suffix	(string, default ".bak")
	      The  suffix  appended  to	 file  names to	make the corresponding
	      backup file name (see backup).

       bug-report-address address    (string, default mtpins@nndev.org)
	      The mail address to which	bug reports created with the :bug com-
	      mand are sent.

       case-fold-search		(boolean, default true)
	      When set,	string and regular expression matching	will  be  case
	      independent.   This is related to	all commands matching on names
	      or subjects, except in connection	with auto-kill and auto-select
	      where the	individual kill	file entries specifies this property.

       charset charset	   (string, default "us-ascii")
	      The character set	in use on your terminal. Legal values are "us-
	      ascii", "iso-8859-X", where X is a nonzero digit,	and "unknown".
	      Setting this variable also sets the data-bits  variable  to  the
	      default  bit  width  of  the character set (7 for	"us-ascii" and
	      "unknown", 8 for the "iso-8859-X"	sets).
	      The value	of this	variable  also	determines  wether  nn	allows
	      8-bit  characters	 in the	body of	articles being posted and let-
	      ters being mailed	(unless	the value is "unknown",	in which  case
	      this  is determined by the value of the data-bits	variable).  If
	      necessary, nn will add extra headers to the  message  indicating
	      its the character	set.

       check-group-access  (boolean, default false)
	      When  set,  nn  will  perform  a	check  on the readability of a
	      group's readability before showing  the  menu  for  that	group.
	      Normally,	 this  is  not necessary since all users traditionally
	      have access to all news  groups.	 Setting  (and	locking)  this
	      variable	may  be	 used  to limit	access to a news group via the
	      permissions and ownership	of the group's spool  directory	 (this
	      will only	work for non-NNTP sites).

       collapse-subject	offset	(integer, default 25)
	      When  set	(non-negative),	subject	lines which are	too long to be
	      presented	in full	on the menus will be "collapsed" by removing a
	      sufficient number	of characters from the subject starting	at the
	      given offset in the subject.  This is useful  in	source	groups
	      where  the  "Part	 (01/10)" string sometimes disappears from the
	      menu.  When not set (or negative), the subjects are truncated.

       columns col    (integer,	default	screen width)
	      This variable contains the screen	width i.e. character positions
	      per line.

       comp1-key key  (key, default space)
	      The key which gives the first/next completion, and  the  default
	      value when nn is prompting for a string, e.g. a file name.

       comp2-key key  (key, default tab)
	      The  key	which  ends the	current	completion and gives the first
	      completion for the next component	when nn	 is  prompting	for  a
	      string, e.g. a file name.

       compress	      (boolean,	default	false)
	      This  variable  controls	whether	text compression (see the com-
	      press command) is	turned on or off when  an  article  is	shown.
	      The  compression	is  still toggled for the current article with
	      the compress command key.

       confirm-append	   (boolean, default false)
	      When set,	nn will	ask for	confirmation before appending an arti-
	      cle to an	existing file (see also	confirm-create).

       confirm-auto-quit	(boolean, default false)
	      When set,	nn will	ask for	 confirmation  before  quitting	 after
	      having  read  the	last group.  If	not confirmed, nn will recycle
	      the presentation sequence	looking	for groups that	 were  skipped
	      with the `N' {next-group}	command.  But it will not look for new
	      articles arrived since the invocation of nn.

       confirm-create	   (boolean, default true)
	      When  set,  nn  will  ask	for confirmation before	creating a new
	      file or directory	when saving or unpacking an article (see  also
	      confirm-append).

       confirm-entry	   (boolean, default false)
	      When  set,  nn will ask for confirmation before entering a group
	      with more	than confirm-entry-limit unread	articles (on the first
	      menu level).  It is useful on slow terminals if you  don't  want
	      to wait until nn has drawn the first menu	to be able to skip the
	      group.
		Answering  no  to the "Enter?" prompt will cause nn to skip to
	      the next group without marking the current group	as  read.   If
	      you  answer by hitting interrupt,	nn will	ask the	question "Mark
	      as read?"	which allows you to mark the current group as read be-
	      fore going to the	next group.  If	this second question  is  also
	      answered by hitting interrupt, nn	will quit immediately.

       confirm-entry-limit articles  (integer, default 0)
	      Specifies	 the  minimum number of	unread articles	in a group for
	      which the	confirm-entry functionality is activated.

       confirm-junk-seen	(boolean, default false)
	      When set,	nn will	require	confirmation before marking seen arti-
	      cles as read when	auto-junk-seen is set.

       confirm-messages		(boolean, default false)
	      In some cases, nn	will sleep one second (or more)	 when  it  has
	      shown  a	message	to the user, e.g. in connection	with macro de-
	      bugging.	Setting	confirm-messages will cause nn to wait for you
	      to confirm all messages by hitting any key.  (It will  show  the
	      symbol <>	to indicate that it is awaiting	confirmation.)

       consolidated-manual (boolean, default false)
	      When set,	the online manual will be presented with one menu line
	      for each program in the nn package.

       consolidated-menu	(boolean, default false)
	      When set,	nn will	automatically close all	multi-article subjects
	      on entry to a group, so that each	subject	only occur once	on the
	      menu page.

       counter-delim-left  (string, default "[")
	      The  delimiter  string output to the left	of the article counter
	      in a closed subject's menu line.

       counter-delim-right (string, default "] ")
	      The delimiter string output to the right of the article  counter
	      in a closed subject's menu line.

       counter-padding pad	(integer, default 5)
	      On  a  consolidated  menu,  the  subjects	 may  not be very well
	      aligned because the added	[...] counters	have  varying  length.
	      To  (partially)  remedy this, all	counters (and subjects without
	      counters)	are prefixed by	up to pad spaces to get	better	align-
	      ment.  Increasing	it further may yield practially	perfect	align-
	      ment at the cost of less space for the subject itself.

       cross-filter-seq		(boolean, default true)
	      When  set,  cross	posted articles	will be	presented in the first
	      possible group, i.e. according to	the current  presentation  se-
	      quence (cross-post filtering on sequence).  The article is auto-
	      matically	 marked	 read  in the other cross posted groups	unless
	      you unsubscribe to the first group in which it was shown	before
	      reading  the  other groups.  Likewise, it	is sufficient to leave
	      the article unread in the	first group to keep it for later  han-
	      dling.
		If not set, cross-postings are shown in	the first group	occur-
	      ring  on the Newsgroups: line which the user subscribes to (i.e.
	      you let the poster decide	which group  is	 most  appropriate  to
	      read his posting).

       cross-post	   (boolean, default false)
	      Normally,	 nn  will only show cross-posted articles in the first
	      subscribed group on the Newsgroups: line.	  When	cross-post  is
	      set, nn will show	cross-posted articles in all subscribed	groups
	      to which they are	posted.

       cross-post-limit	N	 (integer, default 0)
	      If  this variable	is set to a value other	than 0,	then any arti-
	      cles posted to more than N newsgroups are	automatically skipped.
	      A	value of 5 is pretty good for discarding ``spam'' articles.

       data-bits bits (integer,	default	7)
	      When set to 7, nn	will display characters	with the 8th  bit  set
	      using  a	meta-notation M-7bit-char.  If set to 8, these charac-
	      ters are sent directly to	the screen (unless  monitor  is	 set).
	      Setting  the charset variable also sets this variable to the de-
	      fault bit	width of character set.
	      It also controls whether keyboard	input is 7 or 8	bits, and thus
	      whether key maps contain 127 or 255 entries.  See	the  key  map-
	      ping section for more details.
	      If  the charset has value	"unknown", the value of	data-bits also
	      determines wether	nn allows 8-bit	characters in the body of  ar-
	      ticles  being  posted and	letters	being mailed (this is normally
	      determined directly by the charset variable).

       date	 (boolean, default true)
	      If set nn	will show the article posting date when	 articles  are
	      read.

       debug mask     (integer,	default	0)
	      Look in the source if you	are going to use this.

       decode-header-file file	(string, default "Decode.Headers")
	      The name of the file in which the	header and initial text	of ar-
	      ticles  decoded  with  the :decode command is saved.  Unless the
	      file name	starts with a `/', the file will  be  created  in  the
	      same  directory  as  the	decoded	files.	The information	is not
	      saved if this variable is	not set.

       decode-skip-prefix N	(integer, default 2)
	      When non-null, the :decode command will automatically skip  upto
	      N	 characters  at	the beginning of each line to find valid uuen-
	      coded data.  This	allows nn to automatically decode (multi-part)
	      postings which are both uuencoded	and packed with	shar.

       default-distribution distr    (string, default "world")
	      The distribution to use as the default suggestion	 when  posting
	      articles using the follow	and post commands if the corresponding
	      follow-distribution  or  post-distribution variable contains the
	      default option.

       default-kill-select [1]days   (number, default 30)
	      Specifies	the default action for the K {kill-select} command  if
	      the  first prompt	is answered by return.	It contains the	number
	      of days to keep the kill or select entry in the kill file	 (1-99
	      days).  If it has	the value days+100 (e.g. 130), it denotes that
	      the  default action is to	select rather than kill	on the subject
	      for the specified	period.

       default-save-file file	(string, default +$F)
	      The default save file used when saving articles in  news	groups
	      where  no	 save file has been specified in the init file (either
	      in a save-files section or in the	 presentation  sequence).   It
	      can  also	 be  specified	using the abbreviation "+" as the file
	      name when	prompted for a file name even in groups	with their own
	      save file.

       delay-redraw	   (boolean, default false)
	      Normally,	nn will	redraw	the  screen  after  extended  commands
	      (:cmd)  that clear the screen.  When delay-redraw	is set nn will
	      prompt for another extended command  instead  of	redrawing  the
	      screen (hit return to redraw).

       echo-prefix-key		(boolean, default true)
	      When  true, hitting a prefix key (see the	section	on key mapping
	      below) will cause	the prefix key to be  echoed  in  the  message
	      line to indicate that another key	is expected.

       edit-patch-command  (boolean, default true)
	      When  true,  the :patch command will show	the current patch-com-
	      mand and give you	a chance to edit it before applying it to  the
	      articles.

       edit-print-command  (boolean, default true)
	      When  true, the print command will show the current printer com-
	      mand and give you	a chance to edit it before printing the	 arti-
	      cles.  Otherwise the articles are	just printed using the current
	      printer command.

       edit-response-check (boolean, default true)
	      When editing a response to an article, it	normally does not have
	      any  meaning  to send the	initial	file prepared by nn unaltered,
	      since it is either empty or  only	 contains  included  material.
	      When  this  variable  is	set, exiting the editor	without	having
	      changed the file will automatically abort	 the  response	action
	      without confirmation.

       edit-unshar-command (boolean, default false)
	      When true, the :unshar command will show the current unshar-com-
	      mand  and	give you a chance to edit it before applying it	to the
	      articles.

       editor command (string, default not set)
	      When set,	it will	override the current EDITOR environment	 vari-
	      able when	editing	responses and new articles.

       embedded-header-escape string (string, default '~')
	      When  saving  an article to a file, header lines embedded	in the
	      body of the article are escaped using this  string  to  make  it
	      possible	for  nn	 to  split  the	 folder	 correctly afterwards.
	      Header lines are not escaped if this variable is not set.

       enter-last-read-mode mode     (integer, default 1)
	      Normally,	nn will	remember which group is	active when you	 quit,
	      and  offer  to jump directly to this group when you start	nn the
	      next time.  This variable	is used	 to  control  this  behaviour.
	      The following mode values	are recognized:
	      0: Ignore	the remembered group (r.g.).
	      1: Enter r.g. if the group is unread (with user confirmation)
	      2: Enter r.g. or first unread group after	it in the sequence (w/conf).
	      3: Enter r.g. if the group is unread (no confirmation)
	      4: Enter r.g. or first unread group after	it in the sequence (no conf).

       entry-report-limit articles   (integer, default 300)
	      Normally,	 nn will just move the cursor to the upper left	corner
	      of the screen while it is	reading	articles from the database  on
	      entry  to	 a  group.  For	large groups this may take more	than a
	      fraction of a second, and	nn can then report what	it  is	doing.
	      If  it must read more articles than the number specified by this
	      variable,	nn will	report which group and how many	articles it is
	      reading.

       erase-key key  (key, default tty	erase key)
	      The key which erases the last input character when nn is prompt-
	      ing for a	string,	e.g. a file name.

       expert	      (boolean,	default	false)
	      If set nn	will use slightly shorter prompts (e.g.	not  tell  you
	      that  ?  will give you help), and	be a bit less verbose in a few
	      other cases (e.g.	not remind you that posted  articles  are  not
	      available	instantly).

       expired-message-delay pause   (integer, default 1)
	      If  a  selected  article	is found to have been expired, nn will
	      normally give a message about this and sleep  for	 a  number  of
	      seconds  specified  by  this variable.  Setting this variable to
	      zero will	still make nn give the message without sleeping	after-
	      wards.  Setting it to -1 will cause the message not to be	 shown
	      at all.

       flow-control   (boolean,	default	true)
	      When  set,  nn will turn on xon/xoff flow-control	before writing
	      large amounts of text to the screen.  This should	guard  against
	      lossage of output, but in	some network configurations it has had
	      the  opposite  effect, losing several lines of the output.  This
	      variable is always true  on  systems  with  CBREAK  capabilities
	      which  can do single character reads without disabling flow con-
	      trol.

       flush-typeahead	   (boolean, default false)
	      When true, nn will flush typeahead  prior	 to  reading  commands
	      from  the	 keyboard.   It	will not flush typeahead while reading
	      parameters for a command,	e.g. file names	etc.

       folder directory	   (string, default ~/News)
	      The full pathname	of the folder directory	which will replace the
	      +	in folder names.  It will be initialized from the FOLDER envi-
	      ronment variable if it is	not set	in the init file.

       folder-format-check (boolean, default true)
	      When saving an article with a full or partial header in  an  ex-
	      isting folder, nn	will check the format of the folder to be able
	      to append	the article in the proper format.  If this variable is
	      not  set,	 folders are assumed to	be in the format specified via
	      the mmdf-format and  mail-format	variables,  and	 articles  are
	      saved  in	that format without checking.  Otherwise, the *-format
	      variables	are only used to determine the format for new folders.

       folder-save-file	file	(string, default not set)
	      The default save file used when saving articles from a folder.

       follow-distribution words     (string, default see below)
	      This variable controls how  the  Distribution:  header  is  con-
	      structed for a follow-up to an original article.	Its value is a
	      list of words selected from the following	list:
	      [	[ always ] same	] [ ask	] [ default | distribution ]
	      This is interpreted in two steps:
	      -	 First	the  default  distribution  is determined.  If same is
	      specified	and the	original article has a	Distribution:  header,
	      that header is used.  Else if default is specified (or distribu-
	      tion  is	omitted),  the	value of default-distribution is used.
	      And finally, if only a distribution (any word) is	specified that
	      is used as the default.
	      -	Then if	ask is specified, the user will	be  asked  to  confirm
	      the  default distribution	or provide another distribution.  How-
	      ever, if always (and same) is specified,	and  the  default  was
	      taken  from  the	original  article's distribution, the original
	      distribution is used without confirmation.
	      The default value	of follow-distribution is always same default,
	      i.e. use either the original distribution	or the default-distri-
	      bution without confirmation in either case.

       from-line-parsing strictness  (integer, default 2)
	      Specifies	how strict nn must parse a "From " line	in a folder to
	      recognize	it as a	mail format message separator line.  The  fol-
	      lowing  strictness values	determine whether a line starting with
	      "From " will be recognized as a separator	line:
		   0: Always.
		   1: Line must	have at	least 8	fields.
		   2: Line must	contain	a valid	date and time (ctime style).

       fsort	      (boolean,	default	true)
	      When set,	folders	are sorted  alphabetically  according  to  the
	      subject  (and age).  Otherwise, the articles in a	folder will be
	      presented	in the sequence	in which they were saved.

       guard-double-slash  (boolean, default false)
	      Normally,	when entering a	file name, entering two	 slashes  `//'
	      in  a row	(or following a	slash by a plus	`/+') will cause nn to
	      erase the	entire line and	replace	it with	the `/'	(or `+').   On
	      some systems, two	slashes	are used in network file names,	and on
	      those  systems guard-double-slash	can be set; that will cause nn
	      to require three slashes in a row	to clear the input.

       header-lines list   (string, no default)
	      When set,	it determines the list of header fields	that are shown
	      when an article is read instead of the normal  one  line	header
	      showing the author and subject.  See the full description	in the
	      section on Customized Article Headers below.

       help-key	key   (key, default ?)
	      The  key	which  ends the	current	completion and gives a list of
	      possible completions for the next	component when nn is prompting
	      for a string, e.g. a file	name.

       ignore-re      (boolean,	default	false)
	      If set, articles with subjects already seen in a previous	 invo-
	      cation of	nn or another newsreader - and not auto-selected - are
	      automatically killed.  A great way to read even less news!

       ignore-xon-xoff		(boolean, default false)
	      Normally,	 nn will ignore	^S and ^Q in the input from the	termi-
	      nal (if they are not handled in the tty driver).	 Setting  this
	      variable will treat these	characters as normal input.

       include-art-id	   (boolean, default false)
	      The  first  line	in  a response with included material normally
	      reads "...somebody... writes:" without a reference to  the  spe-
	      cific  article from which	the quotation was taken	(this is found
	      in the References: line).	 When this variable is set,  the  line
	      will  also include the article id	of the referenced article: "In
	      ...article... ...	writes:".

       include-full-header (boolean, default false)
	      When set,	the mail (M) command  will  always  include  the  full
	      header  of  the original article.	 If it is not set, it only in-
	      cludes the header	when the article is  forwarded	without	 being
	      edited.

       include-mark-blank-lines	(boolean, default false)
	      When set,	the included-mark is placed on blank lines in included
	      articles.	  Otherwise,  blank  lines  are	left blank (to make it
	      easy to delete whole paragraphs with `d}'	in vi and `C-@ M-]  C-
	      W' in emacs).

       included-mark string	(string, default ">")
	      This  string  is	prefixed  to all lines in the original article
	      that are included	in a reply or a	follow-up.  (Now you have  the
	      possibility  to  change it, but please don't.  Lines with	a mix-
	      ture of prefixes like
		 : orig-> <> } ] #- etc.
	      are very difficult to comprehend.	 Let's all  use	 the  standard
	      folks!  (And hack	inews if it is the 50% rule that bothers you.)

       inews shell-command (string, default "INEWS_PATH	-h")
	      The  program which is invoked by nn to deliver an	article	to the
	      news transport.  The program will	be given  a  complete  article
	      including	 a header containing the newsgroups to which the arti-
	      cle is to	be posted.  See	also inews-pipe-input.	It is not used
	      when cancelling an article!

       inews-pipe-input		(boolean, default true)
	      When set,	the article to be posted will be piped into the	 inews
	      program.	 Otherwise,  the  file	containing the article will be
	      given as the first (and only) argument to	the inews command.

       initial-newsrc-file file	(string, default '.defaultnewsrc')
	      Defines the name of a file which is used as the initial  .newsrc
	      file for new users.  The name may	be a full path name, or	as the
	      default  a  file	name  which  will be looked for	in a number of
	      places: in the standard news lib	directory  (where  it  can  be
	      shared  with  other news readers), in nn's lib directory,	and in
	      the database directory.  Groups which are	 not  present  in  the
	      initial .newsrc file will	be automatically unsubscribed provided
	      new-group-action	is set to a value allowing unsubscribed	groups
	      to be omitted from .newsrc.

       keep-backup-folder  (boolean, default false)
	      When set,	the backup  folder  (see  backup-folder-path)  created
	      when  removing  deleted  articles	 from a	folder is not removed.
	      Notice that a backup folder is not created if all	 articles  are
	      removed from a folder!

       keep-unsubscribed	(boolean, default true)
	      When  set, unsubscribed groups are kept in .newsrc.  If not set,
	      nn will automatically remove all unsubscribed  from  .newsrc  if
	      tidy-newsrc is set.  See also unsubscribe-mark-read.

       kill	 (boolean, default true)
	      If  set,	nn  performs automatic kill and	selection based	on the
	      kill file.

       kill-debug	   (boolean, default false)
	      When set,	nn  will  display  a  trace  of	 the  auto-kill/select
	      process  on entry	to a group.  It	is automatically turned	off if
	      `q' is entered as	the answer to a	"hit any  key"	prompt	during
	      the debug	output.

       kill-key	key   (key, default tty	kill key)
	      The  key which deletes the current line when nn is prompting for
	      a	string,	e.g. a file name.

       kill-reference-count N	(integer, default 0)
	      When this	variable is non-zero, all articles  which  have	 N  or
	      more  references	on  the	References: line (corresponding	to the
	      number of	>>'s on	the menu line) will be auto-killed if they are
	      not auto-selected	(or preserved) via an entry in the kill	 file.
	      It  should probably not be used globally for all groups, but can
	      be set on	a per-group via	the entry macros.

       layout number  (integer,	default	1)
	      Set the menu layout.  The	argument must be a  number  between  0
	      and 4.

       limit max-articles  (integer, default infinite)
	      Limit  the maximum number	of articles presented in each group to
	      max-articles.  The default is to present all unread articles  no
	      matter how many there are.  Setting this variable, only the most
	      recent  max-articles articles will be presented, but all the ar-
	      ticles will still	be marked as read.  This is useful to get  up-
	      to-date quickly if you have not read news	for a longer period.

       lines lin (integer, default screen height)
	      This variable contains the screen	height i.e. number of lines.

       long-menu      (boolean,	default	false)
	      If  set  nn will not put an empty	line after the header line and
	      an empty line before the prompt line; this gives you  two	 extra
	      menu lines.

       macro-debug    (boolean,	default	false)
	      If  set nn will trace the	execution of all macros.  Prior	to the
	      execution	of each	command	or operation in	a macro, it will  show
	      the name of the command or the input string or key stroke	at the
	      bottom of	the screen.

       mail file (string, default not set)
	      file  must  be  a	full path name of a file.  If defined, nn will
	      check for	arrival	of new mail every minute or so by  looking  at
	      the specified file.

       mail-alias-expander program   (string, default not set)
	      When  set, aliases used in mail responses	may be expanded	by the
	      specified	program.  The program will be given the	completed  re-
	      sponse in	a file as its only argument, and the aliases should be
	      expanded	directly  in  this file	(of course the program may use
	      temporary	files and other	means to expand	the  aliases  as  long
	      the the result is	stored in the provided file).
	      Notice:  currently  there	 are no	alias expanders	delivered with
	      nn.
	      Warning: Errors in the expansion process may  lead  to  the  re-
	      sponse not being sent.

       mail-format    (boolean,	default	false)
	      When  set,  nn will save articles	in a format that is compatible
	      with normal mail folders.	 Unless	folder-format-check is	false,
	      it  is only used to specify the format used when new folders are
	      created.	This variable is ignored if mmdf-format	is set.

       mail-header headers (string, default not	set)
	      The headers string specifies one	or  more  extra	 header	 lines
	      (separated  by semi-colons `;') which are	added to the header of
	      mail sent	from nn	using the reply	and mail commands.  For	 exam-
	      ple:
		   set mail-header Reply-To: storm@texas.dk;Organization: TI - DK
	      To  include  a  semicolon	`;' in a header, precede it by a back-
	      slash (which must	be doubled because of the conventions for  en-
	      tering strings).

       mail-record file	   (string, default not	set)
	      file  must  be  a	 full  path  name  of a	file.  If defined, all
	      replies and mail will be saved in	this file in standard  mailbox
	      format,  i.e.  you can use you favourite mailer (and nn) to look
	      at the file.

       mail-script file	   (string, default not	set)
	      When set,	nn will	use the	specified file instead of the standard
	      aux script when executing	the reply and mail commands.

       mailer shell-command	(string, default REC_MAIL)
	      The program which	is invoked by nn to deliver a message  to  the
	      mail  transport.	The program will be given a complete mail mes-
	      sage including a header containing the recipient's address.  See
	      also mailer-pipe-input.

       mailer-pipe-input	(boolean, default true)
	      When set,	the message to be sent will be piped into  the	mailer
	      program.	 Otherwise,  the  file	containing the message will be
	      given as the first (and only) argument to	the mailer command.

       marked-by-next-group N	(integer, default 0)
	      Specifies	the amount of (unmarked) articles on the  menu	marked
	      seen  by	the  N	{next-group}  command  in selection mode.  See
	      marked-by-read-skip for possible values of N.

       marked-by-read-return N	(integer, default 0)
	      Specifies	the amount of (unmarked) articles on the  menu	marked
	      seen  by	the  Z	{read-return}  command in selection mode.  See
	      marked-by-read-skip for possible values of N.

       marked-by-read-skip N	(integer, default 4)
	      Specifies	the amount of (unmarked) articles on the  menu	marked
	      seen  by	the X {read-skip} command in selection mode.  The fol-
	      lowing values of N are recognized:
		   0:  No articles are marked seen
		   1:  Current page is marked seen
		   2:  Previous	pages are marked seen
		   3:  Previous	and current pages are marked seen
		   4:  All pages are marked seen

       mark-overlap   (boolean,	default	false)
	      When set,	nn will	draw a line (using the underline  capabilities
	      of  the terminal if possible) to indicate	the end	of the overlap
	      (see the overlap variable).

       mark-overlap-shading	(boolean, default false)
	      When set,	nn will	shade overlapping lines	(see the overlap vari-
	      able) using the attributes defined by the	shading-on  and	 shad-
	      ing-off variables	(of if not set,	with the underline attribute).
	      This  is	typically  used	 to give overlapping lines a different
	      colour on	terminals which	have this capability.

       menu-spacing mode   (integer, default 0)
	      When mode	is a non-zero number as	described below, nn  will  add
	      blank  lines between the lines on	the menu to increase readabil-
	      ity at the cost of presenting fewer articles on each page.   The
	      following	values of mode are recognized:
	      0: Don't add blank lines between menu lines.
	      1: Add a blank line between articles with	different subjects.
	      2: Add a blank line between all articles.

       merge-report-rate rate	(integer, default 1)
	      When  nn is invoked with the -m option (directly or via nngrap),
	      a	status report of the merging process is	displayed and  updated
	      on  the screen every rate	seconds.  The report contains the time
	      used so far and an estimate of the time needed to	 complete  the
	      merge.

       message-history N   (integer, default 15)
	      Specifies	 the maximum number, N,	of older messages which	can be
	      recalled with the	^P {message} command.

       min-window size	   (integer, default 7)
	      When the window variable is not set, nn will clear the screen to
	      preview an article if there are less than	size unused  lines  at
	      the bottom of the	menu screen.

       mmdf-format    (boolean,	default	false)
	      When  set, nn will save articles in MMDF format.	Unless folder-
	      format-check is false, it	is only	used  to  specify  the	format
	      used when	new folders are	created.

       monitor	      (boolean,	default	false)
	      When  set,  nn will show all characters in the received messages
	      using a "cat -v" like format.   Otherwise,  only	the  printable
	      characters are shown (default).

       motd	 (boolean, default true)
	      When  set, nn will display the message of	the day	on start-up if
	      it has changed since it was last shown.  The  message  is	 taken
	      from the file "motd" in the lib directory.  It can also be shown
	      (again) using the	:motd command.

       multi-key-guard-time timeout  (integer, default 2)
	      When reading a multi-key sequence	from the keyboard, nn will ex-
	      pect   the  characters  constituting  the	 multi-key  to	arrive
	      "quickly"	after each other.  When	a partial  multi-key  sequence
	      is  read,	nn will	wait (at least)	timeout	tenths of a second for
	      each of the following  characters	 to  arrive  to	 complete  the
	      multi-key	 sequence.  If the multi-key sequence is not completed
	      within this period, nn will read the partial multi-key  sequence
	      as individual characters instead.	 This way it is	still possible
	      to use for example the ESC key on	a terminal with	vt100 like ar-
	      row  keys.   When	 nn  is	used via an rlogin connection, you may
	      have to increase the timeout  to	get  reliable  recognition  of
	      multi-keys.

       new-group-action	action	(integer, default 3)
	      This  variable controls how new groups are treated by nn.	 It is
	      an integer variable, and the following values can	be used.  Some
	      of these actions (marked with an *) will only work when keep-un-
	      subscribed is set, since the presence of a group in  .newsrc  is
	      the only way to recognize	it as an old group:
	      0)  Ignore groups	which are not in .newsrc.  This	will obviously
	      include new groups, and therefore	you must explictly add any new
	      groups that you care about (by editting the .newsrc file,	or us-
	      ing the G	menu command and then subscribing to the group).  When
	      NNTP  is being used, this	setting	prevents the active.times data
	      from being read from the server; this can	be helpful when	 using
	      a	 slow  link,  since  the  data can often be hundreds of	KBytes
	      long.
	      1*)  Groups not in .newsrc are considered	to be new, and are in-
	      serted at	the beginning of the .newsrc file.
	      2*)  Groups not in .newsrc are considered	to be new, and are ap-
	      pended to	the end	of the .newsrc file.
	      3)  New groups are recognized via	a time-stamp saved in the file
	      .nn/LAST and in the database, i.e. it is not  dependent  on  the
	      groups  currently	 in .newsrc.  The new groups are automatically
	      appended to .newsrc with subscription.  Old groups  not  present
	      in .newsrc will be considered to be unsubscribed.
	      4)   As  3,  but the user	is asked to confirm that the new group
	      should be	appended to .newsrc.  If rejected, the group will  not
	      be appended to .newsrc, and thus be regarded as unsubscribed.
	      5)  As 4,	except that the	information is stored in a format com-
	      patible  with  the  rn  news reader (.rnlast).  This needs to be
	      tested!

       new-style-read-prompt	(boolean, default true)
	      When set,	the reading mode prompt	line includes the  group  name
	      and the number of	selected articles in the group.

       news-header headers (string, default not	set)
	      The  headers  string  specifies  one  or more extra header lines
	      (separated by semi-colons	`;') which are added to	the header  of
	      articles posted from nn using the	follow and post	commands.  See
	      mail-header for an example.

       news-record file	   (string, default not	set)
	      Save file	for follow-ups and postings.  Same rules and format as
	      the mail-record variable.

       news-script file	   (string, default not	set)
	      When set,	nn will	use the	specified file instead of the standard
	      aux script when executing	the follow and post commands.

       newsrc file (string, default "~/.newsrc") Specifies the
	      file  used by nn to register which groups	and articles have been
	      read.  The default setting corresponds to	the .newsrc file  used
	      by  other	news readers.  Notice that nn release 6.4 onwards does
	      allow individual articles	to be marked unread, and some articles
	      marked unread, and thus no longer	messes up  .newsrc  for	 other
	      news readers!  Also see nntp-server.

       nn-directory directory	(string, default "~/.nn")
	      It  only	makes  sense to	set this variable on the command line,
	      e.g. "nn-directory=$HOME/.nn2" since it is looked	at before  the
	      init  file is read.  It must be set to a full pathname.  Usually
	      set when using multiple servers;	see  newsrc  above  and	 nntp-
	      server below.

       nntp-cache-dir directory	(string, default "~/.nn")
	      When  NNTP  is  used,  nn	needs to store articles	temporarily on
	      disk.  This variable specifies which directory nn	 will  use  to
	      hold  these files.  The default value may	be changed during con-
	      figuration.  This	variable can only be set in the	init file.

       nntp-cache-size size	(integer, default 10, maximum 10)
	      Specifies	the number of temporary	files in the nntp cache.   The
	      default and maximum values may be	changed	during configuration.

       nntp-debug     (boolean,	default	false)
	      When  set,  a  trace of the nntp related traffic is displayed in
	      the message line on the screen.

       nntp-server hostname or filename	(string)
	      It only makes sense to set this variable on  the	command	 line,
	      e.g.  "nntp-server=news.some.domain",  since it is looked	at be-
	      fore the init file, If you use multiple  servers,	 you  probably
	      want to set the nn-directory and newsrc variables	on the command
	      line  to	alternate  names as well, since	some of	the data files
	      are server dependent.

       old [max-articles]  (integer, default not set)
	      When old is set, nn will present (or scan) all (or the last max-
	      articles)	unread as well as read articles.  While	old is set, nn
	      will never mark any unread articles as read.

       old-packname   (boolean,	default	false)
	      When set,	nn display names identically  to  nn-6.6.5  (and  ear-
	      lier).   Only  set this if you have a large number of entries in
	      your killfile that no longer work	 due  to  the  new  behaviour.
	      Note  that  in  the  long	run, this option will go away, so it's
	      best to update your killfile rather than set this.

       orig-to-include-mask N	(integer, default 3)
	      When replying to an article, nn will include some	of the	header
	      lines  which  may	be used	to construct a proper mail address for
	      the poster of the	original article.  These addresses are	placed
	      on  Orig-To: lines in the	reply header and will automatically be
	      removed before the letter	 is  sent.   This  variable  specifies
	      which  headers from the article are included; its	value N	is the
	      sum of the following values:
		   1: Reply-To:
		   2: From:
		   4: Path:

       overlap lines  (integer,	default	2)
	      Specifies	the number of overlapping lines	from one page  to  the
	      next  when  paging through an article in reading mode.  The last
	      line from	the previous page will be underlined if	 the  terminal
	      has that capability.

       pager shell-command	(string, default $PAGER)
	      This  is the pager used by the :admin command (and nnadmin) when
	      it executes certain commands, e.g. grepping in the Log file.

       patch-command shell-command   (string, default "patch -p0")
	      This is the command which	is invoked by the :patch command.

       post-distribution words	(string, default see below)
	      This variable controls how  the  Distribution:  header  is  con-
	      structed	when posting an	original article.  Its value is	a list
	      of words selected	from the following list:
	      [	ask ] [	default	| distribution ]
	      This is interpreted in two steps:
	      -	First the default distribution is determined.  If  default  is
	      specified	 (or  distribution  is omitted), the value of default-
	      distribution is used.   Otherwise,  the  specified  distribution
	      (any word) is used as the	default.
	      -	 Then  if  ask is specified, the user will be asked to confirm
	      the default distribution or provide another distribution.
	      The default value	of post-distribution is	ask default, i.e.  use
	      the default-distribution with confirmation from the user.

       preview-continuation cond     (integer, default 12)
	      This  variable  determines  on  what terms the following article
	      should be	automatically shown when previewing  an	 article,  and
	      the next-article command is used,	or continue is used at the end
	      of the article.  The following values can	be used:
	      0	- never	show the next article (return to the menu).
	      1	 -  always  show  the  next  article (use 'q' to return	to the
	      menu).
	      2	- show the next	article	if it has the same subject as the cur-
	      rent article, else return	to the menu.
	      The value	should be the sum of two values: one  for  the	action
	      after  using  continue  on the last page of the article, and one
	      for the action performed when the	next-article command  is  used
	      multiplied by 10.

       preview-mark-read	(boolean, default true)
	      When set,	previewing an article will mark	the article as read.

       previous-also-read  (boolean, default true)
	      When set,	going back to the previously read group	with P {previ-
	      ous}  will include articles read in the current invocation of nn
	      even if there are	still unread articles in the group.

       print-header-lines fields     (string, default "FDGS")
	      Specifies	the list of header fields that are output when an  ar-
	      ticle is printed via the :print command and print-header-type is
	      1	(short header).	 The fields specification is desctribed	in the
	      section on Customized Article Headers below.

       print-header-type N (integer, default 1)
	      Specifies	 what kind of header is	printed	by the :print command,
	      corresponding to the three save-*	commands: 0  prints  only  the
	      article  body (no	header), 1 prints a short header, and 2	prints
	      the full article header.

       printer shell-command	(string, default is system dep.)
	      This is the default value	for the	print command.	It should  in-
	      clude an option which prevents the spooler from echoing a	job-id
	      or  similar  to  the terminal to avoid problems with screen han-
	      dling (e.g. lp -s	on System V).

       query-signature		(boolean, default ...)
	      Will cause nn to require confirmation before appending the .sig-
	      nature file to out-going mail or news if the  corresponding  ap-
	      pend-sig-... variable is set.

       quick-count    (boolean,	default	true)
	      When  set,  calculating  the  total number of unread articles at
	      start-up is done by simple subtracting the first unread  article
	      number from the total number of articles in each group.  This is
	      very  fast,  and	fairly accurate	but it may be a	bit too	large.
	      If not set, each line in .newsrc will be	interpreted  to	 count
	      every  unread article, thus giving a very	accurate number.  This
	      variable is also used by nncheck.

       quick-save     (boolean,	default	false)
	      When set,	nn will	not prompt for a file name when	an article  is
	      saved (unless it belongs to a folder).  Instead it uses the save
	      file specified for the current group in the init file or the de-
	      fault save file.

       re-layout N	   (integer, default 0)
	      Normally	on  the	 menu,	nn will	prefix the subject a number of
	      `>'s corresponding to the	number of  references  on  the	Refer-
	      ences: line.  The	re-layout variable may be set to use a differ-
	      ent prefix on the	subjects:
		   0:  One `>' per reference is	shown (default).
		   1:  A single	`>' is shown if	the Subject contains Re:.
		   2:  The number of references	is shown as `n>'
		   3:  A single	Re: is shown.
		   4:  If any references use layout 0, else layout 1.

       re-layout-read N	   (integer, default -1)
	      When  the	 header-lines variable is not set, or contains the "*"
	      field specifier, a line similar to the menu line will be used as
	      the header  of  the  article  in	reading	 mode,	including  the
	      sender's	name and the article's subject.	 When this variable is
	      negative,	the subject on this header line	will be	 prefixed  ac-
	      cording  to  the	re-layout variable.  Otherwise,	it will	define
	      the format of the	"Re:" prefix to	be used	instead	of the re-lay-
	      out used on the menu.

       read-return-next-page	(boolean, default false)
	      When set,	the Z {read-return} command will return	 to  the  next
	      menu page	rather than the	current	menu page.

       record file    (string, no default)
	      Setting  this  pseudo variable will set both the mail-record and
	      the news-record variables	to the specified pathname.

       repeat	      (boolean,	default	false)
	      When set,	nn will	not  eliminate	duplicated  subject  lines  on
	      menus (I cannot imagine why anyone should	want that, but....)

       repeat-group-query  (boolean, default false)
	      When  set, invoking nn with the -g option	will always repeat the
	      query for	a group	to enter until you quit	explicitly.  (Same  as
	      setting the -r option permanently).

       report-cost	   (boolean, default true)
	      This  variable  is  ignored unless nn is running with accounting
	      enabled (see nnacct).  When set, nn will report the cost of  the
	      current session and the total on exit.

       response-check-pause pause    (integer, default 2)
	      Specifies	the number of seconds to wait after posting an article
	      to  see  whether	the action *might* have	failed.	 Some commands
	      run in the background and	may thus  not  have  completed	during
	      this period, so even when	nn says	"Article posted", it may still
	      fail (in which case you are informed via mail).

       response-default-answer action	  (string, default "send")
	      The  default  action to be taken when hitting return to the "re-
	      sponse action" prompt  (abort, edit, send, view, write).	If  it
	      is unset,	no default action is defined.

       retain-seen-status  (boolean, default false)
	      Normally,	 seen  articles	 will just be unread the next time the
	      group is entered (unless they were  marked  read	by  auto-junk-
	      seen).   If retain-seen-status is	set, the seen attribute	on the
	      articles will survive to the next	time  the  group  is  entered.
	      (This is not recommended because it may result in	very large se-
	      lect files).

       retry-on-error times	(integer, default 0)
	      When  set,  nn will try the specified number of times to open an
	      article before reporting that the	article	 does  not  exist  any
	      more.  This may be necessary in some network environments.

       save-closed-mode	mode	(integer, default 13)
	      When  saving  an article in selection mode (i.e. by selecting it
	      from the menu), nn will simply save the specified	article	if the
	      article's	subject	is open.  When the selected menu  entry	 is  a
	      closed  subject,	the  save-closed-mode  variable	determines how
	      many articles among the closed articles should be	saved:
	      0: save root article (the	one on the menu) only
	      1: save selected articles	within subject
	      2: save unread (excl selected) articles within subject
	      3: save selected+unread articles within subject
	      4: save all articles within subject
	      If `10' is added to the above values, nn will not	save  the  se-
	      lected  subject  immediately; instead it will ask	which articles
	      to save using the	above value as the default answer.

       save-counter format (string, default "%d")
	      This is the printf-format	which nn uses to  create  substitution
	      string  for the trailing * in save file names.  You can set this
	      to more complex formats if you like, but be sure	that  it  will
	      produce different	strings	for different numbers.	An alternative
	      format which seems to be popular is ".%02d" .

       save-counter-offset N	(integer, default 0)
	      Normally,	 file  names created with the part.* form will substi-
	      tute the * with successive numbers starting from	one.   Setting
	      this variable will cause these numbers to	start from N+1.

       save-header-lines fields	(string, default "FDNS")
	      Specifies	the list of header fields that are saved when an arti-
	      cle  is saved via	the O {save-short} command.  The fields	speci-
	      fication is desctribed in	 the  section  on  Customized  Article
	      Headers below.

       save-report    (boolean,	default	true)
	      When  set,  a  message  reporting	the number of lines written is
	      shown after saving an article.  Since messages are shown	for  a
	      few  seconds,  this  may	slow  down the saving of many articles
	      (e.g. using the S* command).

       scroll-clear-page	(boolean, default true)
	      Determines whether nn clears the screen before showing each  new
	      page of an article.

       scroll-last-lines N	(integer, default 0)
	      Normally,	 nn will show each new page of an article from the top
	      of the screen (with proper marking of the	overlap).   When  this
	      variable	is set to a negative value, nn will scroll the text of
	      the new pages from the bottom of the screen instead.  If	it  is
	      set  to  a  positive  value,  nn will show pages from the	top as
	      usual, but switch	to scrolling when  there  are  less  than  the
	      specified	number of lines	left in	the article.

       select-leave-next	(boolean, default false)
	      When  set, you will be asked whether to select articles with the
	      leave-next attribute on entry to a group with  left  over	 arti-
	      cles.

       select-on-sender		(boolean, default false)
	      Specifies	whether	the find (=) command in	article	selection mode
	      will match on the	subject	or the sender.

       shading-on code...  (control string, default not	set)
	      Specifies	 the  escape  code to be sent to the terminal to cause
	      "shading"	of the following output	to the screen.	This  is  used
	      if  the mark-overlap-shading is set, and by the `+' attribute in
	      the header-lines variable.

       shading-off code... (control string, default not	set)
	      Specifies	the escape code	to be sent to the terminal to turn off
	      the shading defined by shading-on.  Shading  will	 typically  be
	      done by changing the foreground colour to	change,	e.g.
		   on term ti924-colour
			set shading-on	^[ [ 3 2 m
			set shading-off	^[ [ 3 7 m
			set mark-overlap-shading
			unset mark-overlap
		   end

       shell program  (string, default $SHELL)
	      The shell	program	used to	execute	shell escapes.

       shell-restrictions  (boolean, default false)
	      When  set	 (in the init file), nn	will not allow the user	to in-
	      voke the shell in	any way, including saving on pipes.   It  also
	      prevents	the  user  from	 changing certain variables containing
	      commands.

       show-purpose-mode N	(integer, default 1)
	      Normally,	nn will	show the purpose of a group the	first time  it
	      is  read,	 provided  a purpose is	known.	Setting	this variable,
	      this behaviour can be changed as follows:
		   0:  Never show the purpose.
		   1:  Show the	purpose	for new	groups only.
		   2:  Show the	purpose	for all	groups.
	      When NNTP	is being used, a setting of 0 prevents the  newsgroups
	      purpose  data from being read from the server; this can be help-
	      ful when using a slow link, since	the data can often be hundreds
	      of KBytes	long.

       sign-type      (string, default pgp)
	      What program nn will use to sign messages	via the	Sign  command.
	      Only pgp and gpg are currently valid.

       silent	      (boolean,	default	false)
	      When  set,  nn won't print the logo or "No News" if there	are no
	      unread articles.	Only useful to set in the init	file  or  with
	      the -Q option.

       slow-mode      (boolean,	default	false)
	      When  set,  nn will cut down on the screen output	to give	better
	      response time at low speed.  Normally, nn	will use standout mode
	      (if possible) to mark selected articles on the  menu,  but  when
	      slow-mode	 is  set, nn will just put an asterisk `*' next	to the
	      article identifier on selected articles.	Also when slow-mode is
	      set nn will avoid	redrawing the screen in	the  following	cases:
	      After  a goto-group command an empty menu	is shown (hit space to
	      make it appear), and after responding to an  article,  only  the
	      prompt  line  is	shown (use ^L to redraw	the screen).  To avoid
	      redrawing	the screen after an extended command, set  the	delay-
	      redraw variable as well.

       slow-speed speed	   (integer, default 1200)
	      If  the  terminal	 is running at this baud rate or lower,	the on
	      slow (see	the section on init files) condition will be true, and
	      the on fast will be false	(and vice-versa).

       sort	 (boolean, default true)
	      When set,	nn will	sort articles according	to the	current	 sort-
	      mode on entry to a group.	 Otherwise, articles will be presented
	      in  order	 of arrival.  If not set on entry to a menu for	merged
	      groups, the articles from	each group will	be  kept  together  on
	      the menu.	 If sort is unset while	merged groups are presented on
	      the menu,	the articles will be reordered by local	article	number
	      (which may not keep articles from	the same group together).

       sort-mode mode (integer,	default	1)
	      The default sort algorithm used to sort the articles on entry to
	      a	news group.  It	is a numeric value corresponding to one	of the
	      sorting methods described	in connection with the :sort command:
		   0 - arrival (ordered	by article number)
		   1 - subject (subjects ordered after age of first article)
		   2 - lexical (subjects in lexicographical order)
		   3 - age (articles ordered after posting date	only)
		   4 - sender (articles	ordered	after sender's name)

       spell-checker shell-command   (string, default not set)
	      When set,	responses can be checked for spelling mistakes via the
	      (i)spell	action.	  The command to perform the spelling is given
	      the file containing the full article  including  header  as  its
	      only  argument.  If the spell checker can	fix spelling mistakes,
	      it must apply the	changes	directly to this file.

       split	      (boolean,	default	true)
	      When set,	digests	will automatically and silently	be split  into
	      sub-articles  which are then handled transparently as normal ar-
	      ticles.  Otherwise, digests are presented	as one article	(which
	      you can split on demand with the G command).

       stop lines     (integer,	default	not set)
	      When stop	is set,	nn will	only show the first lines lines	of the
	      of  each article before prompting	you to continue.  This is use-
	      ful on slow terminals and	modem lines to	be  able  to  see  the
	      first  few  lines	of longer articles (and	skipping the rest with
	      the n command).

       subject-match-limit length    (integer, default 256)
	      Subjects will be considered  identical  if  their	 first	length
	      characters  match.  Setting this uncritically to a low value may
	      cause unexpected results!

       subject-match-offset offset   (integer, default 0)
	      When set to a positive number, that many characters at  the  be-
	      ginning  of  the subject will be ignored when comparing subjects
	      for ordering and equality	purposes.

       subject-match-parts (boolean, default false)
	      When set,	two subjects will be  considered  equal	 if  they  are
	      identical	 up to the first (differing) digit.  Together with the
	      subject-match-offset variable, this can be used in source	groups
	      where the	subject	often has a format like:
		   vXXXXXX: Name of the	package	(Part 01/04)
	      Setting subject-match-offset to  8  and  subject-match-parts  to
	      true  will make nn consider all four parts of the	package	having
	      the same subject (and thus be selectable with `*').
	      Notice that changing the	subject-match-...  variables  manually
	      will  not	have an	immediate effect.  To reorder the menu,	an ex-
	      plicit :sort command must	be  performed.	 These	variables  are
	      mainly  intended	to be set using	the :local command in on entry
	      macros for source	and binary groups (entry macros	are  evaluated
	      before the menu is collected and sorted).

       subject-match-minimum characters	  (integer, default 4)
	      When  set	 to a positive number, that many characters at the be-
	      ginning of the subject must match	before the subject-match-parts
	      option comes into	affect.	 This is important, because  the  part
	      matching	causes	the  rest  of the line to be ignored after the
	      first digit pair is discovered.  This begins after any  subject-
	      match-offset has been applied.

       suggest-default-save	(boolean, default true)
	      When  set,  nn will present the default-save-file	when prompting
	      for a save file name in a	group without a	specific save file, or
	      folder-save-file when saving from	a folder.  When	 not  set,  no
	      file name	is presented, and to use the default save file,	a sin-
	      gle + must be specified.

       tidy-newsrc	   (boolean, default false)
	      When  set, nn will automatically remove lines from .newsrc which
	      represent	groups not found in the	active	file  or  unsubscribed
	      groups if	keep-unsubscribed is not set.

       time	 (boolean, default true)
	      When  set,  nn  will  show  the current time in the prompt line.
	      This is useful on	systems	without	a sysline (1) utility.

       trace-folder-packing	(boolean, default true)
	      When set,	a trace	 of  the  retained  and	 deleted  messages  is
	      printed when a folder is rewritten.

       trusted-escape-codes codes    (string, default none)
	      When  set	to a list of one or more characters, nn	will trust and
	      output escape characters in an article if	it is followed by  one
	      of  the  characters  in  the list.  For example, to switch to or
	      from kanji mode, control codes like "esc $" and "esc ( J"	may be
	      present in the text.  To allow these codes,  use	the  following
	      command:
		   set trusted-escape-codes ($
	      You  can	also set it to all to pass all espace codes through to
	      the screen.  Notice that nn  thinks  all	characters  (including
	      esc) output to the screen	as occupy one column.

       unshar-command shell-command  (string, default "/bin/sh")
	      This is the command which	is invoked by the unshar command.

       unshar-header-file file	(string, default "Unshar.Headers")
	      The name of the file in which the	header and initial text	of ar-
	      ticles  unpacked	with the :unshar command is saved.  Unless the
	      file name	starts with a `/', the file will  be  created  in  the
	      same  directory  as  the unpacked	files.	The information	is not
	      saved if this variable is	not set.  Setting  it  to  "Unshar.Re-
	      sult"  will cause	the headers and	the results from the unpacking
	      process to be merged in a	meaningful way (unless mmdf-format  is
	      set).

       unsubscribe-mark-read	(boolean, default true)
	      When  set,  unsubscribing	to a group will	automatically mark all
	      current articles read; this is recommended to keep the  size  of
	      .newsrc  down.   Otherwise,  unread  articles in the unsubscribe
	      groups are kept in .newsrc.  If keep-unsubscribed	is false, this
	      variable has no effect.

       update-frequency		(integer, default 1)
	      Specifies	how many changes need to be done to the	.newsrc	or se-
	      lect files before	they are written back to  disk.	  The  default
	      setting causes .newsrc to	be updated every time a	group has been
	      read.

       use-editor-line		(boolean, default true)
	      Most editors accept arguments of the form:
		   editor [-arguments] +n filename
	      where editor is the name of the editor, and n is the line	number
	      to put the cursor	upon entering the file.	 If use-editor-line is
	      false, it	will not add the "+n" to the arguments.

       use-path-in-from		(boolean, default false)
	      When  mail-format	 is  set, saved	articles will be preceded by a
	      specially	formatted "From	" line:
		   From	origin date
	      Normally,	the origin will	be the name of the  news  group	 where
	      the  article  appeared, but if use-path-in-from is set, the con-
	      tents of the "Path:" header will be used as the origin.

       use-selections	   (boolean, default true)
	      When set,	nn uses	the selections and  other  article  attributes
	      saved  last time nn was used.  If	not set, nn ignores the	select
	      file.

       visible-bell   (boolean,	default	true)
	      When set,	nn will	flash the screen instead of "ringing the bell"
	      if the visible bell (flash) capability is	defined	in  the	 term-
	      cap/terminfo database.

       window size    (integer,	default	not set)
	      When set,	nn will	reserve	the last size lines of the menu	screen
	      for  a  preview window.  If not set, nn will clear the screen to
	      preview an article if there are less than	 min-window  lines  at
	      the bottom of the	screen.	 As a side effect, it can also be used
	      to  reduce  the  size  of	the menus, which may be	useful on slow
	      terminals.

       word-key	key   (key, default ^W)
	      The key which erases the last input component or word when nn is
	      prompting	for a string, e.g. the last name in a path name.

       wrap-header-margin size	(integer, default 6)
	      When set (non-negative), the customized header fields  specified
	      in header-lines will be split across several lines if they don't
	      fit  on one line.	 When size is greater than zero, lines will be
	      split at the first space occurring in the	last size  columns  of
	      the  line.   If not set (or negative), long header lines will be
	      truncated	if they	don't fit on a single line.

CUSTOMIZED ARTICLE HEADER PRESENTATION
       Normally, nn will just print a (high-lighted) single line  header  con-
       taining the author, subject, and	date (optional)	of the article when it
       is read.

       By setting the header-lines variable as described below,	it is possible
       to get a	more informative multi line header with	optional high-lighting
       and underlining.

       The  header-lines variable is set to a list of header line identifiers,
       and the customized headers will then contain exactly these header lines
       in the specified	order.

       The same	specifications are also	used by	the :print and save-short com-
       mands via the print-header-lines	and save-header-lines variables.

       The following header line identifiers are  recognized  in  the  header-
       lines, print-header-lines, and save-header-lines	variables:

	       A    Approved:
	       a    Spool-File:(path of	spool file containing the article)
	       B    Distribution:
	       C    Control:
	       D    Date:
	       d    Date-Received:
	       F    From:
	       f    Sender:
	       G    Newsgroup:(current group)
	       g    Newsgroup:(current group if	cross-posted or	merged)
	       I    Message-Id:
	       K    Keywords:
	       L    Lines:
	       N    Newsgroups:
	       n    Newsgroups:	  (but only if cross posted)
	       O    Organization:
	       P    Path:
	       R    Reply-To:
	       S    Subject:
	       v    Save-File:(the default save	file for this article)
	       W    Followup-To:
	       X    References:
	       x    Back-References:
	       Y    Summary:

       The  'G'	 and 'g' fields	will include the local article number if it is
       known, e.g.
	    Newsgroup: news.software.nn/754

       The following special symbols are recognized in the header-lines	 vari-
       able (and ignored otherwise):

       Preceding  the  identifier  with	an equal sign "=" or an	underscore "_"
       will cause the header field contents to be high-lighted or underlined.

       A plus sign "+" will use	the shading attribute  defined	by  shading-on
       and  shading-off	 to  high-light	the field contents.  If	no shading at-
       tribute is defined it will underline the	field instead.

       Including an asterisk "*" in the	list will  produce  the	 standard  one
       line header at that point.

       Example:	  The following	setting	of the header-lines variable will show
       the author (underlined),	organization, posting date, and	subject	(high-
       lighted)	when articles are read:
	    set	header-lines _FOD=S

COMMAND	LINE OPTIONS
       Some of the command line	options	have already been described, but below
       we provide a complete list of the effect	of each	option by showing  the
       equivalent set, unset, or toggle	command.

       Besides	the options described below, you can set any of	nn's variables
       directly	on the command line via	an argument of the following format:
	    variable=value
       To set or unset a boolean variable, the value can be specified as on or
       off (t and f will also work).

       Notice that the init files are read before the options are parsed  (un-
       less  you use the -I option).  Therefore, the options which are related
       to boolean variables set	in the init file will  toggle  the  value  set
       there, rather than the default value.  Consequently, the	meaning	of the
       options are also	user-defined.

       The  explanations below describe	the effect related to the default set-
       ting of the variables, with the `reverse' effect	in square brackets.

       -aN  {set limit N}
	      Limit the	maximum	number of articles presented in	each group  to
	      N.   This	 is  useful  to	get up-to-date quickly if you have not
	      read news	for a longer period.

       -a0    Mark all unread articles as read.	 See the full  explanation  at
	      the beginning of this manual.

       -B   {toggle backup}
	      Do not [do] backup the rc	file.

       -d   {toggle split}
	      Do not [do] split	digests	into separate articles.

       -f   {toggle fsort}
	      Do  not  [do] sort folders according to the subject (present the
	      articles in a folder in the sequence in which they were saved).

       -g     Prompt for the name of a news group or folder to be entered

       -i   {toggle case-fold-search}
	      Normally searches	with -n	and -s are  case  independent.	 Using
	      this option, the case becomes significant.

       -I     Do not read the init file.  This must be the first option!!  The
	      global setup file	is still read.

       -Ifile-list
	      Specifies	 an  alternate list of init files to be	loaded instead
	      of the standard global and private init files.  The  list	 is  a
	      comma-separated  list  of	file names.  Names which does not con-
	      tain a `/' are looked for	in the ~/.nn directory.	 An empty ele-
	      ment in the list is interpreted as the global  init  file.   The
	      list  of	init files must	not be separated from the -I option by
	      blanks, and it must be the first option.	Example:  The  default
	      behaviour	 corresponds  to using -I,init (first the global file,
	      then the file ~/.nn/init).  The global setup file	is still  read
	      as the first init	file independently of the -I option used.

       -k   {toggle kill}
	      Do not [do] perform automatic kill and selection of articles.

       -lN  {set stop N}
	      Stop  after printing the first N lines of	each article.  This is
	      useful on	slow terminals.

       -L[f]	 {set layout f}
	      Select alternative menu layout f (0 to 4).   If  f  is  omitted,
	      menu layout 3 is selected.

       -m   {no	corresponding variable}
	      Merge all	articles into one `meta	group' instead of showing them
	      one  group  at  a	 time.	 When  -m is used, no articles will be
	      marked as	read.

       -nWORD Collect only articles which  contain  the	 string	 WORD  in  the
	      sender's	name  (case  is	ignored).  If WORD starts with a slash
	      `/', the rest of the argument is used as	a  regular  expression
	      instead of a fixed string.

       -N   {no	corresponding variable}
	      Disable  updating	 of  the rc file.  This	includes not recording
	      that groups have been read or unsubscribed to (although nn  will
	      think so until you quit).

       -q   {toggle sort}
	      Do  not  [do] sort the articles (q means quick, but it isn't any
	      quicker in practice!)

       -Q   {toggle silent}
	      Quiet mode - don't [do] print the	logo or	"No News" messages.

       -r   {toggle repeat-group-query}
	      Make -g repeat query for a group to enter.

       -sWORD Collect only articles which contain the  string  WORD  in	 their
	      subject (case is ignored).  If WORD starts with a	slash `/', the
	      rest  of the argument is used as a regular expression instead of
	      a	fixed string.

       -S   {toggle repeat}
	      Do not [do] eliminate duplicated subject lines on	menus.

       -T   {toggle time}
	      Do not [do] show the current time	in the prompt line.

       -w[N]	 {set window N}
	      Reserve N	lines of the menu screen for a preview window.	 If  N
	      is omitted, the preview window is	set to 5 lines.

       -W   {toggle confirm-messages}
	      [Don't] Wait for confirmation on all messages.

       -x[N]	 {set old N}
	      Present (or scan)	all (or	the last N) unread as well as read ar-
	      ticles.  This will never mark unread articles as read.

       -X   {no	corresponding variable}
	      Read/scan	 unsubscribed  groups  also.  Most useful when looking
	      for a specific subject in	all groups, e.g.
		 nn -mxX -sSubject all

MACRO DEFINITIONS
       Practically any combination of commands and key strokes can be  defined
       as  a  macro  which can be bound	to a single key	in menu	and/or reading
       mode.

       The macro definition must  specify  a  sequence	of  commands  and  key
       strokes as if they were typed directly from the keyboard.  For example,
       a  string specifying a file name	must follow a save command.  This man-
       ual does	not give a complete specification of all the input required by
       the various commands; it	is recommended to execute the desired  command
       sequence	from the keyboard prior	to defining the	macro to get the exact
       requirements of each command.

       Although	 it is possible	to define temporary macros interactively using
       the :define command, macro definitions are normally placed in the  init
       file.  Macros are numbered from 0 to 100, i.e. it is possible to	define
       a  total	 of 101	different macros (implicit macros defined with the map
       command uses internal numbers from 101 to 200).

       To define macro number M, the following construction is used (the  line
       breaks are mandatory):
	    define M
		 body
	    end

       The  body  consists  of	a  sequence of tokens separated	by white space
       (blanks or newlines).  However, certain tokens continue to the  end  of
       the current line.

       The following tokens may	occur in the macro body:

       Comments
	      Empty  lines and text following a	# character (preceded by white
	      space) is	ignored.

       Command Names
	      Any command name listed in the key mapping section  can  be  in-
	      cluded  in  a  macro causing that	command	to be invoked when the
	      macro is executed.

       Extended	Commands
	      All the extended commands	which can be executed through the com-
	      mand command (normally bound to the : key) can also be  executed
	      in  a  macro.   An  extended command starts with a colon (:) and
	      continues	to the end of the current line.	 Example:
		   :show groups	total

       Key Strokes
	      A	key stroke (which is normally mapped into a command  depending
	      on the current mode) is specified	as a key name enclosed in sin-
	      gle quotes.  Examples (A-key, left arrow key, RETURN key):
		   'A'	'left'	'^M'

       Shell Commands
	      External	commands  can be invoked as part of a macro execution.
	      There are	two forms of shell command invocations	available  de-
	      pending  on whether a command may	produce	output or require user
	      input, or	it is guaranteed to complete without input  or	output
	      to  the terminal.	 The difference	is that	in the latter case, nn
	      does not prepare the terminal to be  used	 by  another  program.
	      When  the	command	completes, the screen is not redrawn automati-
	      cally; you should	use the	redraw command to do  that.   The  tho
	      forms are:
		   :!echo this command uses the	terminal
		   :!!echo this	command	does not > /tmp/file

       Strings
	      Input  to	commands prompting for a string, e.g. a	file name, can
	      be specified in a	macro as  a  double  quoted  string.   Example
	      (save without prompting for a file name):
		   save-short "+$G"

       Conditionals
	      Conditionals  may	 occur	anywhere  in a macro; a	conditional is
	      evaluated	when the macro is executed, and	if  the	 condition  is
	      false  the  rest	of the current line is ignored.	 The following
	      conditionals are available:
		   ?menu     True in menu mode
		   ?show     True in reading mode
		   ?folder   True when looking at a folder
		   ?group    True when looking at a news group
		   ?yes	Query user, true if answer is yes
		   ?no	Query user, true if answer is no
	      Example (stop macro execution if user rejects to continue):
		   prompt "continue? " ?no break
	      In addition to these conditionals, it is possible	 to  test  the
	      current value of boolean and integer variables using the follow-
	      ing form:
		   ?variable=value
	      This  conditional	will be	true (1) if the	variable is an integer
	      variable whose current value is the one specified, or (2)	if the
	      variable is a boolean variable which is either on	or off.	 Exam-
	      ples:
		   ?layout=3 :set layout 1
		   ?monitor=on	break
		   ?sort=off :sort age

       break  Terminate	macro  execution  completely.	This  includes	nested
	      macros.  Example (stop if	looking	at a folder):
		   ?folder break

       return Terminate	 execution  of current macro.  If the current macro is
	      called from another macro, execution of that macro continues im-
	      mediately.

       input  Query the	user for a key stroke or a string, for example a  file
	      name.   Example  (prompt	the  user for a	file name in the usual
	      way):
		   save-short input

       yes    Confirm unconditionally if a command requires confirmation.   It
	      is  ignored if the command does not require confirmation.	 Exam-
	      ple (confirm creation of new files):
		   save-short "+$G" yes

       no     Terminate	execution of current macro if a	command	requires  con-
	      firmation; otherwise ignore it.  If neither yes nor no is	speci-
	      fied  when a command requires confirmation, the user must	answer
	      the question as usual - if the user confirms the	action	execu-
	      tion  continues normally;	otherwise the execution	of the current
	      macro is terminated.  Example (do	not create new files):
		   save-short "+$L/misc" no

       prompt string
	      Print the	string in the prompt line (highlighted).   The	string
	      must be enclosed in double quotes.  Example:
		   prompt "Enter recipient name"
	      When the macro terminates, the original prompt shown on entry to
	      the  macro will automatically be redrawn.	 If this is not	desir-
	      able (e.g.  if the macro goes from selection to  reading	mode),
	      the  redrawing  of  the prompt can be disabled by	using a	prompt
	      command with an empty string ("").  Example:
		   prompt "Enter reading mode?"	# old prompt is	saved
		   ?no return #	and old	prompt is restored
		   read-skip	   # changes the prompt
		   prompt "" # so forget old prompt

       echo string
	      Display the string in the	prompt line for	a short	period.	 Exam-
	      ple:
		   ?show echo "Cannot be used in reading mode" break

       puts string-to-end-of-line
	      The rest of the line is output directly to the terminal  without
	      interpretation.

       macro M
	      Invoke  macro number M.  The maximum macro nesting level is five
	      (also catches macro loops).

       I use the following macro to quickly save all the selected files	 in  a
       file  whose  name  is  entered as usual.	 It also works in reading mode
       (saving just the	current	article).
	    define 1
		 :unset	save-report
		 save-short input yes
		 ?menu '+'
		 :set save-report
	    end

KEY MAPPINGS
       The descriptions	of the keys and	commands provided in this  manual  re-
       flects  the default key mappings	in nn.	However, you can easily	change
       these mappings to match your personal demands, and it is	also  possible
       to remap	keys depending on the terminal in use.	Permanent remapping of
       keys  must  be done through the init file, while	temporary changes (for
       the duration of the current invocation of nn) can be made with the :map
       command.

       The binding and mapping of keys are controlled by four tables:

       The multikey definition table
	      This table is used for mapping multicharacter key	sequences into
	      single characters.  By default the table contains	 the  mappings
	      for  the four cursor keys, and there is room for 10 user-defined
	      multikeys.  The fourteen multikeys are named: up,	 down,	right,
	      left  (the  four arrow keys), and	#0 through #9 for the user-de-
	      fined keys.
	      Multikey #i (where i is a	digit or an arrow key name) is defined
	      using the	following command:
		   map #i key-sequence
	      where the	sequence is a list of 7-bit character names  (see  be-
	      low)  separated  by  spaces.  For	example, if the	HOME key sends
	      the sequence ESC [ H, you	can define multikey #0 to be the  home
	      key using	the command:
		   map #0 ^[ [ H

       The input key mapping table
	      All  characters  that  are read from the keyboard	will be	mapped
	      through the input	mapping	table.	Consequently, you can globally
	      remap one	key to produce any other key value.   By  default  all
	      keys are mapped into themselves.
	      An  entry	 in  the input key mapping table to map	input-key into
	      new-key is made with the command
		   map key input-key new-key
	      For example, to make your	ESC key	function as interrupt you  can
	      use the command
		   map key ^[ ^G

       The selection mode key binding table
	      This  table defines for each key which command should be invoked
	      when that	key is pressed in selection mode, i.e. when the	 arti-
	      cle  menu	 is  shown.  The command to bind a key to a command in
	      selection	mode is:
		   map menu key	command
	      For example, to have the HOME key	defined	as multikey  #0	 above
	      bound to the select command, the following command is used:
		   map menu #0 select
	      To  remap	 a key to select a specific article on the menu	(which
	      the `a' through `z' keys do by default),	the  command  must  be
	      specified	as `article N' where N is the entry number on the menu
	      counted  from  zero (i.e.	a=0, b=1, ..., z=25, 0=26, ...,	9=35).
	      For example, to map `J' to select	 article  `j',	the  following
	      command is used:
		   map menu J article 9

       The reading mode	key binding table
	      This  table defines for each key which command should be invoked
	      when that	key is pressed in reading mode,	i.e. when the  article
	      text  is shown.  The command to bind a key to a command in read-
	      ing mode is:
		   map show key	command

       In addition to the direct mappings described above, the following vari-
       ations of the map command are available:

       User defined keymaps
	      Additional keymaps can be	defined	using the command
		   make	map newmap
	      This will	create a new keymap which can initialized using	normal
	      map commands, e.g.
		   map newmap key command
	      To activate a user-defined keymap, it must be bound to a	prefix
	      key:
		   map base-map	prefix-key prefix newmap
	      When  used,  the	prefix key itself does not activate a command,
	      but instead it require another key to be entered and  then  exe-
	      cute  the	command	bound to that key in the keymap	which is bound
	      to the prefix key.
		For example, to	let the	key sequence "^X i" execute macro num-
	      ber 10 in	both modes, the	following commands can be used:
		   make	map ctl-x
		   map ctl-x i macro 10
		   map both ^X prefix ctl-x

       Mapping keys in both modes
	      Using the	pseudo-keymap `both', it is possible to	map a key to a
	      command in both selection	and reading mode at once.   For	 exam-
	      ple,  to	map  the home key to macro number 5 in both modes, the
	      following	command	can be used:
		   map both #0 macro 5

       Aliasing
	      A	key can	also be	mapped directly	to the command currently bound
	      to another key.  Later remapping	of  the	 other	key  will  not
	      change the mapping of the	`aliased' key.	This is	done using the
	      following	command:
		   map keymap new-key as old-key

       Binding macros to keys
	      A	 previously defined macro can be bound to a key	using the com-
	      mand:
		   map keymap key macro	macro-number

       Implicit	macro definitions
	      An implicit macro	can also be  defined  directly	in  connection
	      with the map command:
		   map keymap key (
		   body...
		   )

       Keys and	character names	are specified using the	following notation:

       C      A	single printable character represents the key or character it-
	      self.

       ^C     This  notation  represents  a  control key or character.	DEL is
	      written as ^?

       125, 0175, 0x7D
	      Characters and keys can be specified by their ordinal  value  in
	      decimal, octal, and hexadecimal notation.

       up, down, right,	left
	      These names represent the	cursor keys.

       #0  through  #9
	      These symbols represent the ten user-defined multikeys.

       If  the	variable  data-bits  is	7, key maps can	specify	binding	of all
       keys in the range 0x00 to 0x7F, and the 8th bit will be stripped	in all
       keyboard	input.	If the variable	data-bits is 8,	the  8th  bit  is  not
       cleared,	 and  key  maps	 are  extended to allow	binding	of keys	in the
       range 0xA0 to 0xFE (corresponding to the	national characters defined by
       the ISO 8859 character sets).  Binding commands to these	 keys  can  be
       done  either by using their numeric value, or directly specifying the 8
       bit character in	the map	command, e.g.
	    map	menu 0xC8 macro	72
	    map	key e %

       To show the current contents of the four	tables,	the following versions
       of the :map command are available:

       :map   Show the current mode's key bindings.

       :map menu
	      Show the selection mode key bindings.

       :map show
	      Show the reading mode key	bindings.

       :map # Show the multikey	definition table.

       :map key
	      Show the input key mapping table.

STANDARD KEY BINDINGS
       Below is	a list of all the commands that	can be bound to	 keys,	either
       in  selection mode, in reading mode, or both.  For each command the de-
       fault command key bindings in both modes	are shown.  If the key is  not
       bound  in one of	the modes, but it can be bound,	the corresponding part
       will just be empty.  If the command cannot  be  bound  in  one  of  the
       modes, that mode	will contain the word nix.

	       Function		    Selection mode   Reading mode
	       advance-article	    nix		     a
	       advance-group	    A		     A
	       article N	    a-z0-9	     nix
	       back-article	    nix		     b
	       back-group	    B		     B
	       cancel		    C		     C
	       command		    :		     :
	       compress		    nix		     c
	       continue		    space	     space
	       continue-no-mark	    return	     nix
	       decode
	       find		    =		     /
	       find-next	    nix		     .
	       follow		    F		     fF
	       full-digest	    nix		     H
	       goto-group	    G		     G
	       goto-menu	    nix		     = Z
	       help		    ?		     ?
	       junk-articles	    J		     nix
	       kill-select	    K		     K
	       layout		    "		     nix
	       leave-article	    nix		     l
	       leave-next	    L		     L
	       line+1		    ,  down	     return
	       line-1		    /		     nix
	       line=@		    nix		     g
	       macro M
	       mail		    M		     m M
	       message		    ^P		     ^P
	       next-article	    nix		     n
	       next-group	    N		     N
	       next-subject	    nix		     k
	       nil
	       overview		    Y		     Y
	       page+1		    >		     nix
	       page+1/2		    nix		     d
	       page-1		    <		     delete  backspace
	       page-1/2		    nix		     u
	       page=0		    nix		     h
	       page=1		    ^		     ^
	       page=$		    $		     $
	       patch
	       post
	       preview		    %		     %
	       previous		    P		     p
	       print				     P
	       quit		    Q		     Q
	       read-return	    Z		     nix
	       read-skip	    X		     X
	       redraw		    ^L ^R	     ^L	^R
	       reply		    R		     r R
	       rot13		    nix		     D
	       save-full	    S		     s S
	       save-short	    O		     o O
	       save-header	    E		     e E
	       save-body	    W		     w W
	       select		    .		     nix
	       select-auto	    +		     nix
	       select-invert	    @		     nix
	       select-range	    -		     nix
	       select-subject	    *		     *
	       shell		    !		     !
	       skip-lines	    nix		     tab
	       unselect-all	    ~		     nix
	       unshar
	       unsub		    U		     U
	       version		    V		     V

       See  the	 descriptions of the default bindings for a description	of the
       commands.  The pseudo command nil is used to unbind a key.

THE INIT FILES
       The init	files are used to customize nn's behaviour  to	local  conven-
       tions and restrictions and to satisfy each user's personal taste.
       Normally, nn reads upto three init files	on start-up if they exist (all
       init files are optional):

       $LIB/setup
	      A	 system-wide file located in the library directory.  This file
	      is always	loaded before any other	init file (even	 when  the  -I
	      option  is  specified).	It cannot contain a group presentation
	      sequence.

       $LIB/init
	      Another system-wide (global) init	file located  in  the  library
	      directory.  This file may	be ignored via the -I option.

       ~/.nn/init
	      The  private  init file located in the user's .nn	directory.  It
	      is read after the	global init file to allow the user  to	change
	      the default setup.

       The  init  file	is  parsed  one	line at	a time.	 If a line ends	with a
       backslash `\', the backslash is ignored,	and the	following line is  ap-
       pended to the current line.

       The init	file may contain the following types of	commands (and data):

       Comments
	      Empty  lines and lines with a # character	as the first non-blank
	      character	are ignored.  Except where # has another  meaning  de-
	      fined  by	 the  command  syntax  (e.g. multi-keys	are named #n),
	      trailing comments	on input lines are ignored.

       Variable	settings
	      You can set (or unset) all the variables	described  earlier  to
	      change  nn's  behaviour permanently.  The	set and	unset commands
	      you can use in the init file have	exactly	the same format	as the
	      :set and :unset commands described earlier (except  that	the  :
	      prefix is	omitted.)
	      Variables	can also be locked via the lock	command; this is typi-
	      cally done in the	setup file to enforce local policies.

       Key mappings
	      You  can	use  all  the  versions	of the map command in the init
	      file.

       Macro Definitions
	      You can define sequences of commands and key strokes  using  the
	      define...end  construction,  which  can  then be bound to	single
	      keys with	the map	command.

       Load terminal specific files
	      You can load a terminal specific file using the
		   load	file
	      The character @ in the file will be  replaced  by	 the  terminal
	      type  defined in the TERM	environment variable.  nn silently ig-
	      nores the	load command if	the file does not exist	(so you	 don't
	      have  to	have a specific	init file for terminals	which does not
	      require remapping).  If the file is not specified	by an absolute
	      pathname,	it must	reside in your ~/.nn directory.	 Examples:
		   # load local	customizations
		   load	/usr/lib/nninit
		   # load personal terminal specific customizations
		   load	init.@

       Switch to loading a different init file
	      You can skip the rest of the current init	file and start loading
	      a	different init file with the following command:
		   chain file
	      If this occur in the private or global init  file,  the  chained
	      init  file  may  contain	a sequence part	which will replace the
	      private or global	presentation sequence respectively.

       Stop loading current init file
	      You can skip the rest of the current init	file with the  follow-
	      ing command:
		   stop

       Give error messages and/or terminate
	      If an error is detected in the init file,	the following commands
	      can  be  used  to	print an error message and/or terminate	execu-
	      tion:
	      error fatal error	message...
		   Print the message and terminate execution.
	      echo warning message...
		   Print the message and continue.
	      exit [ status ]
		   Terminate nn	with the specified exit	status or 0  if	 omit-
	      ted.

       Change working directory	of nn
	      You can use the cd command to change the working directory when-
	      ever you enter nn.  Example:
		   # Use folder	directory as working directory inside nn
		   cd ~/News

       Command groups
	      The  init	file can contain groups	of commands which are executed
	      under special conditions.	 The command groups are	 described  in
	      the section on command groups below.

       One or more save-files sections
	      A	 save-files  section  is  used to assign default save files to
	      specific groups:
		   save-files
		     group-name	(pattern) file-name
		     ...
		   end
	      The group	name (patterns)	and save file names are	 specified  in
	      the same way as in the presentation sequence (see	below).	 Exam-
	      ple:
		   save-files
		     news*  +news/$L
		     comp.sources*  /u/src/$L/
		   end

       The news	group presentation sequence
	      The last part of the init	file may specify the sequence in which
	      you want the news	groups to be presented.	 This part starts with
	      the command sequence and continues to the	end of the init	file.

       Both init files may contain a presentation sequence.  In	this case, the
       global sequence is appended to the private sequence.

COMMAND	GROUPS
       Command	groups may only	occur in the init file,	and they provide a way
       to have series of commands executed at certain points during news read-
       ing.

       In release 6.4 onwards, these possibilities are still  rather  rudimen-
       tary, and a mixture of normal init file syntax and macro	syntax is used
       depending  on whether the command group is only executed	on start-up or
       several times during the	nn session.

       A command group begins with the word on and ends	 with  the  word  end.
       The  following  command	groups	are  conditionally executed during the
       parsing of the init file	if the specified condition is true.  They  may
       also  have  an optional else part which is executed if the condition is
       false:
	    on condition
		 commands
	    [ else
		 commands ]
	    end

       The following conditional command groups	may be used in the  init  file
       to be executed at start-up:

       on [ test ]
	      The  commands  (init file	syntax)	in the group are executed only
	      if the specified test is true.  A	shell is  spawned  to  execute
	      the  command  "[ test ]",	so all the options of the test(1) com-
	      mand is available.  For example, to unset	the flow-control vari-
	      able if the tty is a pseudo-tty, the following  conditional  can
	      be used:
		   on [	-n "`tty | grep	ttyp`" ]
			unset flow-control
		   end

       on !shell command
	      The  command  group is executed if the given shell command exits
	      with 0 status (success).	Care should be taken that the  command
	      does  not	 produce any output, e.g. by redirecting its output to
	      /dev/null.  For example, to prevent people from reading news  if
	      load  is above a specific	level, the following conditional might
	      be placed	in the global setup file.
		   on !load-above 5
			error load is too high,	try again later.
		   end

       on `shell command` string...
	      The command group	is executed if the first output	line from exe-
	      cuting the specified shell command is listed among the specified
	      string values.  The shell	command	can be omitted	on  subsequent
	      occurrences  of  this conditional, in which case the output from
	      the last shell command is	used.  For example, the	following con-
	      ditional can be used to switch to	an init	file which has a  lim-
	      ited  sequence  for news reading during working hours, evenings,
	      and nights:
		   on `date +%H` 9 10 11 12 13 14 15 16
			chain init.work
		   end
		   on `` 17 18 19 20 21
			chain init.evening
		   else
			chain init.night
		   end

       on `` string...
	      This is equivalent to the	previous form except that  instead  of
	      executing	a shell	command, the output from the previous

       on $variable [ value ]
	      If no value strings are specified, the command group is executed
	      if the given variable is defined in the environment.  Otherwise,
	      the  command group is executed only if the value of the variable
	      occur in the value list.	For example, if	you want  nn  to  look
	      for  mail	 in  whatever $MAIL is set to -	if it is set - you can
	      use the following	code:
		   on $MAIL
			set mail $(MAIL)
		   end

       on slow
	      The commands (init file syntax) in the group are	executed  only
	      if  the  current	terminal output	speed is less than or equal to
	      the baud rate set	in the slow-speed variable.  This can be  used
	      to  optimize  the	 user-interface	 for slow terminals by setting
	      suitable variables:
		   on slow
			set confirm-entry
			set slow-mode
			set delay-redraw
			unset visible-bell
			set compress
			unset header-lines
			set stop 5
			set window 10
		   end

       on fast
	      Same as on slow except that the commands are only	executed  when
	      the terminal is running at a speed above the slow-speed value.

       on term term-type...
	      The commands are executed	if one of the term-type	names is iden-
	      tical to value of	the TERM environment variable.

       on host host-name...
	      The  commands are	executed if the	local host's name occur	in the
	      host-name	list.

       on program program-name...
	      The commands are executed	if the current program	(nn,  nncheck,
	      etc) in the program-name list.

       The following on	command	groups are really macros which may be executed
       during  nn's  normal  processing,  and as such they cannot have an else
       part.

       on entry	[ group	list ]
	      These commands (macro format!) are executed every	time nn	enters
	      a	news group.  If	a group	list is	not  specified,	 the  commands
	      are  associated  with  all groups	which don't have its own entry
	      macro specified in the group  sequence.	Otherwise,  the	 entry
	      macro will be associated with the	groups in the list.  The group
	      list is specified	using the meta-notations described in the pre-
	      sentation	sequence section.
	      All  `:' commands	at the beginning of the	command	group are exe-
	      cuted before nn collects the articles in the  group,  so	it  is
	      possible	to  set	 or  unset variables like cross-post and auto-
	      read-mode-limit before any articles are collected	and  the  menu
	      is (not) shown.
		The  non-`:' commands, and `:' commands	that follows a command
	      of another type will be executed	immediately  after  the	 first
	      menu  page  is presented.	 The execution of a `:'	command	can be
	      postponed	by using a double `::' as the command prefix.
		   on entry comp.sources* alt.sources
			:set cross-post	on   # set before collection
			:local auto-read-mode-limit -1	 # set before showing menu
			::unset	cross-post   # set after collection
		   end

       on start-up
	      These `:'	commands (macro	format!) are executed on start-up just
	      before nn	enters the first news group.  However, postponed  com-
	      mands  (i.e.  non-`:'  commands)	will not be executed until the
	      first group is shown (it works like an entry macro).

GROUP PRESENTATION SEQUENCE
       News groups are normally	presented in the sequence defined in the  sys-
       tem-wide	init file in nn's library directory.

       You can personalize the presentation sequence by	specifying an alterna-
       tive  sequence  in  the private init file.  The sequence	in the private
       init file is used before	the global  presentation  sequence,  and  need
       only describe the deviations from the default presentation sequence.

       The presentation	sequence must start with the word
	    sequence
       followed	 by  a list of the news	group names in the order you want them
       to be presented.	 The group names must be  separated  by	 white	space.
       The  sequence  list must	be the last part of the	init file (the parsing
       of commands from	the init file stops when the word sequence is  encoun-
       tered).

       You  may	 use a full group name like "comp.unix.questions", or just the
       name of a main group or subgroup, e.g. "comp" or	"comp.unix".  However,
       if "comp" precedes "comp.unix.questions"	in  the	 list,	this  subgroup
       will  be	placed in the normal alphabetic	sequence during	the collection
       of all the "comp" groups.

       Groups which are	not explicitly mentioned in any	of the sequence	 files
       will  be	 placed	after the mentioned groups, unless `!!'	is used	and it
       has not been disabled (as described below).

       Each group name may be followed by a file or folder  name  (must	 start
       with either of `/' `~' or `+') which will specify the default save file
       for  that  group	(and its subgroups).  A	single `+' following the group
       name is an abbreviation for the last save file name used.  For example,
       the following two sequences are equivalent:
	    group1 +file group2	+file group3 +file
	    group1 +file group2	+ group3 +

       When an article is saved, the default save name will  be	 used  as  the
       initial	contents  of  the  file	 name  prompt for further editing.  It
       therefore does not need to be be	a complete file	name (unless  you  use
       the quick save mode).

       Each  group  name may also be associated	with a so-called entry action.
       This is basically an (unnamed) macro which is invoked on	entry  to  the
       group (following	the same rules as the `on entry' command group related
       to :set and :unset commands).

       The  entry  action  begins  with	a left parenthesis `(' and ends	with a
       right parenthesis `)' on	an otherwise empty line:
	    comp.sources. +src/$L/ (
		 :set cross-post
	    )
       The last	entry action can be repeated by	specifying  an	empty  set  of
       parenthesis, e.g.
	    comp.unix. +unix ()
       The entry action	of a preceding group in	the sequence can be associated
       with  the  current  group(s) by specifying the name of the group	in the
       parentheses instead of the commands, e.g.
	    comp.unix. +unix (comp.sources.unix)
       A macro can also	be associated with the entry action by specifying  its
       number in the same way as the group name	above, e.g.
	    rec.music. +music (30)
       Notice  that it is the current definition of the	macro which is associ-
       ated with the group, so if the macro is later redefined with the	 `:de-
       fine' command, it will not have any effect on the entry action.

       Group names can be specified using the following	notations:

       group.name
	      Append  the  group  (if  it exists) to the presentation sequence
	      list.  If	also-subgroups is set (default), all  subscribed  sub-
	      groups of	the group will be included as well (if there are any).
	      Examples:	 "comp",  "comp.unix",	"comp.unix.questions".	If the
	      group does not exits (e.g.  "comp"), the subgroups will  be  in-
	      cluded  even  when  also-subgroups  is  not  set,	i.e. "comp" is
	      equivalent to "comp.".

       group.name.
	      Append the subgroups of the specified group to the  presentation
	      sequence.	 The group itself (if it exists) is not	included.  Ex-
	      amples: "comp.", "comp.unix.".

       Append the groups whose name ends with the specified name to the
	      sequence.	 Example: ".test".

       group.name*
	      Append  the group	and its	subgroups to the presentation sequence
	      list  (even  when	 also-subgroups	  is   not   set).    Example:
	      "comp.unix*".

       The  following  meta  notation  can  be	used  in a sequence file.  The
       group.name can be specified using any of	the forms described above:

       ! groups
	      Completely ignore	the group or groups specified unless they  are
	      already  in  the presentation sequence (i.e. has been explicitly
	      mentioned	earlier	in the sequence).

       !:code groups
	      Ignore a selection of groups based on the	given code letter (see
	      below), unless they are already included in the  sequence.   No-
	      tice that	these forms only excludes groups from the presentation
	      sequence,	 i.e. they do not include the remaining	groups at this
	      point; that must be done explicitly elsewhere.

       !:U groups
	      Ignore unsubscribed groups, i.e. if they are  neither  new,  nor
	      present  and  subscribed in .newsrc.  This is useful to ignore a
	      whole hierarchy except for a few	groups	which  are  explicitly
	      mentioned	 in  .newsrc and still see new groups as they are cre-
	      ated.

       !:X groups
	      Ignore unsubscribed and new groups, i.e. if they	are  not  cur-
	      rently present and subscribed in .newsrc.	 This is useful	to ig-
	      nore a whole hierarchy except for	a few groups which are explic-
	      itly  mentioned in .newsrc.  New groups in the hierarchy are ig-
	      nored unless `NEW' occurs	earlier	in the sequence.

       !:O groups
	      Ignore old groups, i.e. unless they are new.  This is useful  to
	      ignore a whole hierarchy but still see new groups	which are cre-
	      ated  in	the  hierarchy (it might become	interesting some day).
	      Individual groups	can still be included in the sequence if  they
	      are specified before the `!:O' entry.

       !:N groups
	      Ignore new groups	in the hierarchy.

       !!     Stop  building  the  presentation	sequence.  This	eliminates all
	      groups that are not already in the presentation sequence.

       NEW    This is a	pseudo group name which	matches	all  new  groups;  you
	      could  place  this symbol	early in your presentation sequence to
	      see new groups `out of sequence' (to attract your	 attention  to
	      them).

       RC     This  is	a pseudo group name which matches all groups occurring
	      in the .newsrc file.  It will cause the groups in	.newsrc	to  be
	      appended	to  the	presentation sequence in the sequence in which
	      they are listed in .newsrc.

       RC:number
	      Similar to the RC	entry, but limited to the first	 number	 lines
	      of the .newsrc file.  Example: RC:10 (use	10 lines of .newsrc).

       RC:string
	      Similar to the RC	entry, but limited to the lines	up to (and in-
	      cluding)	the  first  line  (i.e.	group) starting	with the given
	      string.  For example:  RC:alt.sources

       < group.name
	      Place the	group (and its subgroups) at the beginning of the pre-
	      sentation	sequence.  Notice that each `<'	entry will  place  the
	      group(s)	at the beginning of the	current	sequence, i.e. < A < B
	      <	C will generate	the sequence C B A.

       > group.name
	      Place the	group (and its subgroups) after	all other groups  that
	      are and will be entered into the presentation sequence.

       @      Disable  the `!!'	command.  This can be included in the personal
	      presentation sequence if the global sequence file	contains a  !!
	      entry (see example 1 below).

       % .... %
	      Starts and ends a	region of the sequence where it	is possible to
	      include  groups  which has been eliminated earlier.  This	may be
	      useful to	alter the sequence  of	some  groups,  e.g.  to	 place
	      comp.sources.bugs	 after	all other source groups, the following
	      sequence can be used:
	      !	comp.sources.bugs comp.sources*	% comp.sources.bugs %

       Example 1: In a company where ordinary users only should	read the local
       news groups, and	ignore the rest	(including new news groups  which  are
       otherwise always	subscribed to initially), can use the following	global
       presentation sequence:
	    general
	    follow
	    ! local.test
	    local
	    !!
       The  "expert"  users in the company must	put the	@ command somewhere in
       their private sequence to avoid losing news groups which	they have  not
       explicitly mentioned in their init file.

       Example	2: This	is the global sequence for systems with	heavy news ad-
       dicts who setup their own sequences anyway.
	    # all must read the	general	news first
	    < general
	    # test is test, and	junk is	junk,
	    # so it is placed at the very end
	    > test
	    > .test
	    > junk
	    # this is the standard sequence which everybody may
	    # change to	their own liking
	    local     #	our local groups
	    dk	 # the Danish groups
	    eunet.general # to present it before eunet.followup
	    eunet     #	the other European groups
	    comp # the serious groups
	    news # news	on news
	    sci	 # other serious groups
	    rec	 # not really that important (don't quote me)
	    misc # well, it must be somewhere
	    # the groups that are not listed above goes	here
       Notice the use of comments in the sequence where	they  are  allowed  at
       the end of non-empty lines as well.

       Example 3: My own presentation sequence (in the init file) simply lists
       my favourite groups and the corresponding default save files:
	  sequence
	    !:U	alt*  #	ignore unsubscribed alt	groups
	    news.software.nn +nn
	    comp.sys.ti* +ti/$L
	    NEW	 # show	new groups here
	    news*
	    rec.music.synth +synth/
	    comp.emacs*,gnu.emacs +emacs/misc
	    comp.risks +risks
	    eunet.sources +src/unix/
	    comp.sources* +src/$L/
       The  presentation  sequence  is	not used when nn is called with	one or
       more news group names on	the command line; it is	thus possible to  read
       ignored	groups	(on  explicit request) wihtout changing	the init file.
       (Of course, you can also	use the	G command to read ignored groups).

MERGING	NEWS GROUPS
       The third example above contains	the following line:
	    comp.emacs*,gnu.emacs +emacs/misc
       This is the syntax used to merge	groups.	 When two or more  groups  are
       merged,	all  new articles in these groups are presented	together as if
       they were one group.  To	merge groups, their names must be  listed  to-
       gether in the sequence, and only	separated by a single comma.  To merge
       the  groups  resulting  from a single group pattern (e.g. comp.emacs*),
       the group pattern must be  followed  by	a  comma  and  a  blank	 (e.g.
       comp.emacs*, ...).

       Merged  groups  are presented as	the first group	in the "list", and the
       word "MERGED" will be shown after the group  name.   The	 Y  {overview}
       command	will  still  show merged groups	as individual groups, but they
       will be annotated with the symbol `&' on	the first of the groups, and a
       `+' on the rest of the groups.

       In the current version, the concept of the current group	in  connection
       with merged groups is a bit fuzzy.  This	should only be noticeable with
       the  G  command,	which will take	the most recently used group among the
       merged groups as	the current group.  So things like G = ... may not al-
       ways work as expected.

ENVIRONMENT
       The following environment variables are used by nn:

       EDITOR.	The editor invoked when	editing	replies, follow-ups, and  com-
       posing mail.  nn	knows about the	following editors: vi, ded, GNU	emacs,
       and  micro-emacs, and will try to position the cursor on	the first line
       following the header, i.e. after	the  blank  line  which	 must  not  be
       deleted!	  If an	article	has been included, the cursor is placed	on the
       first line of the included text (to allow you to	delete	sections  eas-
       ily).

       LOGNAME.	  This	is taken as the	login name of the current user.	 It is
       used by nn to return failed mail.  If it	is not defined,	 nn  will  use
       the  value  of  USER, or	if that	is not defined either, nn will use the
       call `who am i' to get this information.	 If  all  attempts  fail,  the
       failed mail is dropped in the bit bucket.

       PAGER.  This is used as the initial value of the	pager variable.

       SHELL.  This is the shell which is spawned if the system	cannot suspend
       nn, and it will be used to execute the shell escapes.

       TERM.  The terminal type.

NOTES
       When  NNTP is being used	over a slow link (as with the ppp protocol and
       a modem), it may	be desirable to	suppress the retrieval of the informa-
       tion about new newsgroups, and their purpose, since they	 can  be  hun-
       dreds  of  KBytes  in size.  To do this,	the new-group-action and show-
       purpose-mode variables should be	set to 0 in your init file.   See  the
       descriptions of those variables for more	info.

       Unfortunately, the list of active newsgroups is still fetched, since nn
       uses it to determine which groups to check for new articles.  Even this
       could  be  avoided,  but	the cost would be checking for new articles in
       every group, which might	well be	slower overall,	although startup would
       be faster.

FILES
       ~/.newsrc	 The record of read articles.
       ~/.nn/select	 The record of selected	and seen articles.
       ~/.nn/init	 Personal configuration	and presentation sequence.
       ~/.nn/kill	 The automatic kills and selections.
       ~/.nn/KILL.COMP	 The compiled kill file.
       ~/.nn/LAST	 The time stamp	of the last new	 news  group  we  have
       seen.
       ~/.nn/NEXTG	 Active	group last time	nn was quit.
       ~/.nn/.param	 Parameter file	for the	aux script
       $lib/setup	 System-wide setup - always read first.
       $lib/init	 System-wide setup and presentation sequence.
       $lib/aux		 The response edit and send script.
       $lib/routes	 Mapping  rules	for mail addresses (on non-domain sys-
       tems).
       $db/*		 The news data base.
       /etc/termcap	 Terminal data base [BSD].
       /usr/lib/terminfo/*Terminal data	base [SysV].
       /usr/local/lib/nntp_serverName of remote	nntp server, if	not changed by
       setting the environment variable	NNTPSERVER or the nntp-server variable
       on the command line.
       The name	$lib and $db are the directories used for the auxiliary	 files
       and  the	 news  data base respectively.	Their name and location	is de-
       fined  at  compile  time.   Common  choices  are	 /usr/local/lib/nn  or
       /usr/lib/news/nn	 for $lib and /usr/spool/nn or /usr/spool/news/.nn for
       $db.

SEE ALSO
       Other netnews documentation.
       RFC 1341, MIME (Multipurpose Internet Mail Extensions)
       nncheck(1), nngoback(1),	nngrab(1), nngrep(1), nnpost(1), nntidy(1)
       nnusage(1M), nnspew(8)

ORIGINAL AUTHOR
       Kim F. Storm, Texas Instruments A/S, Denmark

CURRENT	MAINTAINER
       Michael T Pins mtpins@nndev.org

       The NNTP	support	was designed and implemented by	Rene  Seindal,	Insti-
       tute of Datalogy, University of Copenhagen, Denmark.

       The  news.software.nn  group is used for	discussion on all subjects re-
       lated to	the nn news reader.  This includes, but	 is  not  limited  to,
       questions,  answers,  ideas,  hints,  information  from the development
       group, patches, etc.

4th Berkeley Distribution	  Release 6.6				 NN(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nn&sektion=1&manpath=FreeBSD+Ports+15.0>

home | help