问题描述
我需要在Nano中复制一些文本,因此我使用Google进行搜索,然后在Stack Exchange和其他网站上找到了一些帖子,OP在其中询问“我如何复制?”。人们通常会回答“您可以使用ctrl
+ K
”。该人问如何复印,并告诉他们如何剪切。
其他答案提到alt
+ 6
,但是在我的测试中它不起作用。
是否没有选择在Nano中复制文本?有解决方法吗?
最佳解决思路
-
将光标放在要复制的字符的开头。按
Alt
+Shift
+A
设置标记。 (或者,用Ctrl
+6
设置标记) -
使用箭头键突出显示要复制的文本。
-
使用
Alt
+Shift
+6
复制(或者,Alt
+6
) -
导航到要粘贴的位置。使用
Ctrl
+U
释放粘贴
这些键绑定在哪里引用
所有这些都在文档中定义,您可以随时使用Ctrl
+ G
进行访问。请注意,在本文档中,领先的^
代表Ctrl
,M
代表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(例如Alt
或Esc
)也可能起作用。在我的机器上,我发现Alt
+ 6
的组合工作正常。
第六种思路
您还可以执行以下操作;
-
nano -cm <text_to_edit>
-
将光标放在要开始复制的位置,
-
按
Shift
+ LeftClick并在要复制的文本中拖动鼠标,然后按Ctrl+Shift+C
-
放置您要粘贴文本的光标,
-
按
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.