96

I open a file in Ubuntu nano editor from the comand line and I want to copy all the contents of the file so I can paste it in an another application outside the shell.

So far I can only copy using shift on the screen that is visible but not on all content.

  • Are you in a command line only environment? If not, why don't you open the file in something like gedit? – MBraedley Oct 6 '10 at 10:50
  • 4
    I don't have gedit on that machine and I want to learn to do it in nano. – Elzo Valugi Oct 6 '10 at 14:09
  • 4
    Btw this is why I hate linux and the command-line: In theory a wonderful thing, but in reality extremely unuintutive, even the most simple and common things don't work like expected. Usability Super-Fail. – Sliq Sep 16 '13 at 21:08
  • 3
    nano is not powerful. just to edit some config files it is pretty ok, but as an code editor it sucks! – deepcell Jan 17 '14 at 16:32
  • Question is too vague and the answers are all over the map as a result, leading to confusion. Typically you use nano on a remote server, not your desktop computer. This sounds more like a question about your terminal emulator, which is how you access nano. I really think the question should be changed or flagged for removal. – PJ Brunet Dec 14 '16 at 19:13

13 Answers 13

18

You can't use the buffer of nano to use it elsewhere, you need to use the buffer of X or Gnome.

xclip is the solution.

A command line interface to the X11 clipboard. It can also be used for copying files, as an alternative to sftp/scp, avoiding password prompts when X11 forwarding has already been setup.

67

There is a possible way:

  • Cursor at the beginning of a file

  • Ctrl6 to set a mark

  • AltShiftT (or try AltT) to cut to the end of the file

  • If AltT doesn't work, try CtrlK

  • to just copy the file content do CtrlU to uncut the text again
  • 1
    nice trick, but I wanted a copy not a cut. – Elzo Valugi Jan 18 '11 at 19:41
  • 11
    this works only inside nano - after you'll close it you can not uncut it in another app as OP wanted. – A.D. Mar 29 '15 at 13:28
  • 6
    how do you get text OUT of nano? that's what I need to figure out – anon58192932 Sep 24 '15 at 18:04
  • I needed to press Alt-A to mark on a MAC – MasterMind Sep 6 '18 at 6:06
7

Actually, this answer might be a bit late but I was looking for an answer for the same question and I just figured it out. when you have the file you want to copy to open in nano. you can hit ctl-R and enter the file you want copied from. this will bring in the whole file.

In my case I was just copying my old fstab so it wasn't a big deal. but could get ridiculous with huge files.

7

Alternatively you can zoom out using Ctrl+- to fit all the file contents on 'one screen page' and select everything using the mouse. After you zoom back with Ctrl+0 or zoom in progressively with Ctrl++.

I don't like the mouse part, but this is a fast way to copy bulk text in nano.

  • 1
    Easy and interesting. It works even on very large files. – Paulo Coghi Oct 18 '18 at 23:37
  • 1
    It's incredible how simple and creative ideas can solve hard problems. – Paulo Coghi Oct 18 '18 at 23:38
2

Here's another solution. One that I personally prefer. It uses Xsel. It's very similar to Xclip but with a key difference.

$ cat my_funky_file | xsel

While Xclip puts everything in the main clipboard, Xsel manipulates the selection buffer letting you paste the selection with a middle-click. This is great for one-offs! So if you have something in your clipboard that you haven't pasted yet, that would stay unaffected!

And if you want to paste the content, xsel -o will spit it right out.

You can install it on a debian based system using

$ apt-get install xsel

The source is available here otherwise! Hope this helps someone.

  • xsel: Can't open display: (null) : Inappropriate ioctl for device – andilabs Sep 20 '18 at 18:09
1

you can use cat and then copy it from the console:

cat path/to/file.yml

Select the output printed in the console.

0

From my understanding it is not possible to select an entire file in nano if it scrolls more then your window. If you are using a GUI and have nano open from a terminal and the file is not longer than your window you can use mouse and select all the text than cnt+shift+c will copy it to clipboard.

Although not in nano, there is a way in vim. See here.

Specifically, select text (visual mode) section.

0

You can cut from the current cursor position to the end of the file with meta key plus T. Meta key is either alt or escape, depending on your keyboard. For me, accessing Ubuntu via ssh from my OSX it was escape.

  • That solved it! Thanks! – danny Aug 26 at 7:45
0

As other replies have pointed out, it is actually not possible to copy from nano to the Ubuntu clipboard and use it in other software, unless you use your mouse and copy with the right click.

however it is possible to open both files in nano and copy from one to another: (Meta is Alt or Esc based on your default Meta key)

  1. First you need to activate multiple buffers

    • if you have the nano open Metaf

    • or open nano with -F flag: nano -F

    • or put set multibuffer into your ~/.nanorc file

  2. Then you can open files in new buffer with Ctrlr

  3. switch between buffers with Meta, to left and Meta. to right
  4. go to the beginning of the file Meta\ and then you have two options:

    a. mark the text by CtrlShift6, then take the cursor to the end Meta/, then cut the text Ctrlk

    b. cut the text to the end of file by Metat

  5. switch to the other file opened in the other buffer and past by Ctrlu

0

Simplest way:

  • Alt\ to go to the top of the file.
  • Ctrl6 to set a mark.
  • Alt/ to go to the bottom of the file (i.e. marking all the text).
  • Alt6 to copy the selected text.

(Not part of the question but for the record, CtrlU can be used to paste copied text.)

0

So this works in putty.
1. right click title bar 2. change settings 3. Appearance 4. change - font 5. change the font to 1

This will put a lot of code on a single screen. It was enough for me to copy a large config file.

  • 1
    That doesn't answer the question. – Toto Jun 30 '18 at 15:18
0

use micro instead of nano in these cases

To install:

sudo su
cd /opt/
apt-get install curl
curl https://getmic.ro | bash
ln -s /opt/micro /usr/bin/micro
ln -s /opt/micro /usr/bin/nani
exit

so you can open a file with:

micro Readme.txt
or
nani Readme.txt

I use both, nano is quick and handy, micro is fully featured.

You can use:

  • Ctrl-A to select all.
  • Ctrl-C, Ctrl-V
  • Place multiple cursors if you use Ctrl and left click
  • Ctrl-Q to exit and press y or n
  • etc..
  • Micro Gihub page
-1

You can only copy what you see on your screen (typically one page). Just click and highlight with mouse. Ctrl+C. Then Ctrl+V paste into notepad. Repeat as necessary for each page that you have.

  • It's "Ctrl+Shift+c" in the Terminal. – quinnr Feb 15 '17 at 18:15
  • 1
    Please read the question again carefully. Your answer does not answer the original question. Question is about Ubuntu not Windows. Even if were about Windows your answer is wrong. – DavidPostill Feb 15 '17 at 18:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.