如何在vim中复制命令输出?

Ste*_*ven 42 linux vim gvim

例如,如果我输入 ' :pwd' 来获取当前工作目录,我可以在 gvim 中选择文本,但我不知道如何将其复制到剪贴板。如果我在控制台 vim 中尝试相同的操作,我什至无法用鼠标选择它。我希望这适用于所有 vim 命令,例如set guifont复制guifont=Consolas:h10:cANSI输出。

asd*_*dfg 48

你在找这个吗

:redir @* | set guifont | redir END
Run Code Online (Sandbox Code Playgroud)

:redir命令将命令的输出重定向到寄存器 (@*)。寄存器@* 指的是剪贴板。

有关这方面的更多信息,

:help :redir
Run Code Online (Sandbox Code Playgroud)


nik*_*nik 16

尝试使用“ :r !pwd”将当前工作目录直接放入 GVIM 打开的文件中。
然后,您可以将其复制到剪贴板,就像在那里打开的任何其他文本文件内容一样。


gar*_*ohn 5

如果您在 xterm 中运行 vim,则在选择文本时按住 Shift 键会将文本复制到相当于剪贴板的 X 位置。


nis*_*isc 5

对于这个特定的示例,您可以执行以下操作(请注意“!”,它使其通过 shell):

:!pwd | xclip
Run Code Online (Sandbox Code Playgroud)

或者

:!pwd | xclip -selection secondary
Run Code Online (Sandbox Code Playgroud)

(取决于您想要哪种 X 选择)。

您可能必须先安装 xclip

sudo apt-get install xclip
Run Code Online (Sandbox Code Playgroud)

(或同等学历)