Linux上でVimのクリップボードアクセスを有効化および管理する方法

Vim は多くのプログラマーや執筆家がその機能と効率性のために使用する強力なテキストエディタです。 便利な機能の一つは、複数の Vim インスタンス間でクリップボードの内容にアクセスし共有する能力です。

この記事では、 Vim でクリップボードアクセスを有効にし、Linux端末から効果的にクリップボードの内容を管理する方法を探究します。

Vimでのクリップボードアクセスとは何か?

Vim でのクリップボードアクセスは、異なるVimインスタンス間やVimと他のアプリケーション間でテキストをコピーして貼り付けることができます。デフォルトでは、Vimはシステムクリップボードにアクセスできない可能性があり、この機能を有効にするためにはいくつかの変更をする必要があります。

一般的に、Linuxシステムには2種類のクリップボードがあります:

  • 主要クリップボード :これはデフォルトのクリップボードで、選択したテキストが自動的に保存されます。中ボタンを使って貼り付けることができます。
  • クリップボード(X11クリップボード) :これは多くのグラフィカルアプリケーションで使用されるクリップボードで、 Ctrl + C でコピー、 Ctrl + V で貼り付けるためのキーボードショートカットでアクセスします。

Vimでのクリップボードサポートの確認

まず、 Vim のクリップボードアクセスをサポートするバージョンを持っていることを確認してください。

vim --version | grep clipboard
Check Vim Clipboard Support

+clipboardを見ると、Vimにクリップボードサポートがあることを意味します。-clipboardを見ると、クリップボードサポートを持ったVimのバージョンをインストールする必要があります。たとえば、vim-gtkvim-gnome、またはvim-athenaなどです。

クリップボードサポートのあるVimをインストールする

クリップボードサポートを必要としている場合は、特定のLinuxディストリビューションに合わせて以下の適切なコマンドを使用することができます。

sudo apt install vim-gtk3        [On Debian, Ubuntu and Mint]
sudo dnf install vim-X11         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo apk add vim                 [On Alpine Linux]
sudo pacman -S gvim              [On Arch Linux]
sudo zypper install vim-X11      [On OpenSUSE]    
sudo pkg install vim             [On FreeBSD]

Vim内でクリップボードを使用する

正しいバージョンのVimをインストールした後、以下の手順に従ってVim内でクリップボードを使用することができます。

クリップボードにコピーする

Vimから系统のクリップボードにテキストをコピーするには、以下のコマンドを使用します。

  • ビジュアルモード: 文字選択にはvを押し、行選択にはVを押すことでビジュアルモードに入ります。
  • テキストを選択する: 矢印キーまたはhjklを使用して選択したいテキストを選択します。
  • クリップボードにコピーする: “+y”(二重引用符に加えてyを押す)を押してクリップボードにコピーします。

クリップボードから貼り付ける

クリップボードからVimにテキストを貼り付けるには、以下のコマンドを使用します。

  • テキストを挿入したい場所にカーソルを置きます。
  • +p(双引号後にプラス記号とpを入力して)」を押すと、

以下は、コピーと貼り付けの方法を示す簡単な例示です。

1. Vimの新たなインスタンスを開いてください。

vim file1.txt

2. file1.txtにテキストを入力してください。

Hello, this is Vim.

3. テキストをvで選択し、「+y」を押してコピーしてください。

4. 別のVimインスタンスを開いて、別のファイルを開いてください。

vim file2.txt

5. file2.txtにカーソルを置いて「+p」を押してコピーしたテキストを貼り付けてください。

複数のVimインスタンスでシステムクリップボードを使用してみよう

システムクリップボードを使用して、Vimの異なるインスタンス間や他のアプリケーション間でテキストを共有することができます。

端末からクリップボードの内容にアクセスしよう

端末からxclipxselなどのコマンドを使用してクリップボードの内容にアクセスすることができます。

sudo apt install xclip         [On Debian, Ubuntu and Mint]
sudo yum install xclip         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo apk add xclip             [On Alpine Linux]
sudo pacman -S xclip           [On Arch Linux]
sudo zypper install xclip      [On OpenSUSE]    
sudo pkg install xclip         [On FreeBSD]

端末からクリップボードにコピーしよう

端末からファイルの内容を直接クリップボードにコピーすることができます。

cat filename.txt | xclip -selection clipboard

端末からクリップボードから貼り付けよう

クリップボードの内容をファイルに貼り付けるには以下のようにします。

xclip -selection clipboard -o > filename.txt
結論

Vimの異なるインスタンス間でクリップボードの内容をアクセスすることは、プロダクション性を向上させる有効な機能です。Vimにクリップボードサポートを有効にし、適切なコマンドを使用することで、異なるファイルやアプリケーション間で簡単にテキストをコピーして貼り付けることができます。

xclipなどの追加ツールを使用することで、テンプレート内Vimを使って、クリップボードの内容を直接ターミナルから管理することができます。そうすることで、Vimの強力な機能を最大限に利用し、より効率的に工作することができます。

Source:
https://www.tecmint.com/enable-clipboard-in-vim/