vimおよびシステムクリップボード


9

私はファイルを猫にしたり、真ん中のボタンやシフト挿入でテキストをコピーして貼り付けることができます。

vimでテキストをコピーしてシステムのクリップボードから貼り付けるにはどうすればよいですか?


sed -n5,10p5-10行目を印刷するのに時々使用するので、vimがマウスに反応することなく、より簡単にコピーして貼り付けることができます。
Grantbow 2016年

実際にはvim内からコマンドは次のようになります:!sed -n 5,10p %
grantbow '29

すべてのコメントと回答をありがとう。xclipは時々役に立ちます。@ sergiy-kolodyazhnyyに感謝します。別のマシンで作業しているとき、インストールされているvimを制御できないことがありますが、@ muruの回答をチェックするための指示があると役に立ちます。@ ashutosh-tripathyに感謝します。vim registerコマンドをもっと頻繁に使用して、必要なときに覚えておく必要があります。上記の質問で述べたように、すばやく実行したいがファイルが小さい場合、vim内のコマンドは次のようになります:!cat %
grantbow

回答:


12

あなたがVimを持っている必要がありますclipboardし、xtermclipboard中にコンパイルされています。ではUbuntuで、これらはvimのGUIパッケージ(でのみ利用可能ですvim-gnomevim-gtkvim-athena、など)。

これらのいずれかをインストールすると、クリップボードレジスタにコピー(および貼り付け)できます(*および+)。ViとVimに関するこの非常に有益な投稿から:

以下のためにX11システム(すなわちベースのLinuxおよび他のほとんどのUNIXライクなシステム)、互いに独立した2つのクリップボードは、ありますが。

  • PRIMARY-これは選択時コピーであり、マウスの中央ボタンで貼り付けることができます。
  • CLIPBOARD-これは(通常)^Cでコピーされ、(^VMS Windowsのように)貼り付けられます。

Vimには、これらのクリップボードに対応する2つの特殊レジスターがあります。

  • *PRIMARYを使用します。ニーモニック:s tar is s elect(copy-on- s elect)
  • +CLIPBOARDを使用します。ニーモニック:CTRL + C(一般的なキーバインド用)

レジスタにコピーするには、コピーコマンド(y)の前にレジスタ"の名前(*など)を付けます。"*y、次に中クリックで貼り付け、または"+yand ShiftInsertで貼り付けます。


3

この質問から非常に興味深い解決策が得られます。xclipをインストールしてから、コマンドの出力をxclip(cat file | xclip -selection clipboardたとえば)にパイプし、任意の場所に貼り付けます(ターミナルにある場合-を使用Ctrl ShiftV )。ここで、実際にそのコマンドをに短縮できることがわかりましたxclip -sel clip。これは、マニュアルページや例を読むことからは明らかではありません。


2
別の方法としては、このプラグインと一緒にscreenまたはtmuxを使用します。いずれにしても、何かをインストールする必要があります。
muru、2015

xサーバーで使用される実際のクリップボードは何ですか?には何も見つかりませんでした/devが、テキストはまだどこかに保持されていますよね?
Sergiy Kolodyazhnyy 2015

私はいつもそれが記憶にあると思っていました。しかし、それはUnixとLinuxにとってはいい質問のようです。
muru 2015

3

vimがクリップボードをサポートしていないため、問題が発生しました:

vim --version | grep clip
-clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      -mouseshape      +startuptime     -xterm_clipboard

vim-gnome(クリップボードをサポート)をインストールしてから、もう一度確認しました。

vim --version | grep clipboard
+clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      +mouseshape      +startuptime     +xterm_clipboard

これで、それぞれ「+ y」と「+ p」を使用してコピーと貼り付けを行うことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.