tmux サーバが握り続ける状態とエラーなしに通るコマンド

結論 tmux のキーバインド・オプション・@ 変数・環境変数はサーバのメモリにある。.tmux.conf はサーバ起動時に 1 回流すコマンド列で、行を消して source-file しても登録済みのものは消えない ペイン・popup・run-shell・if-shell のプロセスは、操作中のシェルではなくサーバの環境を継承する。後から足した PATH は届かず、if-shell 'command -v ...' は偽になってブロックを警告なしに捨てる popup とコマンド付きのペインのシェルは非ログイン・非対話で、zsh なら .zshenv しか読まない 存在しない -c のパス、解決できない display-message -t、. や : を含むセッション名は、どれもその場ではエラーにならない (終了コード 0)。ずれは後で別の場所に出る 確かめるときは -L <名前> -f /dev/null で隔離したサーバを使う。-L だけだと ~/.tmux.conf を読む 以下は tmux 3.7c / zsh 5.9.2 で実測した。コード例はすべて -L demo の使い捨てサーバに対して打つので、普段のサーバには触れない。 前提: tmux コマンドはサーバへの依頼でしかない tmux はクライアント・サーバ型になっている。端末で打つ tmux ... はクライアントで、ソケット越しにサーバへコマンドを送って終わる。 キーバインド・オプション・セッション・環境変数はサーバのメモリにあり、サーバが終わるまで残る。 .tmux.conf を読むのはサーバの起動時だけ。新しいセッションを作っても読み直さない。source-file は書かれたコマンドをもう 1 度流すだけ ペイン・popup・run-shell・if-shell のプロセスを起動するのはサーバ。操作中のシェルの子ではない 以下の罠は、どれもこの 2 点のどちらかから来る。 ...

2026-10-02 ·  2026-10-02 · 6 分 · 1271 文字

VIMの外部で変更されたファイルの自動読み込み設定が効いていない問題を解決した(ようやく手をつけた)

長らく放置していた以下の問題 vimでファイルを開いている際に、裏で IntelliJ Idea や、 VSCode やらで編集しても自動再リロードがかからない 以下の設定をしていた。 " 元のファイルの変更を Vim が検知し、かつバッファが変更されていなかった場合、バッファは自動的に再読み込み set autoread もう少し処理を足して checktime を自動発行すればよいことがわかったので、以下を追加したけど動作しなかった " 以下タイミングで、checktime を実行 " WinEnter: ウィンドウがアクティブになった時 " FocusGained: ウィンドウがアクティブになった時 " BufEnter: バッファがアクティブになった時 augroup auto-checktime autocmd! autocmd WinEnter,FocusGained,BufEnter * checktime augroup END 色々調べるうちに FocusGained イベントが発行されていない事を確認 イベントが発行されない原因を調査中以下コメントを発見 Feature: neovim/vim does not always trigger FocusLost/FocusGained when a client is detached/attached respectively · Issue #2856 · tmux/tmux Tmux のフォーカスイベント検知設定を有効にしてなかった。 以下を tmux.conf についかして無事解決 tmux.conf set-option -g focus-events on Refs vim-jp » Hack #234: Vim外にいるときはVimを透けさせる

2023-05-16 ·  2023-09-22 · 1 分 · 76 文字