この記事では、Vimエディターから別のプログラムにテキストをコピーする方法を紹介します。 私たちの目標は、コンテンツをクリップボードにコピーすることです。
vim内でコピーアンドペーストを使用するには、yankコマンドまたはレジスタを使用する方が簡単です。 しかし、別のアプリケーションにコピーする場合は、ブラウザに追加の手順が必要です。 ここでは、テキストをシステムクリップボードにコピーする2つの方法について説明します。
- vim-gtkをインストールする
- Vimをコンパイルする
方法1:vim-gtkをインストールする
では、Vimから別のVimウィンドウまたはブラウザにコピーするにはどうすればよいですか? デフォルトでは、Vimにはシステムクリップボードにアクセスするこの機能はありませんが、この機能を取得するのは実際には非常に簡単です。 1つの方法は、クリップボードにアクセスできるバージョンのVimをコンパイルすることです。別の怠惰な方法は、インストールすることです。 gvim (vim-gtkとも呼ばれます)。
GvimはVimのグラフィカルバージョンです。 gvimをインストールすると、通常のターミナルvimにクリップボードへのコピーと貼り付けの機能が提供されます。 つまり、システムのクリップボードに対応する特殊レジスタにコピーする機能を提供します。 特殊レジスターは +
。 それは実際にはあなたが物事をコピーすることができる単なるレジスターであり、それはあなたのシステムクリップボードにそれを自動的に置きます。
gvim(またはvim-gtk)をインストールするには、次のコマンドを実行します。
$ sudo apt-get install vim-gtk
考えてみましょう example リンクアドレスをコピーしてブラウザに貼り付ける方法です。 私たちを開いてください example ファイルを作成し、最後の行に移動します。 ここで、次のコマンドを実行する必要があります。
V"+y
どこ:+
システムのクリップボードです
ブラウザを開き、通常貼り付けるのと同じ方法でctrl + vを押して、貼り付けられたことを確認します。そのサイトに移動してそこから何かを取得し、コピーしてVimに貼り付けることができます。 通常と同じ方法でコピーしましょう ctrl+c
。 これで、次のコマンドを実行して、Vimでこのコピーされた行にアクセスできます。
"+p
ブラウザからVimにコンテンツが正常に貼り付けられていることがわかります。
方法2:Vimをコンパイルする
もう1つの方法は、クリップボードのコピーをサポートするようにVimをコンパイルすることです。 デフォルトのVimには内部にありません。 したがって、このオプションが有効かどうかを確認するには、次のコマンドを実行してください。
vim --version | grep .xterm_clipboard -o
次のようなものが表示される場合:-xterm_clipboard
これは、クリップボードへのコピーがサポートされておらず、Vimをコンパイルする必要があることを意味します。 言うまでもなく、GUIを備えたVimバージョンのみがクリップボードアクセスをサポートしています。 したがって、Vimを再コンパイルするには、Vimのコンパイル依存関係を取得して、mercurialをインストールすることから始める必要があります。
$ sudo apt-get build-dep vim
$ sudo apt-get install mercurial
ここで、ソースを取得します。
$ sudo hg clone https://hg.256bit.org/vim
このリポジトリクローンがすでにある場合は、次のように更新します。
$ sudo hg pull
$ sudo hg update
次に、最新バージョンがあるかどうかを確認します。
$ hg summary
今、あなたはそれをコンパイルする必要があります:
cd vim_source
./configure
--enable-perlinterp=dynamic
--enable-pythoninterp=dynamic
--enable-rubyinterp=dynamic
--enable-cscope
--enable-gui=auto
--enable-gtk2-check
--enable-gnome-check
--with-features=huge
--with-x
--with-compiledby="YourName <[email protected]>"
--with-python-config-dir=/usr/lib/python2.7/config
make && sudo make install
それはそれをインストールします /usr/local
道。 2つのvimで終わることに注意してください: /usr/bin/vim
クリップボードにアクセスせずに:
と /usr/local/bin/vim
クリップボードにアクセスできる場合:

そしてgvimで /usr/local/bin/gvim
(へのシンボリックリンク付き /usr/local/bin/vim
。 GUIモードであるかどうかに関係なく、クリップボードをサポートします。 また、明示的なパスを使用して、いつでも古いものを実行できます。
すべてがコンパイルされたら、次を使用できます /usr/local/bin/vim
‘+’レジスタを使用して、以前と同じようにファイルを開き、テキストをコピーして貼り付けます。
テキストをレジスタに保存する方法
レジスタは、ヤンクまたはコピーしたコンテンツを保存できる、システム上の小さなストレージスペースです。 多くのレジスタを使用して、さまざまなヤンクされたコンテンツを格納できます。
次のコマンドを使用して、行を選択し、「a」レジスタに格納します。
V"ay
どこ:
V(大文字のV)-行全体をマークするため
“(二重引用符)-レジスタにアクセスします
a-レジスタ名
y-ヤンク(コピー)
そして「b」レジスタの場合
V”by
これで、テキストを2つの異なるレジスタに保存し、それらを貼り付けることができ、異なる順序で貼り付けることができます。 たとえば、次のコマンドを実行して、「b」レジスタを貼り付けることができます。
“bp
どこ:
p-貼り付け
結論
この記事では、Vimでクリップボードにアクセスできるようにする2つの方法を検討しました。 どちらのオプションも有効であり、vim-gtkパッケージのインストールはVimのコンパイルよりも高速で効率的であるようです。