screen / vim / zsh / tmux / Claude Code の設定ファイル集です。 フォントや個人的な作業ファイルなどを除いた、公開用の最小構成です。
.
├── screen/
│ └── .screenrc # GNU screen の設定 (現在は主に参考用、tmux.conf の元ネタ)
├── vim/
│ └── .vimrc # Vim 設定 (Vundle + Solarized + vim-airline)
├── zsh/
│ ├── .zshenv # compinitの二重実行を防ぐための設定 (skip_global_compinit)
│ ├── .zshrc # Oh My Zsh 設定 (テーマ: agnoster)
│ └── .zprofile # macOS 用 Homebrew/VSCode PATH 設定
├── tmux/
│ ├── .tmux.conf # tmux 設定 (screen 風キーバインド + ステータスバー)
│ └── scripts/ # ステータスバー用スクリプト (~/.tmux/scripts/ に配置)
│ ├── sysinfo.sh # CPU / メモリ / バッテリー使用率
│ ├── netspeed.sh # ネットワーク送受信速度 (常駐デーモン)
│ └── copy.sh # コピーモードの選択範囲を OS クリップボードへ
├── claude/
│ ├── settings.json # Claude Code 設定 (~/.claude/settings.json)
│ └── ccstatusline/ # ~/.config/ccstatusline/ に配置
│ ├── settings.json # ccstatusline のレイアウト定義
│ └── reset-time.sh # 使用量リセット時刻を表示するカスタムコマンド
└── install.sh # 上記をまとめて $HOME に配置するスクリプト
- zsh: Oh My Zsh がインストール済みであること(
$HOME/.oh-my-zshを前提にしています) - vim: Vundle を使ってプラグインを管理しています(
install.shが自動でクローンします) - tmux: 追加のプラグインマネージャは不要です
- Claude Code: ステータスラインに ccstatusline を使用しています(
npx経由で自動起動) - Powerline 対応フォント: zsh (agnoster), vim (vim-airline), tmux, ccstatusline がいずれも Powerline 風の記号・アイコンを使うため、ターミナルに Powerline 対応フォントを設定してください(詳細は後述)
未導入の場合は先に入れておきます。
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"インストーラーが ~/.zshrc を生成しますが、install.sh 実行時にこのリポジトリの .zshrc で上書きされます。既存の設定を残したい場合は事前にバックアップしてください。
このリポジトリにはフォントファイルは含まれていません(元は "Andale Mono for Powerline" を使用していましたが、ライセンス上の理由もあり同梱していません)。以下のいずれかで用意してください。
- Nerd Fonts から好きな書体(例:
Hack Nerd Font,MesloLGS NFなど)をダウンロードしてインストールし、ターミナルアプリのフォント設定で選択する ccstatuslineの設定 TUI にはフォントインストールを補助する機能もあります(後述の設定画面から実行可能)
フォントを設定しないと、agnoster テーマの矢印、vim-airline のセパレータ、tmux ステータスバーの区切り、ccstatusline のセパレータが文字化けします。
まとめて導入する場合:
git clone <このリポジトリ> ~/dotfiles-public
cd ~/dotfiles-public
./install.shinstall.sh は以下を行います。
- 各設定ファイルを対応する場所へコピー(
~/.screenrc,~/.vimrc,~/.tmux.conf,~/.zshenv,~/.zshrc,~/.zprofile,~/.claude/settings.json,~/.config/ccstatusline/*) ~/.tmux/scripts/にステータスバー用スクリプトを配置- Vundle をクローンし
vim +PluginInstall +qallでプラグインを導入 - Oh My Zsh のカスタムプラグイン(zsh-autosuggestions, zsh-syntax-highlighting)を未導入ならクローン
claude/settings.jsonのenabledPluginsを読み取り、claude plugin installで該当プラグインを導入
必要な部分だけ使いたい場合は、対応するディレクトリのファイルを個別にコピーしてください(実行権限が必要なスクリプトは chmod +x してください)。
Powerline 風の hardstatus / caption を表示する GNU screen 設定です。現在の主力は tmux 側ですが、tmux.conf の元になった設定として残しています。
- カラースキームは Solarized (dark)、ステータスラインは vim-airline
g:airline_powerline_fonts = 1により vim-airline が Powerline 風セパレータを描画します(Powerline フォントが必要)- インデントはスペース4つ、全角スペースをハイライト表示
- 保存時に行末の空白を自動トリム
- プラグイン管理は Vundle(
:PluginInstallで導入)
素の Vim にバンドルされている構文/インデントファイル (syntax/, indent/ 以下) はこのリポジトリには含めていません。通常の Vim インストールにすでに含まれているためです。
- Oh My Zsh +
agnosterテーマ(矢印セパレータの描画に Powerline フォントが必要) - プラグイン: git, docker, docker-compose, tmux, aws, gcloud, colored-man-pages, command-not-found, zsh-autosuggestions, zsh-syntax-highlighting
.zprofileは macOS 専用(Homebrew の shellenv と VSCode CLI の PATH 追加)- gcloud SDK のパスは
$HOME/google-cloud-sdkを想定しています。別の場所にインストールしている場合は.zshrc内のGCLOUD_SDK_PATHを調整してください .zshenvはskip_global_compinit=1を設定し、システム側の/etc/zsh/zshrcが呼ぶ compinit をスキップさせます。WSL環境でDocker Desktop連携がオフの場合に_docker補完のシンボリックリンクが壊れてcompinitがエラーになることがあるため、.zshrc側でfpathから当該ディレクトリを除外したうえで一度だけcompinitを実行しています
- プレフィックス(meta)キーはデフォルトの
C-bからC-aに変更しています(screen 互換)。以下のキーバインドはすべてC-aを押してから続けて入力します - vi キー(h/j/k/l)でペイン移動、コピーモードも vi 風
- マウスドラッグでの選択範囲を OS クリップボードへコピー(ローカルは
copy.sh経由、SSH 越しは OSC52 で手元端末のクリップボードへ転送) - Claude Code の Shift+Enter 改行や通知・プログレスバーが tmux 越しでも外側のターミナルまで届くように
allow-passthroughを設定(tmux 3.3 以降が対象。古い tmux では自動的にスキップします) - ステータスバーに ユーザー@ホスト / CPU・メモリ使用率 / ネットワーク速度 / バッテリー / 日時 を表示(
sysinfo.sh,netspeed.shを使用) - ステータスバーの区切りは Powerline 風に色のグラデーションで表現しています(矢印記号自体は使っていないため、こちらは Powerline フォント無しでも表示崩れしません)
- macOS / Linux / WSL のいずれでも動作するように分岐しています
| キー | 動作 |
|---|---|
C-a | |
ペインを左右に分割(カレントディレクトリを引き継ぐ) |
C-a S |
ペインを上下に分割(カレントディレクトリを引き継ぐ) |
C-a = |
レイアウトを均等(左右)に整列 |
C-a + |
レイアウトを均等(上下)に整列 |
C-a h / j / k / l |
ペイン移動(左 / 下 / 上 / 右) |
C-a Tab / C-a BTab |
次 / 前のペインへフォーカス移動 |
C-a w |
ウィンドウ一覧(choose-tree)を表示 |
C-a a |
シェルへ C-a を送信(readline の行頭移動。prefix に奪われた C-a の代用) |
C-a e |
シェルへ C-e を送信(readline の行末移動) |
C-a r |
~/.tmux.conf を再読み込み |
| マウスドラッグで選択 | 選択範囲を離した瞬間に OS クリップボードへコピー(コピーモードは終了) |
ペインを閉じた際は自動で均等割りに再レイアウトされます(pane-exited フック)。デフォルトの分割キー(" / %)は無効化しているので、上記の | / S を使ってください。
| 通常時 | C-a 押下中 |
|---|---|
![]() |
![]() |
C-a(プレフィックスキー)を押すと、次のキー入力を待っている間だけステータスバー全体が赤くなります。screenの「コマンド入力待ち(%Eなど)」の表示を再現したもので、client_prefix という tmux の組み込み変数を使って背景色を切り替えています(.tmux.conf の status-style 設定)。プレフィックスキーが正しく送られているか一目で分かるほか、C-a を押したまま次のキーを忘れてしまった場合の目印にもなります。
settings.json: フルスクリーン TUI、ダークテーマ、ステータスラインにccstatuslineを使用、有効化するプラグイン一覧ccstatusline/settings.json: カレントディレクトリ・セッションID・モデル名・コンテキスト使用量・週間使用量などを表示する Powerline 風レイアウト定義(テーマ:solarized)ccstatusline/reset-time.sh: ccstatusline のキャッシュ (~/.cache/ccstatusline/usage.json) から使用量リセット時刻を算出して表示するカスタムコマンド。タイムゾーンはスクリプト内のTZ_NAME(Asia/Tokyo) で変更できます
~/.config/ccstatusline/settings.json を直接編集する代わりに、対話式の設定 TUI を使ってレイアウトやテーマを調整できます。
npx -y ccstatusline@latest
# もしくは (Bun を使っている場合)
bunx -y ccstatusline@latestClaude Code のセッション中でなく、ターミナルで直接実行してください(settings.json の statusLine.command に設定されているのと同じコマンドですが、Claude Code から呼ばれたときは標準入力でステータス情報を受け取るだけの表示モードになり、引数なし・対話端末で実行したときだけ設定 TUI が開きます)。TUI からは表示するセグメントの追加・並び替え・配色・Powerline セパレータの種類変更に加えて、Powerline フォントのインストール補助も行えます。設定はそのまま ~/.config/ccstatusline/settings.json に保存されます。


