Linux 将文本从nano编辑器复制到shell
是否可以将使用Linux 将文本从nano编辑器复制到shell,linux,ubuntu,text,editor,nano,Linux,Ubuntu,Text,Editor,Nano,是否可以将使用nano打开的文件中的文本复制到shell中 我有一个文本文件,我想复制几行到控制台,但我找不到键盘快捷键来复制文本。我不知道在nano中直接执行此操作的任何方法。但是,您可以使用“cat”或“grep”在控制台中显示文件的行 如果使用“屏幕”等终端多路复用器,则可以复制和粘贴字符串。nano似乎无法从全局/系统剪贴板或shell复制/粘贴字符串 但是,您可以使用nano将文本从一个文件复制到另一个文件。使用^R(Ctrl+R)打开另一个文件缓冲区时,可以使用nanos内置的复制/
nano
打开的文件中的文本复制到shell中
我有一个文本文件,我想复制几行到控制台,但我找不到键盘快捷键来复制文本。我不知道在nano中直接执行此操作的任何方法。但是,您可以使用“cat”或“grep”在控制台中显示文件的行
如果使用“屏幕”等终端多路复用器,则可以复制和粘贴字符串。
nano
似乎无法从全局/系统剪贴板或shell复制/粘贴字符串
但是,您可以使用nano
将文本从一个文件复制到另一个文件。使用^R
(Ctrl+R)打开另一个文件缓冲区时,可以使用nano
s内置的复制/粘贴功能(如下所述)在文件之间进行复制:
(Meta+6)将行复制到M-6
的剪贴板nano
(Ctrl+K)剪切当前行并将其存储在^K
的剪贴板中nano
(Ctrl+Shift+6)选择文本。选择文本后,可以使用上述命令复制或剪切文本^
(Ctrl+U)从^U
的剪贴板粘贴文本nano
最后,如果上述解决方案不适用于您,并且您使用的是终端仿真器,则可以分别使用Ctrl+Shift+c和Ctrl+Shift+v(OSX上的Cmd+c和Cmd+v)从全局剪贴板复制/粘贴。还提供了一个外部拷贝/粘贴,该拷贝/粘贴应在
nano
中工作。最后,如果您需要做的是从文件中捕获某些行或文本,请考虑使用以查找行和/或(或/或OSX)将它们复制到全局剪贴板(和/或从剪贴板粘贴),而不是<代码> No.< /代码>。 纳米到外壳:
1。使用鼠标标记文本
2.在外壳中右键单击鼠标
在Nano内:
1.CTRL+6(或CTRL+Shift+6或按住Shift键并移动光标)用于标记集并标记所需内容(结尾可能会提供一些额外帮助)
2。ALT+6用于复制标记的文本
3。CTRL+u在要粘贴的位置
或
1.CTRL+6(或CTRL+Shift+6或按住Shift键并移动光标)用于标记集并标记所需内容(结尾可能会提供一些额外帮助)
2.CTRL+k用于剪切要复制的内容
3.CTRL+u用于粘贴刚剪切的内容,因为您只想复制
4。CTRL+u在要粘贴的位置。1)CTRL+6
标记要复制的文本2)
Ctrl+k
剪切文本,并Ctrl+u
粘贴回原始位置3) 转到要粘贴步骤(2)中标记的代码的所需行
Ctrl+u
将其粘贴
希望有帮助。只需使用Ctrl+Shift+6复制当前行,或者您可以使用Ctrl+6设置标记,也可以使用上述命令复制多行。该线程非常旧,但今天我遇到了同样的问题,上面提到的所有解决方案都没有帮助。由于我希望复制长线,我的解决方案是——根据上面@themisterunknown所写的——在nano之外。我用awk
awk '{ if (NR==87) print $0 }' filename
其中NR==[行号]和$0是完整的行。相对简单的解决方案:
或者,如果您的文本适合屏幕,您只需使用鼠标进行选择,它就会自动将其复制到剪贴板。对于仍在nano editor中寻找复制+粘贴解决方案的用户 选择文本
- ctrl+6
- 使用箭头将光标移动到您希望标记结束的位置
- 按alt+6
- 按ctrl+U组合键
xsel
或类似软件,并在WM或DE中为此命令分配一个全局快捷键:
xsel -o | sed -r 's/^ ?[[:digit:]]+($| +)//g' | perl -pe 's/\n/●/g' | sed -r 's/●●/\n\n/g; s/ ?● {1,}/ /g; s/●/\n/g' | xsel -b
将其放入~/.Xresources:
*selectToClipboard: false
在xterm
中发出此命令一次,以激活上述选项:
xrdb -load ~/.Xresources
xrdb -load ~/.Xresources
现在,在拖动鼠标的同时按Shift键,选择包含行号的行号。选择后,单击您的组合键;线条是铜色的,可以粘贴到任何你喜欢的地方
第二种方法
没有第一种方法的缺点
安装xdool
和xsel
或类似产品
把这两条线放好
Ctrl <Btn3Down>: select-start(PRIMARY, CLIPBOARD)
Ctrl <Btn3Up>: select-end(CLIPBOARD, PRIMARY)
在您的路径中创建此纸条:
#!/bin/bash
filepid=$(xdotool getwindowpid $(xdotool getactivewindow))
file=$(ps -p "$filepid" o cmd | grep -o --color=never "/.*")
firstline=$(xsel -b)
lastline=$(xsel)
sed -n ""$firstline","$lastline"p" "$file" | xsel -b
指定一个全局快捷键以在WM或DE中调用此脚本
现在,如果要复制一行(段落),请在按住Shift+Ctrl的同时,用鼠标右键仅选择该行(段落)的行号。选择后,单击之前创建的自定义全局键组合。行(段落)是铜色的,可以粘贴到任何你喜欢的地方
如果要复制多行,请对第一行执行上述操作,然后对范围的最后一行执行上述操作,而不是Shift+Ctrl+Btn3(鼠标右键),只需在按住Shift键的同时用鼠标左键选择数字。在此之后,再次通过自定义全局快捷方式调用脚本。线条的范围是铜色的,可以粘贴到任何你喜欢的地方。非常容易
#!/bin/bash
filepid=$(xdotool getwindowpid $(xdotool getactivewindow))
file=$(ps -p "$filepid" o cmd | grep -o --color=never "/.*")
firstline=$(xsel -b)
lastline=$(xsel)
sed -n ""$firstline","$lastline"p" "$file" | xsel -b
sed "342q;d" doc.txt >> ~/.bash_history
history -n
PROMPT_COMMAND='history -n ; $PROMPT_COMMAND'