web-dev-qa-db-ja.com

vimでコマンド出力をコピーするにはどうすればよいですか?

たとえば、「:pwd」と入力して現在の作業ディレクトリを取得すると、gvimでテキストを選択できますが、クリップボードにコピーする方法がわかりません。コンソールvimで同じことを試みると、マウスでそれを選択することもできません。これをset guifontなどのすべてのvimコマンドで機能させて、guifont=Consolas:h10:cANSI出力をコピーします。

37
Steven

これを探していますか、

:redir @* | set guifont | redir END

:redirコマンドは、コマンドの出力をレジスター(@ *)にリダイレクトします。レジスタ@ *はクリップボードを指します。

この詳細については、

:help :redir
43
asdfg

:r !pwd」を試して、現在の作業ディレクトリをGVIMで開かれたファイルに直接取得します。
その後、他のテキストファイルのコンテンツを開く場合と同様に、クリップボードにコピーできます。

13
nik

この特定の例では、実行できます(シェルを通過させる "!"に注意してください)。

:!pwd | xclip

または

:!pwd | xclip -selection secondary

(必要なX選択によって異なります)。

最初にxclipをインストールする必要があるかもしれません

Sudo apt-get install xclip

(または同等のもの)

4
nisc

Xtermでvimを実行している場合、Shiftキーを押しながらテキストを選択すると、テキストがXのクリップボードにコピーされます。

3
garyjohn