mise.tomlを手で編集するとタイポや構文ミスが心配
mise.tomlはテキストファイルなので直接編集できるが、TOMLの構文やツール名を手で打つとタイポしやすい。mise editを使うと、既存のmise.tomlの内容をツリー形式で表示しながら対話的に編集できる。
$ mise edit
TUIの基本操作
mise.tomlがある状態でmise editを実行すると、現在の内容がツリー表示される。
mise 2026.9.1 by @jdx
mise.toml
▾ [tools] (1)
jq = "1.7.1"
[+ Add tool from registry]
[+ Add tool from backend]
▸ [env]
▸ [tasks]
▸ [deps]
▸ [settings]
[+ Add section]
↑/↓/←/→ navigate • Enter collapse • backspace remove • s save • q quit
矢印キーで項目を移動し、sで保存、qで保存せずに終了する。既存のjq = "1.7.1"が表示されているとおり、mise editは既存ファイルの内容を読み込んだ状態で起動する。qで終了した場合は「mise cancelled」と表示され、ファイルは変更されない。
レジストリからツールを追加する
jqの項目にカーソルを合わせると、操作できる項目が増える。
↑/↓/←/→ navigate • Enter edit • o options • r rename • backspace remove • s save • q quit
[+ Add tool from registry]にカーソルを合わせてEnterを押すと、レジストリのツールをキーワードで絞り込んで選択できる画面になる。
Add Tool from Registry
mise.toml
Filter: ripgrep
> ripgrep A search tool that combines usability of ag ...
Type to filter • ↑/↓ select • Enter add • Esc cancel
ツールを選択してEnterを押すと、続けてバージョンを確認する画面が出る。
←/→ select version • Enter confirm • Esc cancel
ここでEnterを押してsで保存すると、既存のjqはそのまま残り、新しいツールだけが追記される。
[tools]
jq = "1.7.1"
rg = "15.2.0"
ripgrepはレジストリ上rgという名前で登録されているため、選択したツール名(ripgrep)ではなくrgというキーで書き込まれる。
-y/-nは対話TUIを使わない別の生成パス
-y(--yes)や-n(--dry-run)を付けると、対話的なTUIを起動せずにmise.tomlの内容を生成する。
$ mise edit -n
mise would write to mise.toml
# mise config files are hierarchical. mise will find all of the config files
# in all parent directories and merge them together.
...
# [tools]
# node = "22"
# python = "3.12"
# go = "latest"
-nは書き込まれる内容のプレビュー、-yは実際に書き込む。新規プロジェクトでコメント付きのテンプレートをそのまま作りたい場合には使えるが、既存のmise.tomlがある場合でも、生成される内容は既存の設定を無視した同じテンプレートになる。
[tools]
jq = "1.7.1"
$ mise edit -y
mise writing to mise.toml
# mise config files are hierarchical. mise will find all of the config files
# in all parent directories and merge them together.
...
# [tools]
# node = "22"
# python = "3.12"
# go = "latest"
既存のjq = "1.7.1"は残らず、コメントアウトされたテンプレートに丸ごと置き換わる。対話TUIとは異なり、-y/-nは既存ファイルの中身を一切見ないので、既存プロジェクトのmise.tomlを編集する用途では使わないほうがよい。
–tool-versionsで.tool-versionsから[tools]を生成する
--tool-versionsに.tool-versionsファイルのパスを渡すと、コメント付きテンプレートの代わりに、そのファイルから変換したツールが[tools]セクションに追加される。これも-y/-nと同じ非対話パスだが、-y/-n単体と違って既存のmise.tomlの[tools]は消えず、変換したツールがマージされる。
[tools]
jq = "1.7.1"
nodejs 22.11.0
python 3.12.7
$ mise edit -n --tool-versions .tool-versions
mise would write to mise.toml
[tools]
jq = "1.7.1"
node = "22.11.0"
python = "3.12.7"
既存のjqはそのまま残り、.tool-versionsから変換したnode/pythonが追記される。asdfの.tool-versionsで使うnodejsという名前は、miseの正式なツール名nodeに変換される。
-gでグローバル設定ファイルを編集する
-g(--global)を付けると、プロジェクトのmise.tomlではなく~/.config/mise/config.toml(グローバル設定ファイル)が編集対象になる。対話TUIも起動し、既存のグローバル設定の内容を保ったまま編集できる。
$ mise edit -g
引数でファイルパスを指定する
引数にパスを渡すと、mise.toml以外の名前のファイルや、.mise.tomlのような別名の設定ファイルも編集できる。
$ mise edit .mise.toml
