Vimでテキストをクリップボードにコピーする方法

この記事では、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 / bin / vimにインストールされたvim

/usr/local/bin/vim クリップボードにアクセスできる場合:

/ usr / local / 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のコンパイルよりも高速で効率的であるようです。