在Nano中复制(仅复制,不剪切)?


50

我需要在Nano中复制一些文本,因此我使用Google进行搜索,然后在Stack Exchange和其他网站上找到了一些帖子,OP在其中询问“我如何复制?”。人们通常会回答“您可以使用ctrl+ K”。该人问如何复印,并告诉他们如何剪切。

其他答案提到alt+,6但在我的测试中不起作用。

是否没有选择在Nano中复制文本?有解决方法吗?


2
您的键盘布局是什么?Alt-6(aka M-6)和Alt- ^(aka M-^)都对我有用。
钢铁司机

我使用几年前购买的Logitech的英语希伯来语键盘。从来没有问题。
JohnDoea

Answers:


83
  1. 将光标放在要复制的字符的开头。按Alt+ Shift+ A设置标记。(或者,用Ctrl+ 设置标记6

  2. 使用箭头键突出显示要复制的文本。 用纳米图像突出显示

  3. 使用Alt+ Shift+ 6复制(或者Alt+ 6

  4. 导航到要粘贴的位置。用Ctrl+ 释放粘贴U

    贴上图片

这些键绑定在哪里引用

所有这些都在文档中定义,您可以随时使用Ctrl+对其G进行访问。需要注意的是领先^的立场CtrlMAlt文档中,因为这是定义元字符的Unix的传统方式。文档中的行:

^^(MA)从光标位置开始标记文本

M- ^(M-6)复制当前行并将其存储在剪切缓冲区中


惊人。但是,如何对苹果Macintosh进行“替代”操作?
达斯(Garth Egregious)

4
@ user973810上次检查时,Apple笔记本电脑和台式机均具有Alt键。如果您是从1998年左右开始谈论Macintosh的话,那很好。。。我不熟悉这些内容,因此可以为您提供帮助。可能是学习VI编辑器-它远比nano好
Sergiy Kolodyazhnyy

不你错了。有功能,控制,选项和命令。没有“ alt”。
Darth Egregious

3
查看图片 Mac 上的 Option充当Atl键
Sergiy Kolodyazhnyy

5
@ user973810如果您仔细查看选项密钥,您可能会注意到它也显示alt。nedbatchelder.com/pix/mackeyboard.jpg
TheWanderer

28

解决方法:先剪切,然后未剪切,然后在要复制文本的位置再次未剪切。

unicorns
rainbows

line4

Ctrl+K unicorns

rainbows

line4

我未切割Ctrl+U

unicorns
rainbows

line4

我将光标移到末尾并再次Ctrl+U

unicorns
rainbows

line4
unicorns

2
好的解决方法,+ 1
Sergiy Kolodyazhnyy

5

是的,在nano上复制文本有点奇怪,并且由于网络上的报告相互矛盾以及在实施方式(IMHO)和官方文档中都缺乏清晰性(或常识...),因此有些混乱……

根据文档:

4.3剪切缓冲区

可以使用“剪切文本”命令(默认键绑定:^ K)一次从文件中剪切文本,整行。剪切线存储在剪切缓冲区中。连续的^ K笔划会将每个剪切线添加到此缓冲区,但是在其他任何击键之后的^ K都将覆盖整个cutbuffer。

可以使用“未剪切文本”命令将剪切缓冲区的内容粘贴回文件中(默认键绑定:^ U)。

可以使用“复制文本”命令(默认键绑定:M-6)将一行文本复制到剪切缓冲区中(不剪切)。

因为基本上,你用CTRL+ KCTRL+ U粘贴和剪切线停留在cutbuffer,你可以做一个快速的剪切粘贴来代替,然后粘贴再次实现了“复制”。

但我不喜欢这种“解决方法” ...

在文档的最后一部分,说明了如何复制:使用ALT+ 6(以复制)的广告,然后使用粘贴CTRL+ U粘贴

(文档实际上说“ M ”键,这意味着元键,如mook765所说:“- Meta键不存在”……通常只是ALT现代键盘上的键。)

您还可以使用ALT+ 6并用箭头键移动该部分来选择多行。

希望这可以帮助。


3

请注意,此解决方案仅适用于Ubuntu的GUI版本,不适用于TTY界面。

我总是通过对选定的文本执行CTRL+ SHIFT+ C来始终复制nano中的文本,因为这是在终端中复制任何文本的默认组合键。这也适用于纳米。也可以在以下位置找到

编辑 > 复制


7
好的解决方法,但这在TTY中仅在GUI终端中不起作用:) nano但是已经有了它自己的复制方式,这并不依赖于终端
Sergiy Kolodyazhnyy

2

man nano

当需要剪切或复制更精确的文本时,可以
用^ 6标记其开头,将光标移至其结尾(标记的文本
(将突出显示),然后使用^ K进行剪切,或使用M-6将其复制到
剪切缓冲区。

M表示- Meta键,并非在所有键盘上都存在,而是在某些键盘上不存在。在没有-key的键盘上使用Meta其他修饰键,例如AltEsc可能起作用。在我的机器上,我发现组合Alt+ 6可以正常工作。


2

您还可以执行以下操作;

  1. nano -cm <text_to_edit>
  2. 将光标放在要开始复制的位置,
  3. Shift+左键并在要复制的文本中拖动鼠标,然后按Ctrl+Shift+C
  4. 放置您要粘贴文本的光标,
  5. Ctrl+Shift+V

选项-c-m详细说明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.

0

我发现在nano中复制文本的最简单方法是用鼠标选择要复制的文本,然后右键单击它。这将弹出一个菜单,其中为您提供了一些要复制的东西的选项,选择该选项,您就已经复制了文本。当您要粘贴文本时,请执行相同的操作,但是选择“粘贴”,它将粘贴文本。


3
以及如何右键单击TTY中选定的文本?不会在那里工作
Sergiy Kolodyazhnyy

如果文本比窗口长,该怎么办?像SSH密钥一样?
leymannx
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.