作曲・浄書・指導・音響

金沢音楽制作

金沢音楽制作では、楽曲・楽譜の制作と、作曲や写譜などレッスンを行っています。

NeoVimでクリップボードを使う

NeoVimにおける、クリップボードの使い方のメモ。普通のVimとは違い、.init.vim(普通のVimでいう.vimrc)に記述は不要である(と思われる)。使うのは、「"+」レジスタと「"*」レジスタである。また、クリップボードの代替的アプリケーションのxselといったものも不要である。環境:LMDE 4、NeoVim v0.3.4

なお、macOSは、「"+」レジスタを使わなくても、「"*」レジスタだけで事足りる。Linuxは、X Windows SystemのX selectionというものを使っているため、「"*」と「"+」を使い分ける必要があるそうだ。詳細は、「【Linux】クリップボードについて【X Window System】」を参照されたい。

NVIMからクリップボードへ

ノーマルモード時に、次のコマンドを実行することで、カレント行をクリップボードに渡せる。ヴィジュアルモードで範囲選択をした場合も同じ操作をする。

カレント行をコピー

"+yy

行末までコピー

"+yGy

行数が分かっている場合、数字を入力するのにshiftキーを一旦外すので、「yy」の方が事故率は低いかもしれない。

複数行をコピー

"+5yy

あるいは、以下でもよい。つまり、好きに使えばよい。

"+y5j

[目次へ]

クリップボードからNVIMへ

クリップボードの内容をNeoVimで使うには、「*」レジスタを利用する。

"*p

[目次へ]

exコマンドでペーストを使う

実は、exコマンドでペーストできる。ペーストできるのは、ヤンクされたものと、検索した文字列である。exコマンドでペーストを使うには、Ctrl+rキーを入力し、その後「"」や「*」、「/」を入力する。

:%s/<C-r>"/<C-r>*/

と入力すると、以下のようになる。

:%s/printf/puts/

検索した文字列は「/」でペーストできる。これは、「/」や「?」だけではなく、カーソルがワード上にあるときに「*」を押しても「/」に格納される。ただし、その場合は、「\<printf\>」と<>がついてしまう。

:%s/<C-r>//s<C-r>//
:%s/printf/sprintf/

NeoVimとクリップボードの関係を知るには、もう少し実験が必要そうだ。

[目次へ]

[ノート一覧へ]

更新情報

  • 公開日:2020-04-06