将一行从文本文件复制到shell

时间:2014-03-18 16:20:30

标签: linux bash shell vim

亲爱的聪明人你好, 如果我在登录linux shell中,并且浏览了一个充满vim或cat行的文本文件。

例如

mar @ 001:〜$ cat test

sudo kill pluto sudo echo $Parerino sudo cut -d -f--d-f a -sdf-s-f 2> myerr sudo kill pluto sudo echo $PATH sudo echo $Parerino

怎样才能复制" sudo cut -d -f -d -f a -sdf-s-f 2> myerr中"命令,在我关闭文件并将其粘贴到shell后,我可以执行它吗?或者我可以自动完成吗?

如何执行该命令的副本,然后打开一个新的shell并粘贴long命令以便在执行之前对其进行修改?

2 个答案:

答案 0 :(得分:0)

如果根本没有GUI,那么我只能想到gpmscreen。您可能需要查看以下主题:https://superuser.com/questions/67644/linux-copy-paste-in-tty

答案 1 :(得分:0)

由于您很可能没有剪贴板,因此您无法从Vim复制/粘贴到shell。

但你可以抓住当前行并用:!执行它:

0y$
:!<C-r>"<CR>

或者您可以执行getline返回的当前行:

:!<C-r>=getline('.')<CR><CR>

或者您可以将该行写入文件并执行其内容:

:.w foo
<C-z>
$ cat foo | sh

或者您可以记住命令行,退出Vim并执行:

sed -e 5p | sh