Wagomu no Akibako

Vim,Neovimのフォント変更方法について

Last updated on

はじめに​(言い​訳)

この​記事はVim駅伝2023年03月13日の​記事です。

本来、​「闇の​力への​入門 - dein編 -」と​いう​タイトルで​記事を​書く​つもりに​していたのですが、​仕事が​忙しくなかなか​時間が​取れなかった​ため​書き切る​ことができませんでした。​その​ため急遽記事の​内容を​変更する​こととしました。​Vim駅伝は​これからも​続いていくと​思うので​別の​機会に​書こうとおもいます。

発端

年始に​年末に​注文していた​Thinkpadが​届きました。

買って​まず​最初に​する​ことと​いえば、、、、そう​Vimと​Neovimを​導入する​ことです。

そして​gVimと​nvim-qtの​フォント設定を​しようと​思ったのですが、​設定方​法が​わからないと​いう​初歩的な​問題に​ぶつかりました。​Windowでは​コントロールパネルの​フォント設定・windowsの​設定から​見れる​フォント・​その​フォントを​ダブルクリックした​時に​表示される​ウィンドウと、​複数箇所から​フォントの​名前の​確認が​行えます。​しかし、​それぞれ微妙に​表示名が​違う​ものが​ありどの​名前を​vimの​設定ファイルに​記載すれば​よいのかわから​なくなりました。

ですので、​今回は​初歩的な​問題かもしれませんが​この​問題の​解決方​法を​共有できたらと​思います。

結論

:help guifontを​見よう!!

解決方​法

:help guifontを​確認すると​このような​記述が​あります。

	For Win32 and Mac OS:
	    :set guifont=*
 	will bring up a font requester, where you can pick the font you want.

set guifont*を​渡す​ことで、​フォントリクエスター​(GUIで​選択できる​フォントウィンドウの​こと?)が​表示されて​好きな​フォントを​選択する​ことができます。

それぞれset guifont=*を​実行した​際に​表示される​フォント設定ウィンドウは​このような​感じです。

  • vim
    vimで:set guifont=*を実行

  • neovim
    Neovimで :set guifont=*を実行

ここで​フォントを​設定したら​これで​解決すると​思いましたが、​一時的に​設定されているだけなので、​vimを​落とすと​設定が​初期化されてしまいます。​その​ため、​設定した​フォント名を​設定ファイル(vimrcや​init.vim)に​追記しましょう。

インサートモードでset guifont=<C-r>=&guifont<CR>と​する​ことでguifontに​設定した​内容を​バッファに​挿入する​ことができます。

フォント名に​空白が​含まれる​場合は​空白を_または¥ と​する​ことで​空白を​エスケープする​ことができるそうです。

	- A '_' can be used in the place of a space, so you don't need to use
	  backslashes to escape the spaces.

2023.03.13 追記

set foo=barの​形式に​拘らないのであれば、​インサートモードでlet &guifont = <C-r>=string(&guifont)<CR>でも​できると​thincaさんに​教えていただいた。

おわりに

vimの​ヘルプは​丁寧に​書かれてあるので​問題が​おきたら​まずは​ヘルプを​叩きましょう。