Closed7
wezterm + tmuxの環境構築
きっかけ
Alacrittyのsixel対応が公式に行われることがなさそうで(リンク)、ならsixel対応のTerminal Emulatorに移動した方が良さそうだなと思ったのがきっかけ。
試しにwezterm + tmux(with sixel) で試したら一発で動いたので、ならweztermに以降すればいっかという経緯
最終的な設定コード
weztermで設定しておきたいことリスト
- 背景の透過
- vim-nightfly-colorsに合わせた色味へ変更
- (tmuxが便利なので) タブ機能の無効化+タブバーの削除
-
衝突するキーバインドの削除
- tmuxと競合するものは基本的にいらない
- これは見つかりしだい整理する。
-
alacrittyで設定してた一部キーバインド
- 特に新しく設定したい内容がなかったので、今回はスルー
- フォント
簡単そうなやつから
vim-nightfly-colorsに合わせた色味へ変更
これは前に設定したことがあったので一番簡単。
20240127-113634-bbcac864
のバージョンから、公式のコードに登録されたっぽいので、↓のコードを使うんじゃなくて、公式のconfigから呼び出す方がおすすめ。
色味の細かい修正をしたいなら、手動で設定しても良いかも。
コード
config.colors = {
-- From vim night fly colors
foreground = "#bdc1c6",
background = "#011627",
cursor_fg = "#080808",
cursor_bg = "#9ca1aa",
selection_fg = "#080808",
selection_bg = "#b2ceee",
ansi = {
"#1d3b53", -- black
"#fc514e", -- red
"#a1cd5e", -- green
"#e3d18a", -- yellow
"#82aaff", -- blue
"#c792ea", -- magenta
"#7fdbca", -- cyan
"#a1aab8", -- white
},
brights = {
"#7c8f8f", -- black
"#ff5874", -- red
"#21c7a8", -- green
"#ecc48d", -- yellow
"#82aaff", -- blue
"#ae81ff", -- magenta
"#7fdbca", -- cyan
"#d6deeb", -- white
},
}
なぜ昔weztermを使わなくなったのかの理由がわかった...
neovimのコメントが白背景黒文字になるという最低の状態に落ちてしまうからっぽい。
治し方がわからねぇ...
治った!原因は二つで、
- terminfo がなかった
- TERMに適切な値が入ってなかった
でした!
フォント
同上。ただ、macOS限定で動く可能性が非常に高いので、他OSの時には設定の修正が必要
コード
-- Font Config
config.font = wezterm.font_with_fallback({
{ family = "FiraCode Nerd Font" },
{ family = "Hiragino Kaku Gothic Pro" }, -- ヒラギノフォント
})
config.font_rules = {
-- For Bold-but-not-italic text, use this relatively bold font, and override
-- its color to a tomato-red color to make bold text really stand out.
{
intensity = "Bold",
italic = false,
font = wezterm.font_with_fallback({
{ family = "FiraCode Nerd Font", weight = "Bold" },
{ family = "Hiragino Kaku Gothic Pro", weight = "Bold" }, -- ヒラギノフォント
}),
},
-- Bold-and-italic
{
intensity = "Bold",
italic = true,
font = wezterm.font_with_fallback({
{ family = "FiraCode Nerd Font", weight = "Bold", style = "Normal" },
{ family = "Hiragino Kaku Gothic Pro", weight = "Bold", style = "Normal" }, -- ヒラギノフォント
}),
},
-- normal-intensity-and-italic
{
intensity = "Normal",
italic = true,
font = wezterm.font_with_fallback({
{ family = "FiraCode Nerd Font Light", weight = "Light", style = "Normal" },
{ family = "Hiragino Kaku Gothic Pro", weight = "Light", style = "Normal" }, -- ヒラギノフォント
}),
},
-- half-intensity-and-italic (half-bright or dim); use a lighter weight font
{
intensity = "Half",
italic = true,
font = wezterm.font_with_fallback({
{ family = "FiraCode Nerd Font Light", weight = "Light" },
{ family = "Hiragino Kaku Gothic Pro", weight = "Light" }, -- ヒラギノフォント
}),
},
-- half-intensity-and-not-italic
{
intensity = "Half",
italic = false,
font = wezterm.font_with_fallback({
{ family = "FiraCode Nerd Font Light", weight = "Light" },
{ family = "Hiragino Kaku Gothic Pro", weight = "Light" }, -- ヒラギノフォント
}),
},
}
タブ機能の無効化 + タブバーの非表示
タブ機能自体の無効化は調べてないけど多分ないので、タブバーの非表示を実施。
タブ機能の無効化はキーバインドからタブ作成を外しておけば良いので、その時に実施。
間違って新しいタブが作られた時にわかるように、タブが複数の時は表示するようにしておく
-- Disable tab bar
config.hide_tab_bar_if_only_one_tab = true
背景の透過
めっちゃ簡単だった。
-- Set window Opacity
config.window_background_opacity = 0.7
ついでにRaycastから新規windowを生成できるようにプラグイン化した
何も難しくないので、コードだけ紹介
#!/bin/bash
# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title Open WezTerm new window
# @raycast.mode silent
# Optional parameters:
# @raycast.icon /Applications/WezTerm.app/Contents/Resources/terminal.icns
# Documentation:
# @raycast.author Hansyo
# @raycast.authorURL https://github.com/Hansyo
wezterm start
一通り終わったのでClose
Macなら、Home brew版のtmuxがsixelに対応するアプデが入りしだいみんな使えるようになるかと。
早く欲しい人は手元でビルドすると良いです!
このスクラップは2024/02/16にクローズされました