Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles (public)

screenshot

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 対応フォントを設定してください(詳細は後述)

事前準備

Oh My Zsh のインストール

未導入の場合は先に入れておきます。

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

インストーラーが ~/.zshrc を生成しますが、install.sh 実行時にこのリポジトリの .zshrc で上書きされます。既存の設定を残したい場合は事前にバックアップしてください。

Powerline フォントのインストール

このリポジトリにはフォントファイルは含まれていません(元は "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.sh

install.sh は以下を行います。

  1. 各設定ファイルを対応する場所へコピー(~/.screenrc, ~/.vimrc, ~/.tmux.conf, ~/.zshenv, ~/.zshrc, ~/.zprofile, ~/.claude/settings.json, ~/.config/ccstatusline/*
  2. ~/.tmux/scripts/ にステータスバー用スクリプトを配置
  3. Vundle をクローンし vim +PluginInstall +qall でプラグインを導入
  4. Oh My Zsh のカスタムプラグイン(zsh-autosuggestions, zsh-syntax-highlighting)を未導入ならクローン
  5. claude/settings.jsonenabledPlugins を読み取り、claude plugin install で該当プラグインを導入

必要な部分だけ使いたい場合は、対応するディレクトリのファイルを個別にコピーしてください(実行権限が必要なスクリプトは chmod +x してください)。

各設定の概要

screen (screen/.screenrc)

Powerline 風の hardstatus / caption を表示する GNU screen 設定です。現在の主力は tmux 側ですが、tmux.conf の元になった設定として残しています。

vim (vim/.vimrc)

  • カラースキームは Solarized (dark)、ステータスラインは vim-airline
  • g:airline_powerline_fonts = 1 により vim-airline が Powerline 風セパレータを描画します(Powerline フォントが必要)
  • インデントはスペース4つ、全角スペースをハイライト表示
  • 保存時に行末の空白を自動トリム
  • プラグイン管理は Vundle(:PluginInstall で導入)

素の Vim にバンドルされている構文/インデントファイル (syntax/, indent/ 以下) はこのリポジトリには含めていません。通常の Vim インストールにすでに含まれているためです。

zsh (zsh/.zshenv, zsh/.zshrc, zsh/.zprofile)

  • 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 を調整してください
  • .zshenvskip_global_compinit=1 を設定し、システム側の /etc/zsh/zshrc が呼ぶ compinit をスキップさせます。WSL環境でDocker Desktop連携がオフの場合に _docker 補完のシンボリックリンクが壊れてcompinitがエラーになることがあるため、.zshrc 側でfpathから当該ディレクトリを除外したうえで一度だけcompinitを実行しています

tmux (tmux/.tmux.conf, tmux/scripts/)

  • プレフィックス(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 | ペインを左右に分割(カレントディレクトリを引き継ぐ)
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押下中の赤いステータスバー

C-a(プレフィックスキー)を押すと、次のキー入力を待っている間だけステータスバー全体が赤くなります。screenの「コマンド入力待ち(%Eなど)」の表示を再現したもので、client_prefix という tmux の組み込み変数を使って背景色を切り替えています(.tmux.confstatus-style 設定)。プレフィックスキーが正しく送られているか一目で分かるほか、C-a を押したまま次のキーを忘れてしまった場合の目印にもなります。

claude (claude/settings.json, claude/ccstatusline/)

  • settings.json: フルスクリーン TUI、ダークテーマ、ステータスラインに ccstatusline を使用、有効化するプラグイン一覧
  • ccstatusline/settings.json: カレントディレクトリ・セッションID・モデル名・コンテキスト使用量・週間使用量などを表示する Powerline 風レイアウト定義(テーマ: solarized
  • ccstatusline/reset-time.sh: ccstatusline のキャッシュ (~/.cache/ccstatusline/usage.json) から使用量リセット時刻を算出して表示するカスタムコマンド。タイムゾーンはスクリプト内の TZ_NAME (Asia/Tokyo) で変更できます

ccstatusline の設定画面の出し方

~/.config/ccstatusline/settings.json を直接編集する代わりに、対話式の設定 TUI を使ってレイアウトやテーマを調整できます。

npx -y ccstatusline@latest
# もしくは (Bun を使っている場合)
bunx -y ccstatusline@latest

Claude Code のセッション中でなく、ターミナルで直接実行してください(settings.jsonstatusLine.command に設定されているのと同じコマンドですが、Claude Code から呼ばれたときは標準入力でステータス情報を受け取るだけの表示モードになり、引数なし・対話端末で実行したときだけ設定 TUI が開きます)。TUI からは表示するセグメントの追加・並び替え・配色・Powerline セパレータの種類変更に加えて、Powerline フォントのインストール補助も行えます。設定はそのまま ~/.config/ccstatusline/settings.json に保存されます。

ライセンス

MIT License

About

FL1NEが使っているdotfiles (tmux, vim, claude codeなど)の設定ファイルを公開してます

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages