Open file
nano filename.txt
Create new file
nano newfile.txt
Open at specific line
nano +10 filename.txt
Basic navigation
Arrow keys- Move cursorPage Up/Page Down- Scroll pageCtrl+A- Beginning of lineCtrl+E- End of lineCtrl+Y- Page upCtrl+V- Page down
Go to line/column
Ctrl+_- Go to line numberAlt+G- Go to line number (same)
Save file
Ctrl+O- Write Out (save)- Enter to confirm filename
Save as
Ctrl+O- Write Out- Type new filename
- Enter to save
Exit nano
Ctrl+X- Exit- If unsaved changes, it will ask to save
Cut and paste
Ctrl+K- Cut current lineAlt+6- Copy current lineCtrl+U- Paste
##Mark text for copy/cut
Alt+A- Start marking- Move cursor to select
Ctrl+K- Cut marked textAlt+6- Copy marked text
Delete
Ctrl+D- Delete character under cursorBackspace- Delete character before cursorCtrl+K- Delete (cut) entire line
Undo/Redo
Alt+U- UndoAlt+E- Redo
Search
Ctrl+W- Where Is (search)- Type search term
- Enter to find
Search next
Ctrl+WthenCtrl+W- Find nextAlt+W- Find next occurrence
Search and replace
Ctrl+\- Replace- Enter search term
- Enter replacement text
- Choose:
Y(yes),N(no),A(all)
Show line numbers
Alt+#- Toggle line numbers
Enable/disable wrapping
Alt+L- Toggle line wrapping
Spell check
Ctrl+T- To Spell- Requires
spellpackage installed
Help
Ctrl+G- Get Help
Insert file
Ctrl+R- Read File (insert file contents)
Cut to end of line
Ctrl+K- Cut from cursor to end of line
Justify paragraph
Ctrl+J- Justify current paragraph
Show cursor position
Ctrl+C- Display cursor position
Refresh screen
Ctrl+L- Refresh/redraw screen
Enable mouse
nano -m filename.txt
Or in nano: Alt+M
Syntax highlighting
Nano auto-detects file type. Force specific syntax:
nano -Y python script.py
Convert tabs to spaces
nano -E filename.txt
Or set in ~/.nanorc:
set tabstospaces
set tabsize 4
Show all files in open dialog
When doing Ctrl+R, press Ctrl+T to browse files
Edit as sudo
sudo nano /etc/hosts
Configuration file
Create/edit ~/.nanorc:
set linenumbers
set tabsize 4
set tabstospaces
set autoindent
set mouse
set smooth
Common .nanorc options
set linenumbers # Show line numbers
set tabsize 4 # Tab width
set tabstospaces # Convert tabs to spaces
set autoindent # Auto indent new lines
set smooth # Smooth scrolling
set mouse # Enable mouse
set nowrap # Don't wrap long lines
set morespace # Use blank line below title bar
set suspend # Allow Ctrl+Z to suspend
set backup # Create backup~
set backupdir "~/nano_backups" # Backup directory
Syntax highlighting colors
Add to ~/.nanorc:
include "/usr/share/nano/*.nanorc"
Multi-file editing
nano file1.txt file2.txt file3.txt
Switch between files:
Alt+<- Previous fileAlt+>- Next file
Create backup before save
Add to ~/.nanorc:
set backup
set backupdir "~/nano_backups"
Quick shortcuts summary
Ctrl+O - Save
Ctrl+X - Exit
Ctrl+K - Cut line
Ctrl+U - Paste
Ctrl+W - Search
Ctrl+\ - Replace
Ctrl+_ - Go to line
Alt+U - Undo
Alt+E - Redo
Alt+A - Mark text
Ctrl+G - Help
View file readonly
nano -v filename.txt
Convert DOS/Windows line endings
Alt+D- Toggle DOS formatAlt+M- Toggle Mac format
Nano vs vim
Nano advantages:
- Easier to learn
- Clear on-screen help
- No modes to manage
- Better for quick edits
Use nano when:
- Quick configuration edits
- New users
- Simple text files
- Remote server work
Emergency recovery
If nano crashes:
- Look for
filename.txt.savein same directory - Contains unsaved changes
Pipe output to nano
ls -la | nano -
Use as diff viewer
diff file1.txt file2.txt | nano -
Quick edit alias
Add to ~/.bashrc:
alias edit='nano'
alias snano='sudo nano'