Is there a way to turn on line numbering for nano?
8 Answers
Adding set linenumbers
in /etc/nanorc
works for me in nano
version 2.7.1.
It also can be activated with -l
or --linenumbers
on the command line.
Toggle the line numbers from within nano with: M-#
in my case Alt+Shift+3.
-
In addition to change the background color of the line numbers, I use
set numbercolor ,normal
– smac89Apr 5, 2019 at 22:24 -
It may be preferable to store the
set linenumbers
in/home/<user>/.nanorc
as a user preference instead. Oct 22, 2020 at 14:32 -
I like this but it should be noted that when you copy and paste multiple lines, the line numbers will also copy and paste.– mchidMar 28, 2021 at 19:30
The only thing coming close to what you want is option to display your current cursor position. You activate it by using --constantshow
(manpage: Constantly show the cursor position) option or by pressing AltC on an open text file.
-
6Good answer. The --const argument is the same as -c. Use it to open the file like this: nano -c filename . Also, to make it permanent, include the 'set const' option in your ~/.nanorc file, which may not exist until you create it. Feb 2, 2012 at 2:24
This was added on the 20th of October and was documented on the 22nd of October and has yet to make it into a release so compile it from source like so:
git clone git://git.savannah.gnu.org/nano.git;cd nano;./autogen.sh;./configure;sudo make install
Then add the following to your .nanorc:
set linenumbers
You can use ^# to turn line numbers on and off from within Nano. It's probably a bit buggy since it's recent and hasn't been tested by many people.
-
A good answer would have pointed out that the feature was added within the past day, and has no user experience to relate to. Oct 22, 2016 at 19:03
-
-
1There cannot be more than 1-2 users of the feature at this point in time, there are no bug reports. By the way, "recently" demands a date (or link to the commit making the change). Oct 22, 2016 at 22:06
-
-
1You got the date wrong (see commit October 20 by Faissal Bensefia). It also was undocumented until mid-day October 22. All other points raised are still issues. Oct 23, 2016 at 10:18
It's 2021. The OP's question is still valid, but many of the answers here are for an older version of nano
. I'm not presenting this answer as "the last word" - only as an update.
The default screen of nano consists of five areas. From top to bottom these are: the title bar, a blank line, the edit window, the status bar, and two help lines.
Where to display line numbers?
Line numbers may be displayed in one of two places:
- the edit window
- the status bar
The status bar display simply updates the line number (and column) of the cursor/insertion point as it's moved about in the edit window. Line numbers in the edit window are positioned in the left margin. It is possible to display the line number in either or both the edit window and the status bar.
Display line numbers in the edit window:
There are several methods (this is not necessarily a complete list):
1. before the file is opened:
Edit/create the file ~/.nanorc
with the following line:
set linenumbers
2. when the file is opened:
Use the -l
option in nano
:
$ nano -l <myfilename>
3. after the file is opened:
Toggle line numbers "on" and "off" w/ alt-shift-#
:
altshift#
Display line numbers in the status bar:
1. before the file is opened:
Edit/create the file ~/.nanorc
with the following line:
set constantshow
2. when the file is opened:
Use the -c
option in nano
:
$ nano -c <myfilename>
3. after the file is opened:
Toggle line number display in the status bar "on" and "off" w/ alt-shift-C
:
altshiftC
Summary
These all work as of today: Ubuntu 20.04, nano --version
= GNU nano, version 4.8, although there are minor discrepancies in the documentation.
-
1It should be noted that if you copy and paste multiple lines when line numbers are displayed on the edit window, the numbers for the lines will also copy and paste.– mchidMar 28, 2021 at 19:47
-
That may be a function of a. how you do the copy, and b. which version of
nano
. I don't get the line numbers unless I use my macOS' copy & paste fromnano
to the text edit app. I don't have time to test all the permutations now, but I will say that ifnano
's copy & paste (i.e. all withinnano
) includes the line numbers, then that seems pretty weak - to my way of thinking.– SeamusMar 29, 2021 at 2:17
Nano is by design a very simple editor with few features. If you start wishing for anything beyond basic edition, nano isn't the right tool. Emacs is a very powerful editor; to switch line numbers on, type M-x linum-mode
. If Emacs scares you and you want a text mode editor, consider Joe, where line numbers are switched on with the -linums
option.
That being said, line numbering was eventually added five years after this question was asked.
-
-
1
-
@Purefan If you can't do it in nano, the only possible answers are “don't do it at all” and “do it in this other program”. May 27, 2020 at 7:06
-
1but it is possible to do it in nano (as mentioned in the accepted answer), and even if it were not possible, I would argue that a better answer is "its not possible in nano", if you want to suggest how to do it in your favorite editor I have nothing against it, but the question specifically refers to nano– PurefanMay 27, 2020 at 7:46
-
1@Purefan It wasn't possible back when I posted my answer. It became possible a few years later. May 27, 2020 at 8:19
Alternative, a quick alias in .bashrc:
echo "alias nano='nano -c -l'" >> ~/.bashrc && source ~/.bashrc && reset
Forcing the syntax seems mandatory for hashbang scripts, so to force a particular highlighting:
echo "alias nano='nano --syntax=php -c -l'" >> ~/.bashrc && source ~/.bashrc && reset
For Mac users and nano 6.1 (the version is important) press EscN to toggle on/off line numbering on the edit window.
-
I have on #macos "GNU nano version 2.0.6 (compiled 02:20:53, Aug 29 2022)" and not work even with command line arg
nano: unrecognized option '--linenumbers'
– BrunoNov 9, 2022 at 1:50 -
1
-
really don't know why I had version 2 😅 - lines work now with "GNU nano, version 6.4" 🙂– BrunoNov 9, 2022 at 10:11
-
Following will work on older versions of nano as well:
nano -c file.c
Once nano opens the file, press the arrow keys to move the cursor around to see line, col, char, etc. displayed towards the bottom.