146

I need to copy some text in Nano, so I searched using Google and found a few posts here on Stack Exchange and other sites in which the OP asks "How can I copy?" and people usually answer "You can use ctrl+K". The person asks how to copy and they are told how to cut.

Other answers mention alt+6 but in my testing it doesn't work.

Is there no option to copy text in Nano? Is there a workaround?

2
  • 6
    What is your keyboard layout? Both Alt-6 (aka M-6) and Alt-^ (aka M-^) work for me. Oct 4, 2016 at 20:35
  • I use a English-Hebrew keyboard by Logitech I bought a few years ago. Never had problems.
    – user423047
    Oct 5, 2016 at 5:42

8 Answers 8

186
  1. Position the cursor at the beginning of the character from which you want to copy. Press Alt+Shift+A to set mark. ( Alternatively, set mark with Ctrl+6 )

  2. Use arrow keys to highlight the text to copy. highlight with nano image

  3. Use Alt+Shift+6 to copy (Alternatively, Alt + 6 )

  4. Navigate to the place you want to paste. Release paste with Ctrl+U

    paste image

Where is reference to these keybindings

All of these are defined under the documentation, which you can access with Ctrl+G at any point. Note that leading ^ stands for Ctrl and M for Alt in the documentation, since this is traditional way of Unix defining meta characters. Lines from documentation:

^^ (M-A) Mark text starting from the cursor position

and

M-^ (M-6) Copy the current line and store it in the cutbuffer

16
  • 5
    @user973810 Last time I checked, Apple laptops and desktops all have Alt key. If you're talking about Macintosh from way way back in the day from 1998 or so, well . . . I'm not familiar with those so can help you. Probably learn VI editor - it's far better than nano Oct 5, 2016 at 17:40
  • 5
    Look at the image Option on Macs acts as Atl key Oct 6, 2016 at 1:12
  • 6
    @user973810 if you look closely at the option key, you may notice that it also says alt on it. nedbatchelder.com/pix/mackeyboard.jpg Oct 6, 2016 at 1:13
  • 1
    I'm using 14.04 and when use ALT-SHIFT-6 I get "uknown command" and I'm still in marking mode (which I have to abort using ALT-SHIFT-6 again). Oct 6, 2016 at 13:07
  • 1
    All I can read in this answer is "It's time to learn vim"
    – Nearoo
    May 14, 2020 at 8:43
62
+50

Workaround: cut, then uncut, and uncut again in the place where you want to copy the text.

unicorns
rainbows

line4

I Ctrl+K unicorns

rainbows

line4

I uncut Ctrl+U

unicorns
rainbows

line4

I move the cursor to the end and Ctrl+U again

unicorns
rainbows

line4
unicorns
1
9

Yes copying text is a bit strange in nano, and somewhat confusing due to conflicting reports on the webs and lack of clarity (or common sense...) both in the way it was implemented (IMHO) and in the official docs...

Per the docs:

4.3 The Cutbuffer

Text can be cut from a file, a whole line at a time, by using the ’Cut Text’ command (default key binding: ^K). The cut line is stored in the cutbuffer. Consecutive strokes of ^K will add each cut line to this buffer, but a ^K after any other keystroke will overwrite the entire cutbuffer.

The contents of the cutbuffer can be pasted back into the file with the ’Uncut Text’ command (default key binding: ^U).

A line of text can be copied into the cutbuffer (without cutting it) with the ’Copy Text’ command (default key binding: M-6).

Since basically, you use CTRL+K to cut, CTRL+U to paste, and the cut line stays in the cutbuffer, you can do a quick cut and paste to replace, and then paste again to achieve a "copy."

But I don't like this "workaround"...

The last part of the docs, says how to copy: using ALT+6 (to copy) ad then pasting using CTRL+U to paste.

(Docs actually say "M" key, which means the Meta key, as mook765 said: "the Meta-key which does not exist"... and is usually just the ALT on modern keyboards.)

You can also select multiple lines using ALT+6 and moving the section with your arrow keys.

Hope this helps.

4

Note that this solution only works in GUI versions of Ubuntu and not in a TTY interface.

I copy text in nano all the time just by doing CTRL+SHIFT+C on the selected text because that's the default key combo to copy any text in terminal. This applies to nano as well. This can also be found in

Edit > Copy

1
  • 7
    Good workaround, but this won't work in a TTY, only in GUI terminals :) nano however has it's own way of copying already, that doesn't depend on terminal Oct 4, 2016 at 21:56
3

From man nano

When a more precise piece of text needs to be cut or  copied,  one  can
mark  its  start  with  ^6, move the cursor to its end (the marked text
will be highlighted), and then use ^K to cut it, or M-6 to copy  it  to
the  cutbuffer.

M means the Meta-key which does not exist on all keyboards but on some. On keyboards wihtout the Meta-key other modifier-keys like Alt or Esc might work. On my machine i found that the combination Alt+6 works fine.

1
  • The M key depends also on the OS you use. In case of Solaris 11.3 the meta key is Super Key (often with four squares) if presented on the keyboard. Dec 24, 2023 at 10:58
3

you can also do the following;

  1. nano -cm <text_to_edit>
  2. Place the cursor where you want to start copying,
  3. Press Shift + LeftClick and drag mouse throuh the text you want to copy, press Ctrl+Shift+C
  4. Place the cursor you want to paste the text,
  5. Press Ctrl+Shift+V

The options -c and -m elaborated in man nano:

-c, --constantshow
    Constantly show the cursor position on the status bar.  Note that this over‐
    rides option

-m, --mouse
    Enable  mouse  support,  if  available for your system.  When enabled, mouse
    clicks can be used to place the cursor, set the mark (with a double  click),
    and  execute  shortcuts.  The mouse will work in the X Window System, and on
    the console when gpm is running.  Text can still be selected  through  drag‐
    ging by holding down the Shift key.
3

mac pro m1: M=ESC

  1. Position the cursor.
  2. ESC+A: Mark text at the cursor position.
  3. Use arrow keys to highlight the text.
  4. ESC+6: Copy.
  5. Position the cursor.
  6. Ctrl+U: Paste.
3
  • The Mac Pro hasn't been made since 2019, so presumably you mean a MacBook Pro? Is this for a MacBook Pro M1 running Ubuntu or OS X? Sep 27, 2021 at 17:43
  • It works on iMac 24. 2022: M=ESC
    – Alexis
    Dec 25, 2022 at 12:01
  • work on Linux deb Jan 26, 2023 at 0:28
1

The easiest way that I find to copy text in nano is to select the text that you want to copy, with your mouse, and right click it. This will bring up a menu where it gives you an option of a few things one of witch is copy, select that option and you have copied the text. When you would like to paste the text do the same thing but select paste instead and it will paste the text.

2
  • 3
    And how do you right click the the selected text in TTY ? Ain't gonna work there Oct 5, 2016 at 1:57
  • What if text is longer than the window? Like an SSH key?
    – leymannx
    May 24, 2018 at 17:43

You must log in to answer this question.