前書き#
あなたは VIM のコードで、一部が正体で、一部が斜体になっているのを見たことがありますか?例えば、以下のように:
私はこのスタイルが好きです:
プログラミングフォントに関しては、比較的細くて相対的にコンパクトなものが好きですが、コメントや特定のキーワードなどの目立つ部分には、より非公式で流れるような人間的なスタイルが好きです。
引用元:https://rubjo.github.io/victor-mono/
この記事では、Neovim + Wezterm を使用して、上記の斜体スタイルを実現します。
フォントのインストール#
-
フォントをダウンロードします。
-
ZIP ファイルを解凍します。
-
フォントファイルをインストールします。
Windows では、ttf 形式を選択して、私は victor-mono の斜体しか使用しないため、VictorMono-Italic.ttf
とVictorMono-BoldItalic.ttf
のみをインストールしました。
Wezterm の設定#
現在のユーザーディレクトリで.wezterm.lua を見つけます。存在しない場合は、新しく作成します。
config.font
とconfig.font_rule
を設定します。私の場合、デフォルトでは Cascadia Mono を使用し、斜体の場合は Victor Mono を使用する方針です。
config.font = wezterm.font_with_fallback {
'Cascadia Mono',
'DengXian'
}
config.font_rules = {
{
intensity = 'Bold',
italic = true,
font = wezterm.font {
family = 'Victor Mono',
weight = 'Bold',
style = 'Italic',
},
},
{
italic = true,
intensity = 'Half',
font = wezterm.font {
family = 'Victor Mono',
weight = 'DemiBold',
style = 'Italic',
},
},
{
italic = true,
intensity = 'Normal',
font = wezterm.font {
family = 'Victor Mono',
style = 'Italic',
weight = 'Bold',
},
},
}
Neovim の設定#
Neovim では、斜体表示をサポートするテーマを使用する必要があります。私はcatppuccinを使用しています。これは、lsp と tressitter と組み合わせて使用することで、コードの特定の構文部分を異なるスタイルで表示することができます。例えば、コードのキーワードを斜体で表示します。
require("catppuccin").setup({
styles = {
comments = { "bold" },
properties = { "bold" },
functions = { "bold" },
keywords = { "italic" },
operators = { "bold" },
conditionals = { "italic" },
loops = { "italic" },
booleans = { "bold", "italic" },
numbers = {},
types = {},
strings = {},
variables = {},
},
}
効果#
キーワード部分のみが斜体で表示され、他の部分は通常通りです。