2023/09/29

Manjaro i3 フォント設定の見直し

目次

  • 前回の設定の見直し
  • URxvtのフォント変更
  • NeoVim
  • まとめ

前回の設定の見直し

前回フォントについて色々と書きました。

しかしながら、どうもしっくりこない上に、NeoVimのlualineでのアイコンの文字化けなどもあり、設定を見直すことにしました。

まずは.config/fontconfig/fonts.confが以下のように変わりました。


$lt;?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
    <alias>
        <family>serif</family>
        <prefer>
            <family>Noto Serif</family>
        <prefer>
    </alias>
    <alias>
        <family>sans-serif</family>
        <prefer>
            <family>Noto Sans Mono Nerd</family>
            <family>Noto Sans CJK JP</family>
        </prefer>
    </alias>
    <alias>
        <family>monospace</family>
        <prefer>
            <family>Noto Sans Mono Nerd</family>
            <family>Noto Sans CJK JP</family>
        </prefer>
    </alias>
</fontconfig>

前回よりも短いコードで終わりました。設定を変更したので、fc-cache -vfを実行しておきます。

URxvtのフォント変更

Manjaro i3はデフォルトターミナルがURxvtなので、こちらのフォントも統一して同じものにしようと思います。NeoVimのlualineでのアイコンを表示できるようにしたいので、以下のように設定しました。URxvtの設定は~/.Xresourcesに記述します。


URxvt.font:     xft:NotoSansMono Nerd Font:style=Regular:size=10, xft:Noto Sans Mono CJK JP:style=Regular:size=10, xft:Symbols Nerd Font Mono:style=Regular:size=10

この後、xrdb .Xresourcesを実行して、変更を反映させます。これで、NeoVimにlualineを導入したところ、うまくアイコンが表示されるようになりました。

URxvtは、Xtermの余計な機能を削って軽量化したrxvtのフォークで、Unicodeによる多言語サポート、透過、複数フォントタイプの表示機能、Perl拡張のサポートなどが取り柄だそうです。軽くて高機能なんていいじゃない。

NeoVim

以前Manjaro Xfceを使っていた時は、NeoVimとEmacsを気分で使い分けていましたが、今回はNeoVim縛りで数日過ごしています。

なぜかと言いますと、Manajaro i3にすごくフィットしているから。

ということで、以前はあまり積極的ではなかったNeoVimのプラグイン導入を今回は色々やりました。

主なプラグインはだいたい以下のようなものです。

lazy
プラグインマネージャ。最初Packerにしましたが、PackerのGitHubリポジトリのREADMEには「現在メンテナンスされていないので、代わりのものを使うことを推奨します」と書かれているので、素直に代わりのものを使うことにしました。
telescope
ファジーファインダー。こちらはripgrepやfdを使って高速にファイル検索やテキスト検索できるプラグイン。ripgrepはRustで書かれております。このripgrepは、NeoVim作業に関係なく使えて非常に便利です。
nvim-treesitter
シンタックスハイライト。
lspconfig
Language Server Protocol。Mason+Mason-lspconfigという方法もありますが、OCamlの関係上使わないことにしました。
lualine
ステータスラインに彩りを。

今回、設定ファイルはLuaで書きました。現在LSPで導入済みのものはrust_analyzer、ocamllsp、pyrightです。

Common Lispの開発環境に関しては、今回Vim+vlimeという形にしました。lemも当初は使ってみましたが、なぜか閉じたあとプロンプトの色が変わるというよくわからん問題が発生したので、とりあえず保留状態です。一応GitHubの方にissueを出しておきましたが、ひょっとしたらあまりにしょうもないissueなので相手にされていないのかもしれない......

ですので、NeovimとVimを使い分けて開発するという手法です。

まとめ

ここ数日Manjaro i3を使っていて感じたのは、没入感がすごいということです。これはi3だからすごいのか、エディタをNeoVim|Vim縛りにし、様々なプラグインの導入で快適さがアップしているからなのかわかりません。はたまたフォントがあまりにしっくり来ているからなのかもしれません。ひょっとしたら、たまたま私がそういう状態なだけかもしれません。

いずれにしてもManjaro i3はとにかくすべて起動が速いです。今のところ….....