ファイルをcatし、中央のボタンでテキストをコピーして貼り付けるか、Shiftキーを押しながら挿入します。
Vimでテキストをコピーしてシステムクリップボードから貼り付けるにはどうすればよいですか?
clipboard
およびxtermclipboard
機能を備えたVimをコンパイルする必要があります。Ubuntuでは、これらはvim GUIパッケージ(vim-gnome
、vim-gtk
、vim-athena
など)。
これらのいずれかをインストールすると、クリップボードレジスタ(*
および+
)にコピー(および貼り付け)できます。 Vi and Vim に関するこの非常に有益な投稿から:
X11ベースのシステムの場合(つまりLinuxおよびその他のほとんどUNIX-likeシステム)2つのクリップボードがあり、互いに独立しています:
- プライマリ-これはコピーオンセレクトで、マウスの中ボタンで貼り付けることができます。
- CLIPBOARD-これは(通常)
^C
でコピーされ、^V
(MS Windowsのようなもの)で貼り付けられます。Vimには、これらのクリップボードに対応する2つの特別なレジスタがあります。
*
はPRIMARYを使用します。ニーモニック:starはselect(for copy-on-select)+
はCLIPBOARDを使用します。ニーモニック:CTRL+C(共通キーバインドの場合)
レジスタにコピーするには、コピーコマンド(y
)の前に"
とレジスタの名前(*
など)を付けます。 "*y
、次に中クリックして貼り付けるか、"+y
と ShiftInsert 貼り付けます。
非常に興味深い解決策は this の質問です。 xclipをインストールし、コマンドの出力をxclip(cat file | xclip -selection clipboard
たとえば)にパイプしてから、どこかに貼り付けます(ターミナルにある場合-を使用します CtrlShiftV )。ここで、実際にそのコマンドをxclip -sel clip
に短縮できることがわかります。これは、マニュアルページや例を読むと正確にはわかりません。
私の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」を使用してコピーと貼り付けができるようになりました。