Keyboard shortcut to "Comment" a line in NANO?

27,894

Solution 1

New in nano 2.6

(2016 June 17)

comment/uncomment lines with default binding M-3 (Meta-3)

(http://git.savannah.gnu.org/cgit/nano.git/tree/NEWS)

Customization

If you do not like the default mapping, note following:

Using Ctrl-/ by rebinding it in ~.nanorc with bind ^/ comment main is not possible. On a linux console this is equivalent to a backspace (https://savannah.gnu.org/bugs/?53248).

Some possible alternatives could be:

Solution 2

The simplest workaround I've found:

  • Comment-out:
    set the cursor at the first row that should be commented-out
    hit twice 'M-R' (or 'Alt-r'; in order to Replace a RegExp)
    Search for: '^'
    Replace with: '# '
    Replace this instance?: 'y'
    press 'y' for each row to be commented-out

  • Comment-in:
    The same procedure, replacing '# ' by ''

Solution 3

While accepted answer is de jure correct, it doesn't really help if you're not proficient in Nano already.

Indeed since Nano 2.6 this functionality is available as M-3 (Meta-3). But what it actually means (see doc) is that comment\uncomment can be done via these hotkeys:

<Alt> + 3     // <Alt> is default <Meta> command
<Esc> + 3     // Single <Esc> should also work

And since usually you need to comment out several lines, you can use Alt + a (or Meta + a / Esc + a) to switch to selection mode which will allow to select several lines. Then comment command will be applied on all selected lines at once.

Related question: How to comment multiple lines in nano at once?

Share:
27,894
Alex Gray
Author by

Alex Gray

Inquire within.

Updated on July 20, 2022

Comments

  • Alex Gray
    Alex Gray almost 2 years

    I love NANO. It's always there, it can slice and dice, and its NOT VIM!

    But I am constantly hitting Command / - inadvertently - as I go along, out of habit.. Most IDE's use this convention to "comment out" a line. NANO has great syntax highlighting.. so it knows the context of my documents.. but I haven't been able to figure out a way to get it to perform this basic, yet relatively important function.. Hand-commenting is for the birds.

    I suppose this is sorta a super-user question, but in my experience, this would get a bunch of blank stares and then a few people asking who Nano was, so... here it is...

    Oh and PS, brownie points for anyone that knows how to get DashCode to be able to do this as well... It would be the finest Javascript IDE EVER if it could perform this trick... and I'm convinced Apple omitted the feature for just that reason, lol.

  • Justin Moh
    Justin Moh about 8 years
    Seriously?! ...better than nothing.
  • KiriSakow
    KiriSakow over 6 years
    @user4199220 deserves a gold medal in my book. And a Turing Award.
  • Tanuki
    Tanuki over 5 years
    In case someone comes across this, and runs CentOS: standard repos have an old version, so here's a newer version that supports commenting (and also has colored syntax highlighting) - centos.pkgs.org/7/ghettoforge-plus-x86_64/… To install without repo: yum remove nano and then rpm -ivh http://mirror.ghettoforge.org/distributions/gf/el/7/plus/x86‌​_64//nano-2.7.4-3.gf‌​.el7.x86_64.rpm
  • Hotschke
    Hotschke over 4 years
  • tukusejssirs
    tukusejssirs almost 4 years
    I was looking for an answer to the very same question an your solution (bind ^/ comment main) works for me on Fedora 32 while using GNU nano, version 4.9.3.