---
title: "Vim,Neovimのフォント変更方法について"
pubDate: 2023-03-12T22:29:48+09:00
updatedDate: 2023-03-13
published: true
tags: ["vim駅伝"]
---

## はじめに（言い訳）

この記事は[Vim駅伝](https://vim-jp.org/ekiden/)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=*を実行](/images/blog/2023-03-12-vim-ekiden/vim-set-guifont.png)

- neovim
  ![Neovimで :set guifont=*を実行](/images/blog/2023-03-12-vim-ekiden/neovim-set-guifont.png)

ここでフォントを設定したらこれで解決すると思いましたが、一時的に設定されているだけなので、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のヘルプは丁寧に書かれてあるので問題がおきたらまずはヘルプを叩きましょう。
