taxin's notes

読書、勉強メモ etc.

dotfilesを更新した

新年明けましておめでとうございます。
前回のブログから大分間が空いてしまいました。

年末年始は風邪を引いていたので、休みつつdotfilesの整備を行なっていました。
(2022年の振り返りブログも書こうと思ったのですが、体調不良で時期を逸してしまった感があるのでお蔵入りするかもしれません。)

github.com

シンボリックリンクの貼り方を調整

既存のdotfilesでは、root directoryにある設定ファイルのパスをfor文で全て取ってきてシンボリックリンクを作成するという処理でしたが、後述するweztermの設定ファイル (./config/wezterm/wezterm.lua)などroot directoryに設定ファイルが存在しないケースもあり、個別にシンボリックリンクを貼っていく方式にしました。

下記のように個別の設定ファイルごとに定義します。
dotfilesのroot directoryからのファイルパスとHome directoryからのファイルパスが同一の場合は第二引数を省略できるようにしています。

# ln -hvfs "./.config/starship.toml" "$HOME/.config/starship.toml" と同等
make_symlink .config/starship.toml

iterm2 → weztermへの変更

iterm2自体にそこまで不満はないのですが、使用感やカスタマイズ性がどの程度変わるのか気になったので乗り換えることにしました。

プロンプトのカスタマイズはStarshipに任せてるので、見た目も大きく変わってないです。
そこまでカスタマイズはしていないのですが、key bindings周りは調整しています。
ctrl / shift keyはkey bindingsの設定でデフォルトで利用できますが、ユーザーが定義できるLeader keyを利用したkey bindingsの設定もできるので、別のキーバインドと衝突するようなケースは避けやすいと思います。

wezfurlong.org

    -- keybindings
    -- https://wezfurlong.org/wezterm/config/default-keys.html?highlight=key%20bindings#default-shortcut--key-binding-assignments
    disable_default_key_bindings = true,
    quick_select_alphabet = "colemak",
    -- https://wezfurlong.org/wezterm/config/keys.html?highlight=key%20bindings#leader-key
    leader = { key = "a", mods = "CTRL", timeout_milliseconds = 2000 }, 
    keys = {
        { key = "r", mods = "CTRL", action = "ReloadConfiguration" },
        --
        { key = "t", mods = "CTRL", action = wezterm.action({ SpawnTab = "CurrentPaneDomain" }) },
        {
            key = "h",
            mods = "CTRL",
            action = wezterm.action({ SplitHorizontal = { domain = "CurrentPaneDomain" } }),
        },
        {
            key = "v",
            mods = "CTRL",
            action = wezterm.action({ SplitVertical = { domain = "CurrentPaneDomain" } }),
        },
        -- 
        { key = "p", mods = "LEADER", action = wezterm.action({ EmitEvent = "open-htop-pane" })},
        --
        { key = "r", mods = "LEADER", action = wezterm.action({ ActivatePaneDirection = "Right" }) },
        { key = "l", mods = "LEADER", action = wezterm.action({ ActivatePaneDirection = "Left" }) },
        { key = "u", mods = "LEADER", action = wezterm.action({ ActivatePaneDirection = "Up" }) },
        { key = "d", mods = "LEADER", action = wezterm.action({ ActivatePaneDirection = "Down" }) },
        --
        { key = "c", mods = "LEADER", action = wezterm.action({ CopyTo = "Clipboard" }) },
        { key = "v", mods = "LEADER", action = wezterm.action({ PasteFrom = "Clipboard" }) },
        -- 
        -- https://github.com/wez/wezterm/issues/641
        { key = "q", mods = "LEADER", action = "ShowDebugOverlay" },
    },

.gitconfigの更新

まともに整備していなかったのですが、せっかくなのできちんと整備することにしました。
ユーザー情報は.gitconfig.localに切り出すようにしており、あとは色々な方のdotfilesを参考に試しつつ良さそうな設定を入れています。

他にも下記なども対応したいですが、使いつつ後追いで調整できればと思います。

  • zsh-autocompleteの導入
    • 下記のzennの記事を見て導入しようと思ってできていなかった
  • asdfの活用
  • etc...
    • (何かあった気がするけど忘れた)

zenn.dev

新年一発目のブログはこんな感じで失礼します。