203

I use the commmand line text editor nano. How do I undo an action while editing text?

For example: I typed some text and then changed my mind. Now I want to return to previous state. How?

user44
  • 2,133
  • 2
  • 13
  • 5

3 Answers3

243

Starting with nano version 2.3.5 in July 2014, undo/redo became standard:

  • Alt-U or Option-U or EscU - undo
  • Alt-E or Option-E or EscE - redo

It's in the help:

enter image description here

And if you stretch the screen wider than about 1400 pixels, there's a hint at bottom right:

enter image description here

If these keys don't work, check nano --version.

  • nano versions 2.1.10 - 2.3.4 should use the command line option -u (thanks @sil). Tip: add alias nano="nano -u" to your .bashrc (thanks @Benia). The implementation of undo during this period appears to have been buggy or incomplete.

  • nano versions 2.1.3 - 2.1.9 had some kind of undo feature. The -u option was not necessary.

M stands for meta.

Bob Stein
  • 2,606
39

Nano's undo code is experimental. As you'll see from the nano manual (type "man nano" in a Terminal to read that), you'll need to start nano with the -u option (so "nano -u somefile.txt"), and then you can use Alt-U to undo.

sil
  • 4,297
  • 10
    Thanks. There is also redo functionality and the shortcut for that is Alt+E. – user44 Aug 15 '13 at 14:25
  • 3
    You can edit /etc/nanorc to set it permanently (uncomment set undo). Note that under Mac you need to use esc|then|u to undo. – ishahak Jul 16 '19 at 07:10
8

You can also add the line

set undo

in the .nanorc file. This enables the experimental undo feature on startup in versions below 2.4, such as 2.2.6 which seems to be the standard installation on many Linux distros.

hueman
  • 81