当前位置: 首页>>技术问答>>正文


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

,

问题描述

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

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

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

最佳解决思路

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

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

    nano,ubuntu

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

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

    nano,ubuntu

这些键绑定在哪里引用

所有这些都在文档中定义,您可以随时使用Ctrl + G进行访问。请注意,在本文档中,领先的^代表CtrlM代表Alt,因为这是Unix定义元字符的传统方式。文档中的行:

^^ (M-A) Mark text starting from the cursor position

M-^ (M-6) Copy the current line and store it in the cutbuffer

次佳解决思路

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

unicorns
rainbows

line4

Ctrl + K unicorns

rainbows

line4

我未剪切Ctrl + U

unicorns
rainbows

line4

我将光标移到末尾,然后再次将Ctrl + U

unicorns
rainbows

line4
unicorns

第三种解决思路

是的,在nano上复制文本有点奇怪,并且由于网络上的报告冲突以及在实施方式(IMHO)和official 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).

因为基本上,您使用CTRL + K进行剪切,使用CTRL + U进行剪切,并且剪切线保留在剪切缓冲区中,因此您可以快速剪切并粘贴以进行替换,然后再次粘贴以实现“复制”。

但是我不喜欢这个”workaround” …

文档的最后一部分介绍了如何复制:使用ALT + 6(复制)广告,然后使用CTRL + U进行粘贴。

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

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

希望这可以帮助。

第四种思路

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

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

编辑>复制

第五种思路

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表示Meta-键,并非在所有键盘上都存在,而是在某些键盘上不存在。在没有Meta-键的键盘上,其他modifier-keys(例如AltEsc)也可能起作用。在我的机器上,我发现Alt + 6的组合工作正常。

第六种思路

您还可以执行以下操作;

  1. nano -cm <text_to_edit>

  2. 将光标放在要开始复制的位置,

  3. Shift + LeftClick并在要复制的文本中拖动鼠标,然后按Ctrl+Shift+C

  4. 放置您要粘贴文本的光标,

  5. Ctrl+Shift+V

man nano中详细说明了选项-c-m

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7294.html,未经允许,请勿转载。