# nano

GNU nano (or nano) is a text editor which aims to introduce a simple interface and intuitive command options to console based text editing. nano supports features including colorized syntax highlighting, DOS/Mac file type conversions, spellchecking and UTF-8 encoding. nano opened with an empty buffer typically occupies under 1.5 MB of resident memory.

## Installation

nano is available in the nano package. It is likely that is already on your system, as it is included in the base group.

## Configuration

The look, feel, and function of nano is typically controlled by way of either command-line arguments, or configuration commands within the file `~/.nanorc`.

A sample configuration file is installed upon program installation and is located at `/etc/nanorc`. To customize your nano configuration, first create a local copy at `~/.nanorc`:

    $ cp /etc/nanorc ~/.nanorc

Proceed to establish the nano console environment by setting and/or unsetting commands within `~/.nanorc` file.

Tip: nanorc(5) details the complete list configuration commands available for nano.
Note: Command-line arguments override and take precedence over the configuration commands established in `~/.nanorc`

### Syntax highlighting

Nano ships with predefined syntax highlighting rules, defined in `/usr/share/nano/*.nanorc`. To enable them, add the following line to your `~/.nanorc` or to `/etc/nanorc`:

    include "/usr/share/nano/*.nanorc"

Syntax highlighting enhancements which replace and expand the defaults can be found in the AUR, nano-syntax-highlighting-gitAUR. See [1] for Forth highlighting.

#### PKGBUILD

- Save https://paste.xinu.at/4ss/ (similar to svntogit-server) to `/etc/nano/pkgbuild.nanorc` and include it:

    include "/etc/nano/pkgbuild.nanorc"

- nano-syntax-highlighting-gitAUR has an alternate version

### Suspension

Unlike most interactive programs, suspension is not enabled by default. To change this, uncomment the `set suspend` line in `/etc/nanorc`. This will allow you to use the keys `Ctrl+z` to send nano to the background.

### Text wrapping

Unlike many text editors, nano wraps text. To disable this put this in your `~/.nanorc`

    set nowrap

## Usage

Shortcuts can be viewed from inside nano. See the nano online help files via `Ctrl+g` within nano and the nano Command Manual for complete descriptions and additional support.

### Special functions

Keyboard shortcuts representing commonly used functions are listed along the bottom two lines of the nano screen.

They can be toggled by:

- `Ctrl` for `^` based shortcuts
- `Meta` (typically `Alt`) or `Esc` for `M-` based shortcuts

Tip: Feature Toggles lists the global toggles available for nano.

## Tips and tricks

### Replacing vi with nano

To replace vi with nano as the default text editor for commands such as visudo, set the `VISUAL` and `EDITOR` environment variables, for example:

    export VISUAL=nano
    export EDITOR=nano

## Troubleshooting

### Hijacked keybindings

Some window managers have keybindings that conflict with nano, for example `Alt+Enter`. Remove or remap them to e.g `Super` (with dconf for mutter, muffin and marco) and restart the window manager.

## See also

- nano (text editor) - Wikipedia Entry
- GNU nano Homepage - Official Site
- GNU nano Bugs Bug Reporting
- Better syntax highlighting definitions

Category:

- Text editors