web-dev-qa-db-ja.com

viで完全なファイルを選択してgeditに貼り付ける方法は?

%y aは、完全なファイルをレジスタaにヤンクします。ただし、これは別のテキストエディター(geditなど)でファイルの内容を貼り付けるのに役立ちません。そうするための代替手段はありますか?

5
user13107

この操作にviが必要かどうかはわかりません。

コンソール出力からxサーバーのクリップボードに何でもコピーできるxclipユーティリティがあります。

DISPLAY=:0.0環境を指定して、次のように実行する必要があります。

cat file | xclip

またはリモートファイルの場合

ssh remote "cat file" | xclip

またはviから(この方法でviバッファーのコンテンツが一時的にクリアされます。取り消すには、Esc + uを押します。データはX cilpboardに残ります):

:%!xclip

これで、マウスの中央ボタンで任意の場所に貼り付けることができます(注、CTRL+Vまたはshift+insは機能しません)。

8
rush

aレジスタにヤンクするのではなく、*または+レジスタにヤンクして、次のいずれかを使用してファイルの内容をXクリップボードにヤンクします。

:%y*
:%y+

これには、Xサポートがコンパイルされており、Xサーバーに接続できるvimのコピーを使用している必要があります。それらのうちどれがあなたにとってより良い働きをするかは、ターゲットエディタが使用するクリップボードのタイプに依存します。

.vimrcファイルに次のいずれかを含めることで、これらのレジスタの1つをヤンクアンドペースト操作のデフォルトとして使用することもできます。

set clipboard+=unnamed
set clipboard+=unnamedplus
10
qqx

Vimとgeditの両方を一緒に使用する必要があることに定期的に気づいている場合は、おそらくVimのGUIバージョンであるgVimに切り替える必要があります。

GVimがデフォルトでインストールされていないUbuntuを使用しているようです。このコマンドを使用して取得します。

 $ Sudo apt-get install vim-gnome

Gnomeに依存しないvim-gtkもありますが、geditを使用しているため、GnomeベースのバージョンのUbuntuのいずれかを使用している必要があります。

1
Warren Young

たぶん、

behave mswin

そして^C / ^Vコンテンツをコピーして貼り付けます。これが目的のものかどうかはわかりません

0
daisy

これを解決するには、次のエイリアスを.bashrcに追加します

alias vim='gvim -v'

.vimrcで、クリップボードをunnamedplusに設定します

set clipboard=unnamedplus

次に、yank:edテキストがグローバルバッファーにコピーされ、ctrl + vを使用してgeditに貼り付けることができます。グローバルにコピーされたテキストは、vim pコマンドを使用して貼り付けることもできます

0
Kotte

通常モードでは、ggvG$はすべてのテキストを選択して"*レジスタに保存し、geditに移動して中マウスボタンをクリックすると、テキストがそこに表示されます。

0
ipirlo