Vim 8.0Day 15

Vim 8.0 Advent Calendar 15 日目 新しいオプション その 2

More than 1 year has passed since last update.

この記事は Vim 8.0 Advent Calendar の 15 日目の記事です。

新オプション紹介その 2 です。その 1 に比べると地味なオプション達を簡単に紹介します。それぞれ詳細は help を参照してください。


'renderoptions' (特殊形式文字列)

テキストレンダラの設定です。このオプションを設定することによって、Windows ではレンダリングに DirectX を使えます。

また、DirectX に対して様々なオプションを設定できます。


'emoji' (真偽値)

オンにするとユニコード絵文字を全角とみなします。デフォルトはオフです。


'langremap' (真偽値)

元々 'langnoremap' オプションがありました。このオプションは真偽値のオプションであったため、これをオフにしようとすると以下のようになります。

set nolangnoremap

これは二重否定でわかりづらい、ということで追加されたのが 'langremap' オプションです。'langnoremap' オプションは今も互換性のために残されていて、この 2 つのオプションは常に逆の値を指すようになっています。


'signcolumn' (特定文字列)

sign の桁を表示するかどうかを設定します。デフォルトは auto で、sign が存在する場合のみ表示されます。

その他、yes no で常にオン/オフが可能です。

sign は本来の目的以外でも、行全体をハイライトするために hack 的にプラグインから使われる場合があり、このような時に no を設定することで余計な sign カラムを非表示にすることができます。


'tagcase' (特定文字列)

タグファイル内を検索する際の大文字小文字の区別する方法を指定します。

元々はこれは 'ignorecase' オプションの値に依存していましたが、'ignorecase' はインタラクティブな検索などで使われることもあり、オンにしている人が多いかと思います。一方、タグファイル内の検索はプログラミング言語の識別子などが入っていることもあり、大文字小文字は区別して欲しい場合が多いです。そこで、それぞれ独立して設定できるようにするために 'tagcase' オプションが追加されました。

デフォルト値は followic で、互換性を保つために 'ignorecase' に追従します。常に大文字小文字を区別して欲しい場合は、match を設定します。他にもいくつか設定できる値があります。


'termguicolors' (真偽値)

オンにすると、ターミナル内でも GUI 用の 24 ビットカラーのカラースキームが使用できます。ただし、ISO-8613-3 互換のターミナルが必要です。

対応していないターミナルでオンにすると残念なことになるので注意してください。


'luadll' 'perldll' 'pythondll' 'pythonthreedll' 'rubydll' 'tcldll' (文字列)

Vim には様々な言語のインターフェースがあり、ビルド時にこれらを指定できます。

ダイナミックリンクも可能でしたが、これまでは、その dll のファイル名はビルド時に指定したものに固定でした。

しかし、タイナミックリンクである以上、ファイル名は環境によって変わる場合があります。そこで、オプションによって dll のファイル名を指定できるようになりました。

'pythonthreedll' は Python 3 のためのものです。本来 'python3dll' としたかったようですが、オプション名に数値が使えないという制約が存在したため、このようになっています。