Nano: Difference between revisions

From ArchWiki
m (Add built-in extra nanorc highlighting files too)
(Undo revision 804707 by Treyarch (talk) - Issue is still happening on my side, nothing has been changed about "brightnormal" in either nano-syntax-highlighting or nano itself)
Tag: Undo
 
(15 intermediate revisions by 9 users not shown)
Line 7: Line 7:
[[fr:Nano]]
[[fr:Nano]]
[[ja:Nano]]
[[ja:Nano]]
[[pt:Nano]]
[[ru:Nano]]
[[ru:Nano]]
[[tr:Nano]]
[[zh-hans:Nano]]
[[zh-hans:Nano]]
[https://www.nano-editor.org/ 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 [[Wikipedia:UTF-8|UTF-8]] encoding. ''nano'' opened with an empty buffer typically occupies under 4 MB of resident memory.
[https://www.nano-editor.org/ 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 [[Wikipedia:UTF-8|UTF-8]] encoding. ''nano'' opened with an empty buffer typically occupies under 4 MB of resident memory.
Line 25: Line 27:
Proceed to establish the nano console environment by setting and/or unsetting commands within {{ic|~/.config/nano/nanorc}} file.
Proceed to establish the nano console environment by setting and/or unsetting commands within {{ic|~/.config/nano/nanorc}} file.


{{Tip|{{man|5|nanorc}} details the complete list configuration commands available for nano.|}}
{{Tip|{{man|5|nanorc}} details the complete list configuration commands available for nano.}}
 
{{Note|Command-line arguments override and take precedence over the configuration commands established in {{ic|~/.config/nano/nanorc}}}}


=== Syntax highlighting ===
=== Syntax highlighting ===
Line 39: Line 39:


  include "/usr/share/nano-syntax-highlighting/*.nanorc"
  include "/usr/share/nano-syntax-highlighting/*.nanorc"
{{Note|As of version 2020.10.10-1 of {{Pkg|nano-syntax-highlighting}}, there is a syntax error in {{ic|/usr/share/nano-syntax-highlighting/nanorc.nanorc}}.[https://github.com/scopatz/nanorc/issues/410] To temporarily solve the issue, You can run:
# sed -i 's/icolor brightnormal/icolor normal/g' /usr/share/nano-syntax-highlighting/nanorc.nanorc
}}


==== Forth ====
==== Forth ====
Line 54: Line 60:
=== Suspension ===
=== Suspension ===


{{Out of date|As of recent versions of nano the following option has been '''removed as a configurable option''' and is enabled by default, however the default keybind has changed from {{ic|^Z (Ctrl+Z)}} to {{ic|^T^Z (Ctrl+T, Ctrl+Z)}} and it must be changed if the old behavior is desired. This can be done be checking the file {{ic|/etc/nanorc}} in the {{ic|Key bindings}} section for a general configuration or in a local configuration file.}}
Suspending (i.e. sending nano to the background) is enabled by default, however the default keybind is changed from {{ic|Ctrl+z}} to {{ic|Ctrl+t}} {{ic|Ctrl+z}} and it must be changed if the old behavior is desired. This can be done by checking the {{ic|Key bindings}} section.
 
Unlike most interactive programs, suspension is not enabled by default. To change this, uncomment the {{ic|set suspendable}} line in {{Ic|/etc/nanorc}}. This will allow you to use the keys {{ic|Ctrl+z}} to send nano to the background.


== Usage ==
== Usage ==
Line 79: Line 83:
=== Replacing vi with nano ===
=== Replacing vi with nano ===


To replace vi with nano as the default text editor for commands such as [[sudo#Using visudo|visudo]], set the {{ic|VISUAL}} and {{ic|EDITOR}} [[Environment variable#Defining variables|environment variables]], for example:
To replace vi with nano as the default text editor for commands such as [[visudo]], set the {{ic|VISUAL}} and {{ic|EDITOR}} [[Environment variable#Defining variables|environment variables]], for example:


  export VISUAL=nano
  export VISUAL=nano

Latest revision as of 08:12, 27 March 2024

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 4 MB of resident memory.

Installation

Install the nano package.

Configuration

The look, feel, and function of nano is typically controlled by way of either command-line arguments, or configuration commands within the file ~/.config/nano/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 ~/.config/nano/nanorc:

$ cp /etc/nanorc ~/.config/nano/nanorc

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

Tip: nanorc(5) details the complete list configuration commands available for nano.

Syntax highlighting

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

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

For syntax highlighting enhancements which replace and expand the defaults, install nano-syntax-highlighting or nano-syntax-highlighting-gitAUR and, additionally to the above setting, also add:

include "/usr/share/nano-syntax-highlighting/*.nanorc"
Note: As of version 2020.10.10-1 of nano-syntax-highlighting, there is a syntax error in /usr/share/nano-syntax-highlighting/nanorc.nanorc.[1] To temporarily solve the issue, You can run:
# sed -i 's/icolor brightnormal/icolor normal/g' /usr/share/nano-syntax-highlighting/nanorc.nanorc

Forth

See https://paste.xinu.at/wc17YG/ for Forth highlighting.

PKGBUILD

Save https://paste.xinu.at/4ss/ (similar to Arch's old svntogit server) to /etc/nano/pkgbuild.nanorc and include it:

include "/etc/nano/pkgbuild.nanorc"
Tip: nano-syntax-highlighting has an alternative version.

Suspension

Suspending (i.e. sending nano to the background) is enabled by default, however the default keybind is changed from Ctrl+z to Ctrl+t Ctrl+z and it must be changed if the old behavior is desired. This can be done by checking the Key bindings section.

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.

See also the cheatsheet for nano.

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