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?
28 Answers
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 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:
^^ (M-A) Mark text starting from the cursor position
and
16M-^ (M-6) Copy the current line and store it in the cutbuffer
Workaround: cut, then uncut, and uncut again in the place where you want to copy the text.
unicorns
rainbows
line4I Ctrl+K unicorns
rainbows
line4I uncut Ctrl+U
unicorns
rainbows
line4I move the cursor to the end and Ctrl+U again
unicorns
rainbows
line4
unicorns 1 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.
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
1From 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.
you can also do the following;
nano -cm <text_to_edit>- Place the cursor where you want to start copying,
- Press
Shift+ LeftClick and drag mouse throuh the text you want to copy, pressCtrl+Shift+C - Place the cursor you want to paste the text,
- 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. 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.
2mac pro m1: M=ESC
- Position the cursor.
- ESC+A: Mark text at the cursor position.
- Use arrow keys to highlight the text.
- ESC+6: Copy.
- Position the cursor.
- Ctrl+U: Paste.