nano: Building and its Options
10 Building and its Options
***************************
Building ‘nano’ from source is straightforward if you are familiar with
compiling programs with autoconf support:
tar -xf nano-x.y.tar.gz
cd nano-x.y
./configure
make
make install
The possible options to ‘./configure’ are:
‘--disable-browser’
Exclude the file browser that can be called with ‘^T’ when wanting
to read or write a file.
‘--disable-color’
Exclude support for syntax coloring. This also eliminates the ‘-Y’
command-line option, which allows choosing a specific syntax.
‘--disable-comment’
Exclude the single-keystroke comment/uncomment function (‘M-3’).
‘--disable-extra’
Exclude the Easter egg: a crawl of major contributors.
‘--disable-help’
Exclude the help texts (‘^G’). This makes the binary much smaller,
but also makes it difficult for new users to learn more than very
basic things about using the editor.
‘--disable-histories’
Exclude the code for handling the history files: the search and
replace strings that were used, the commands that were executed,
and the cursor position at which each file was closed. This also
eliminates the ‘-H’ and ‘-P’ command-line options, which switch on
the storing of search/replace strings, executed commands, and
cursor positions.
‘--disable-justify’
Exclude the text-justification functions (‘^J’ and ‘M-J’).
‘--disable-libmagic’
Exclude the code for using the library of magic-number tests (for
determining the file type and thus which syntax to use for coloring
— in most cases the regexes for filename and header line will be
enough).
‘--disable-linenumbers’
Exclude the ability to show line numbers. This also eliminates the
‘-l’ command-line option, which turns line numbering on.
‘--disable-mouse’
Exclude all mouse functionality. This also eliminates the ‘-m’
command-line option, which enables the mouse functionality.
‘--disable-multibuffer’
Exclude support for opening multiple files at a time and switching
between them. This also eliminates the ‘-F’ command-line option,
which causes a file to be read into a separate buffer by default.
‘--disable-nanorc’
Exclude support for reading the nanorc files at startup. With such
support, you can store custom settings in a system-wide and a
per-user nanorc file rather than having to pass command-line
options to get the desired behavior. ⇒Nanorc Files for more
info. Disabling this also eliminates the ‘-I’ command-line option,
which inhibits the reading of nanorc files.
‘--disable-operatingdir’
Exclude the code for setting an operating directory. This also
eliminates the ‘-o’ command-line option, which sets the operating
directory.
‘--disable-speller’
Exclude the code for spell checking. This also eliminates the ‘-s’
command-line option, which allows specifying an alternate spell
checker.
‘--disable-tabcomp’
Exclude tab completion (when nano asks for a filename or search
string or replace string or command to execute).
‘--disable-wordcomp’
Exclude word completion (‘^]’).
‘--disable-wrapping’
Exclude all hard-wrapping of overlong lines. This also eliminates
the ‘-b’ and ‘-w’ command-line options, which switch automatic
long-line wrapping on and off, respectively.
‘--enable-tiny’
This option implies all of the above. It also disables some other
internals of the editor, like the function toggles, the marking of
text, the undo/redo code, line anchors, the recording and playback
of a macro, softwrapping, and the cut-to-end-of-line code. These
things stay disabled also when using the enabling counterpart of
the above options together with ‘--enable-tiny’ to switch specific
features back on.
‘--enable-debug’
Include some code for runtime debugging output. This can get
messy, so chances are you only want this feature when you’re
working on the nano source.
‘--disable-nls’
Exclude Native Language support. This will disable the use of any
available GNU ‘nano’ translations.
‘--enable-utf8’
Include support for handling and displaying Unicode files. This
requires a "wide" version of the curses library.
‘--disable-utf8’
Exclude support for handling and displaying Unicode files.
Normally the configure script auto-detects whether to enable UTF-8
support or not. You can use this or the previous option to
override that detection.
‘--enable-altrcname=NAME’
Use the file with the given NAME (in the user’s home directory) as
nano’s settings file, instead of the default ‘.nanorc’.