Vimからテキストをコピーして貼り付けようとしています。私はvを実行してビジュアルモードに入り、ブロックを選択したらyを実行しています。
Pが貼り付けるため、テキストをvimのクリップボードにコピーしているようです。ただし、別のプログラム(Chromeなど)では、右クリック->貼り付けで正しいテキストが貼り付けられません。テキストを正しいクリップボードにコピーするにはどうすればよいですか?
以下は、vim --version
に+xterm_clipboard
機能があることを示している場合にのみ機能します。そうでない場合は、追加のパッケージをインストールするか、その機能を追加してvimを再コンパイルする必要があります。
これには実際には2つのオプションがあります。
"+y
「通常の」クリップボードバッファーにコピーします(Ctrl + Vを使用して貼り付け、右クリックして[貼り付け]を選択できるなど)。
"*y
x11セレクションにコピーします-中クリックでこのバッファから貼り付けることができます。
"*
と"+
は両方の方法で機能することに注意してください。したがって、別のアプリケーションでテキストを選択した場合は、"*p
を使用してそれをvimに貼り付けることができます。テキストをコピーした場合(たとえば、Ctrl-Cを使用)は、"+p
を使用してvimに貼り付けることができます。
Vim> = 7.3.74を使用している場合は、これを実際にvimrcに配置できます。
set clipboard=unnamedplus
デフォルトで自動的に+
バッファー(システムクリップボード)を使用します。次に、ヤンク(コピー)するには、通常のy
コマンドなどを使用します。
ただし、d
のようなコマンドが操作するテキストをデフォルトのバッファーに入れるため、この動作はかなり厄介であることがわかりました。つまり、高速なdd
を実行して行を貼り付けることができませんでした。たとえばインターネットから。
Shiftキーを押しながらキーを押し、マウスカーソルでテキストを選択します。
テキストがクリップボードにコピーされます。
これは、クリップボードをvimにfromを貼り付ける場合にも機能します。
明確にするために、これはvim
などのターミナルで実行されているxterm
で機能します。
標準の"+gP
および"+y
コマンドを使用するのは非常に難しいと思います。クリップボードにヤンクするためにCtrl-Y
を再マップし、クリップボードから貼り付けるにはCtrl-P
を再マップしました。これを.vimrc
に追加
nnoremap <C-y> "+y
vnoremap <C-y> "+y
nnoremap <C-p> "+gP
vnoremap <C-p> "+gP
気にしないで、私は答えを見つけました-それはvimのメニューに書かれています。
"+y
非常に直感的です。
Vim固有ではない回答を追加するだけです:Ctrl+Shift+C
を使用して、Ubuntuのシステムクリップボードにコピーできます(ターミナルエミュレーターによって機能が提供されている場合は、gnome-terminalが提供します)。 Ctrl+Shift+V
は別の端末ウィンドウに貼り付け、通常のCtrl+V
はGUIアプリに貼り付けます。
さらに、ターミナルでテキストを選択して中央クリックすると、X11クリップボードから貼り付けられます。
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」を使用してコピーと貼り付けを行うことができます。
デフォルトでは、vimのライトバージョンをインストールする場合、+xterm_clipboard
およびvim --version | grep xterm
を使用するために必要な*
機能が(+
)にありません。 vimの外で登録します。
これを有効にするには、自分でvimをコンパイルするか、あらかじめ有効になっているバージョンのvimをインストールする必要があります。私はvim-gnome:Sudo apt-get install vim-gnome
を使用しました。 vim --version | grep xterm
を実行すると、現在は+xterm_clipboard
であることがわかります。
次に、+
と*
にコピーしてみます。
追加のために、何かがうまくいった場合は、vimをラップするターミナルを切り替えてみてください(ターミナルからvimを使用している場合)。たとえば、クリップボードにはgnome-terminalからアクセスできますが、guakeからはアクセスできないことがわかりました。