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.

7 Answers
7

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 )

Use arrow keys to highlight the text to copy.

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

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

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:

Amazing. But how do you do "alt" on an apple macintosh?
– Darth EgregiousOct 5 '16 at 17:31

4

@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
– Sergiy KolodyazhnyyOct 5 '16 at 17:40

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.

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

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.

-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.

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.