GNU nano is a small and friendly text editor. Besides basic text editing, nano offers many extra features like an interactive search and replace, go to line and column number, auto-indentation, feature toggles, internationalization support, and filename tab completion. This is my favorite console text editor.
Here are some tips on how to install the latest version and how to use this editor.
Latest version
In most of the distribution nano is in a fairly old version, it is functional and works correctly but if you wanted to use the latest version I recommend downloading and installing from the official site the latest version.
Download
Get latest version of source code from official website.
At the moment of writing this article it is 4.6
1 | wget https://www.nano-editor.org/dist/v4/nano-4.6.tar.xz |
and extract it:
1 | tar xf nano-4.6.tar.xz |
Install dependencies
1 | sudo apt install libncursesw5-dev |
Configure & make
1 | ./configure --prefix=/usr --sysconfdir=/etc --enable-utf8 --docdir=/usr/share/doc/nano-4.6 && make |
Install
1 | make install && install -v -m644 doc/{nano.html,sample.nanorc} /usr/share/doc/nano-4.6 |
Configuration
Example configuration (create as a system-wide /etc/nanorc
or a personal ~/.nanorc
file)
1 | set autoindent |
All option are described at nanorc configuration website.
Shortcuts
File handling
Ctrl+S - Save current file
Ctrl+O - Offer to write file (“Save as”)
Ctrl+R - Insert a file into current one
Ctrl+X - Close buffer, exit from nano
Editing
Ctrl+K - Cut current line into cutbuffer
Alt+6 - Copy current line into cutbuffer
Ctrl+U - Paste contents of cutbuffer
Alt+T - Cut until end of buffer
Ctrl+] - Complete current word
Alt+3 - Comment/uncomment line/region
Alt+U - Undo last action
Alt+E - Redo last undone action
Search and replace
Ctrl+Q - Start backward search
Ctrl+W - Start forward search
Alt+Q - Find next occurrence backward
Alt+W - Find next occurrence forward
Alt+R - Start a replacing session
Deletion
Ctrl+H -Delete character before cursor
Ctrl+D - Delete character under cursor
Ctrl+Shift+Del - Delete word to the left
Ctrl+Del - Delete word to the right
Alt+Del - Delete current line
Operations
Ctrl+T - Run a spell check
Ctrl+J - Justify paragraph or region
Alt+J - Justify entire buffer
Alt+B - Run a syntax check
Alt+F - Run a formatter/fixer/arranger
Alt+: - Start/stop recording of macro
Alt+; - Replay macro
Moving around
Ctrl+B - One character backward
Ctrl+F - One character forward
Ctrl+⯇ - One word backward
Ctrl+⯈ - One word forward
Ctrl+A - To start of line
Ctrl+E - To end of line
Ctrl+P - One line up
Ctrl+N - One line down
Ctrl+⯅ - To previous block
Ctrl+⯆ - To next block
Ctrl+Y - One page up (pgup)
Ctrl+V - One page down (pgdn)
Alt+\ - To top of buffer
Alt+/ - To end of buffer
Special movement
Alt+G - Go to specified line
Alt+] - Go to complementary bracket
Alt+⯅ - Scroll viewport up
Alt+⯆ - Scroll viewport down
Alt+< - Switch to preceding buffer
Alt+> - Switch to succeeding buffer
Information
Ctrl+C - Report cursor position
Alt+D - Report word/line/char count
Ctrl+G - Display help text
Various
Alt+A - Turn the mark on/off
Tab - Indent marked region
Shift+Tab - Unindent marked region
Alt+N - Turn line numbers on/off
Alt+P - Turn visible whitespace on/off
Alt+V - Enter next keystroke verbatim
Ctrl+L - Refresh the screen
Ctrl+Z - Suspend nanos