如何从带有nano的文件中选择所有文本?


97

我从comand行在Ubuntu nano编辑器中打开一个文件,我想复制该文件的所有内容,以便可以将其粘贴到外壳外的另一个应用程序中。

到目前为止,我只能shift在可见的屏幕上进行复制,而不能在所有内容上进行复制。


您是否仅在命令行环境中?如果不是,为什么不使用gedit之类的文件打开文件?
MBraedley

4
我在那台机器上没有电子书,我想学习用nano来做。
Elzo Valugi 2010年

4
顺便说一句,这就是为什么我讨厌linux和命令行:从理论上讲,这是一件很棒的事情,但实际上却毫无疑问,即使最简单,最普通的事情也无法按预期工作。可用性超级失败。
Sliq

3
纳米并不强大。只是编辑一些配置文件就可以了,但是作为代码编辑器却很烂!
deepcell 2014年

问题太模糊,结果遍及整个地图,导致混乱。通常,您在远程服务器而不是台式计算机上使用nano。这听起来更像是关于终端仿真器的问题,即如何访问nano。我真的认为该问题应该更改或标记为删除。
PJ Brunet

Answers:


18

您不能使用的缓冲区在nano其他地方使用它,而需要使用X或Gnome的缓冲区。

xclip是解决方案。

X11剪贴板的命令行界面。它也可以用于复制文件,作为sftp / scp的替代方法,避免在已设置X11转发时提示输入密码。


69

有一种可能的方法:

  • 文件开头的光标

  • Ctrl6 设置标记

  • AltShiftT(或尝试AltT)剪切到文件末尾

  • 如果AltT不起作用,请尝试CtrlK

  • 仅复制文件内容CtrlU即可再次取消剪切文本

1
绝妙的技巧,但我想要的是副本而不是剪切。
Elzo Valugi 2011年

11
这仅在内部有效nano-关闭后,您将无法按OP要求在其他应用中对其进行剪切。
2015年

6
您如何获得nano的文本?这就是我需要解决的问题
anon58192932'9

我需要按Alt-A标记在MAC上
MasterMind 18'9

7

实际上,这个答案可能有点晚了,但是我一直在寻找相同问题的答案,所以我才知道。当您拥有要复制的文件时,可以在nano中打开。您可以按ctl-R并输入要从中复制的文件。这将带入整个文件。

就我而言,我只是复制旧的fstab,所以这没什么大不了的。但可能会因文件庞大而变得荒谬。


7

或者,您可以使用Ctrl+ 缩小-以适合“一个屏幕页面”上的所有文件内容,并使用鼠标选择所有内容。用Ctrl+ 0放大或用Ctrl+ 逐步放大后+

我不喜欢鼠标部分,但这是在nano中复制批量文本的快速方法。


1
简单有趣。它甚至可以处理非常大的文件。
Paulo Coghi,

1
令人难以置信的是,简单创意可以解决难题。
Paulo Coghi,

2

这是另一个解决方案。我个人更喜欢的一种。它使用Xsel。它与Xclip非常相似,但有一个关键的区别。

$ cat my_funky_file | xsel

当Xclip将所有内容放置在主剪贴板中时,Xsel操纵选择缓冲区,让您单击中键即可粘贴选择。这一次就好了!因此,如果剪贴板中有尚未粘贴的内容,则不会受到影响!

而且,如果您要粘贴内容,请立即xsel -o 将其吐出。

您可以使用以下命令将其安装在基于debian的系统上

$ apt-get install xsel

否则,可以在此处找到源!希望这对某人有帮助。


xsel:无法打开显示:(空):设备的不正确的ioctl
andilabs


0

根据我的理解,如果滚动的内容超过窗口的大小,则无法选择nano中的整个文件。如果您使用的是GUI并从终端打开了nano,并且文件的长度不超过窗口,则可以使用鼠标并选择所有文本,然后cnt + shift + c会将其复制到剪贴板。

尽管不是在nano中,但在vim中还是有办法的。看这里

具体来说,选择文本(可视模式)部分。


0

您可以使用meta键加T从当前光标位置剪切到文件的末尾。meta键可以是alt或转义键,具体取决于您的键盘。对我而言,从我的OSX通过ssh访问Ubuntu是逃脱的。


解决了!谢谢!
丹尼

0

正如其他答复所指出的那样,除非您使用鼠标并右键单击进行复制,否则实际上不可能从nano复制到Ubuntu剪贴板并在其他软件中使用它。

但是,可以同时打开nano文件和从另一个文件复制到另一个文件:(MetaAltEsc基于您的默认Meta键)

  1. 首先,您需要激活多个缓冲区

    • 如果你有纳米开口 Metaf

    • 或使用-F标志打开nano: nano -F

    • 或放入set multibuffer您的~/.nanorc档案

  2. 然后,您可以使用 Ctrlr

  3. 在缓冲区之间Meta,向左和Meta.向右切换
  4. 转到文件的开头,Meta\然后有两个选择:

    一种。用标记文本CtrlShift6,然后将光标移到末尾Meta/,然后剪切文本Ctrlk

    b。将文本剪切到文件末尾Metat

  5. 切换到在另一个缓冲区中打开并过去的其他文件 Ctrlu


0

最简单的方法:

  • Alt\ 转到文件顶部。
  • Ctrl6 设置一个标记。
  • Alt/ 转到文件底部(即标记所有文本)。
  • Alt6 复制所选文本。

(不是问题的一部分,但可以记录下来,CtrlU用于粘贴复制的文本。)


0

所以这在腻子中起作用。
1.右键单击标题栏2.更改设置3.外观4.更改-字体5.将字体更改为1

这会将很多代码放在一个屏幕上。复制一个大的配置文件就足够了。


1
那没有回答问题。
多托

0

在这些情况下使用micro代替nano

安装:

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

因此您可以使用以下方式打开文件:

micro Readme.txt
or
nani Readme.txt

我同时使用,nano快速方便,微功能全面。

您可以使用:

  • Ctrl-A 选择全部。
  • Ctrl-CCtrl-V
  • 如果您使用Ctrl和放置多个光标left click
  • Ctrl-Q 退出并按y或n
  • 等等..
  • Micro Gihub页面

-1

您只能复制在屏幕上看到的内容(通常是一页)。只需单击并用鼠标突出显示。Ctrl + C。然后按Ctrl + V粘贴到记事本中。如有必要,对每个页面重复此操作。


在终端中是“ Ctrl + Shift + c”。
quinnr

1
请仔细阅读问题。您的答案没有回答原始问题。问题是关于Ubuntu而不是Windows。即使关于Windows,您的回答也是错误的。
DavidPostill
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.