Nano editor: a configuration for code editing

12 simple configuration tips for your .nanorc file, useful for programmers!

I have already expressed my my appreciation for Gnu Nano: in my opinion it’s a good editor, with a simple interface and without a steep learning curve.

So, after my previous post focused on a simple cheatsheet, today l’d like to share with my readers some .nanorc customizations, useful for programmers wich uses this editor.

1. Smooth Scrolling

Text will scroll line-by-line, instead of the usual chunk-by-chunk behavior:

set smooth

2. Syntax Highlighting

This feature is extremely useful when editing the source code, or modifying configuration files:

## Nanorc files
include "/usr/share/nano/nanorc.nanorc"

## C/C++
include "/usr/share/nano/c.nanorc"

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

## TeX
include "/usr/share/nano/tex.nanorc"

## Quoted emails (useful with mutt)
include "/usr/share/nano/mutt.nanorc"

## Patch files
include "/usr/share/nano/patch.nanorc"

## Manpages
include "/usr/share/nano/man.nanorc"

## Groff
include "/usr/share/nano/groff.nanorc"

## Perl
include "/usr/share/nano/perl.nanorc"

## Python
include "/usr/share/nano/python.nanorc"

## Ruby
include "/usr/share/nano/ruby.nanorc"

## Java
include "/usr/share/nano/java.nanorc"

## Assembler
include "/usr/share/nano/asm.nanorc"

## Bourne shell scripts
include "/usr/share/nano/sh.nanorc"

## POV-Ray
include "/usr/share/nano/pov.nanorc"

3. Auto-indentation

Indent new lines to the previous line’s indentation. This is also useful when editing source code:

set autoindent

4. Backups

When saving a file, back up the previous version of it to the current filename suffixed with a ~:

set backup

Further, you can set the directory where Nano puts backup files:

set backupdir "/home/user/nano-backups"

5. Case Sensitive Searches

Do case sensitive searches by default:

set casesensitive

6. Nano History

Useful for saving search/replace strings.
All search/replace strings are saved to the ~/.nano_history file, so they can be retrieved in later sessions:

set historylog

7. More Editing Space

This option remove the blank line below the titlebar.
So it’s possible to use the blank line below the titlebar as extra editing space:

set morespace

8. Hide help from bottom

This option hide the shortcut lists at the bottom of the screen (more editing space):

set nohelp

9. Disable Line Wrapping (nowrap)

Don’t wrap long lines:

set nowrap

10. Tab size

Set width of a tab to #cols columns (useful for python indentation):

set tabsize 10

11. Convert Tabs to Spaces

Convert typed tabs to spaces (useful for python indentation):

set tabstospaces

12. Enable Mouse

Enable the use of the mouse, useful if you move the mouse to point to another on text file, but not so useful if you need to cut or copy text.
You can of course cut and paste with Ctrl+k and Ctrl+u:

set mouse

Related posts

  1. Nano text editor: my own cheatsheet