Skip to content
ozashuPublic

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Repository files navigation

dotfiles

macOSとUbuntuで共通設定を利用し、OS固有の設定だけを個別に読み込みます。

セットアップ

設定ファイルのシンボリックリンクだけを作成します。

./setup.sh

パッケージとNeovimプラグインもインストールする場合は次を実行します。

./setup.sh --packages

macOSではHomebrewがインストール済みである必要があります。Brewfileと Brewfile.macosからNeovimを含むパッケージを導入します。Ubuntuでは packages/ubuntu.txtのパッケージに加え、Neovim公式のstableバイナリを /optへインストールします。x86_64とARM64に対応しています。 uvxはmacOSではHomebrew、Ubuntuではuv公式インストーラーから導入します。

Neovimの設定は~/.config/nvimへ、tmuxの設定は~/.tmux.confへ、 Herdrの設定は~/.config/herdrへリンクされます。初回セットアップ時に lazy.nvimと各プラグインが自動でインストールされます。

HerdrはmacOSではHomebrew、Ubuntuでは公式インストーラーを使って ~/.local/bin/herdrへ導入します。既存のHerdrがある場合、Ubuntuのセットアップは 上書きしません。直接インストール版の更新はherdr update、Homebrew版は brew upgrade herdrを使用してください。HerdrとCopilot CLIが利用可能な場合は、 両者のセッション連携も未導入時に自動でインストールします。

シェル設定はzsh/common.zsh、zsh/macos.zsh、zsh/ubuntu.zshに分かれています。 端末や会社固有の設定は、Git管理外の~/.zshrc.localと ~/.gitconfig.localへ記述できます。

Neovimのよく使う操作

<Leader>はSpaceキーです。

操作 キー/コマンド
ファイルツリーを開閉 Ctrl-n
現在のファイルをツリー内で表示 <Leader> e
ファイルを検索 <Leader> f f
ファイル内容を全文検索 <Leader> f g
開いているバッファを検索 <Leader> f b
ウィンドウ間を移動 Ctrl-h/j/k/l
ファイルを保存 / ウィンドウを閉じる <Leader> w / <Leader> q
定義 / 参照へ移動 gd / gr
シンボル名を変更 <Leader> r n
コードアクション / フォーマット <Leader> c a / <Leader> f m
診断を表示 / 前後へ移動 <Leader> d / [d / ]d
行コメントを切り替え gcc(範囲選択時はgc)
Git操作画面 :Git

入力中に補完候補が自動表示され、Ctrl-n/Ctrl-pで選択し、Enterで確定します。 Ctrl-Spaceで手動表示、Ctrl-eで候補を閉じられます。LSPによるコード補完に加え、 スニペット、パス、バッファ内の単語も補完できます。

以下の言語サーバーはMasonで自動インストールされ、対象のファイルを開くと起動します。 JavaScript/TypeScriptはJSX/TSX、JSONはJSONCにも対応しています。

言語 言語サーバー
Go gopls
Python pyright
YAML yaml-language-server
JSON / JSONC json-lsp
Rust rust-analyzer
Bash bash-language-server
JavaScript / TypeScript typescript-language-server

Neovim 0.11.3以降と、Node.js/npmが必要です。Node.jsは24以降を使用してください。 ./setup.sh --packagesでパッケージを導入できますが、Ubuntu標準のNode.jsやGoが 古い場合は、言語サーバーの要件を満たすバージョンへ別途更新してください。 初回起動時はネットワーク接続が必要です。:Masonでインストール完了を確認してから ファイルを開いてください。失敗した場合は:MasonLogで原因を確認できます。 GoやRustのプロジェクト解析には、それぞれ言語サーバーが対応するバージョンの Go、Rust/Cargoのツールチェーンも必要です。 Pythonの仮想環境は有効化してからNeovimを起動してください。 YAML/JSONのキーや値の補完はスキーマに応じて提供されます。独自スキーマを使う場合は、 YAMLでは# yaml-language-server: $schema=./schema.json、 JSONでは"$schema": "./schema.json"で指定できます。

プラグイン管理にはlazy.nvimを使用します。

操作 コマンド
管理画面を開く :Lazy
更新を確認 :Lazy check
全プラグインを更新 :Lazy update
不要なプラグインを削除 :Lazy clean
Neovim/LSPの状態を確認 :checkhealth / :LspInfo

tmuxのよく使う操作

プレフィックスキーはデフォルトのCtrl-bではなくCtrl-tです。以下の操作は、 特記がない限りCtrl-tを押して離してから次のキーを押します。

操作 キー
新しいウィンドウを作成 Ctrl-c
次のウィンドウへ移動 Ctrl-t
前後のウィンドウへ移動 Ctrl-h / Ctrl-l
ペインを左右に分割 i
ペインを上下に分割 v
ペイン間を移動 h / j / k / l
ペインをリサイズ H / J / K / L
全ペインへ同じ入力を送る / 解除 s / p
コピーモードを開始 [
選択開始 / コピー v / y
設定を再読み込み r

tmuxセッションの基本操作は、tmux new -s <名前>で作成、 Ctrl-t dでデタッチ、tmux lsで一覧、tmux attach -t <名前>で再接続です。

コピー&ペースト

マウスとコマンド操作の両方で、選択範囲をシステムのクリップボードへコピーできます (macOSはpbcopy、Linuxはwl-copyまたはxclip)。

  • マウス: ドラッグして範囲選択し、ボタンを離すと自動でコピーされます。 ダブルクリックで単語選択、トリプルクリックで行選択も同様に自動コピーされます。
  • コマンド: [でコピーモードに入り、vで選択開始、yまたはEnterでコピーします。
  • 貼り付けは通常のCmd-v(ターミナル側のペースト)を使用します。

Herdrのよく使う操作

Herdrはtmuxと同様にプロセスをバックグラウンドで維持しながら、AI coding agentの 状態をworkspace横断で表示できるmultiplexerです。プロジェクトのディレクトリで herdrを実行すると起動し、デタッチ後にもう一度herdrを実行すると再接続します。

プレフィックスはtmuxと同じCtrl-tです。以下はCtrl-tを押して離してから 次のキーを押します。

操作 キー
新しいタブを作成 Ctrl-c(またはc)
次のタブへ移動 Ctrl-t / Ctrl-l / n
前のタブへ移動 Ctrl-h / p
ペインを左右に分割 i
ペインを上下に分割 v
ペイン間を移動 h / j / k / l
ペインをリサイズ H / J / K / L
ペインを閉じる / ズーム x / z
コピーモードを開始 [
workspace一覧を開く w
新しいworkspaceを作成 N
サイドバーを開閉 b
設定を再読み込み r
デタッチ d(またはq)
有効なキー一覧を表示 ?

コピーモードもtmuxのvi操作に近く、h/j/k/lで移動、vで選択開始、 yでコピー、qで終了します。マウスでペイン選択、境界のドラッグ、 右クリックからの分割も可能です。tmuxの同期入力に相当する標準操作はないため、 複数agentへの作業依頼には後述のHerdr skillまたはCLIを使用します。

タブ右側には、現在時刻、アクティブなペインのGit branch、現在のKubernetes context/namespaceを表示します。Kubernetesへ接続していない場合やGit管理外では 該当項目を省略します。サイドバーのworkspace行にもGit branchとahead/behind、 agent行にはagent名とworking / blocked / done / idleの状態を表示します。

おすすめの使い方

  1. リポジトリごとにworkspaceを1つ作り、実装、テスト、ログ、agentを別ペインまたは タブに分けます。Ctrl-t wでプロジェクト間を移動すると、停止中のagentを 探し回らずに済みます。
  2. サイドバーのGit workspaceからworktreeを作成し、機能や修正ごとにagentの 作業ディレクトリを分離します。branchの衝突や未コミット変更の混在を避けられます。
  3. 長時間処理はデタッチして継続し、戻ったらagentの状態を確認します。マシン再起動後は レイアウトが復元され、対応agentはintegrationが記録したセッションを再開できます。
  4. SSH先も扱う場合はherdr --remote <host>を使います。時刻、hostname、 Kubernetes接続先はリモート側の値として表示されます。

Agent skillとintegration

Herdr内のcoding agentがペイン作成、コマンド実行、出力確認、他agentとの協調を 安全に行えるよう、公式skillのグローバル導入を推奨します。

npx skills add herdrdev/herdr --skill herdr -g

skillはHERDR_ENV=1のときだけHerdrを操作する安全策を含みます。プロジェクト単位で 導入する場合は-gを外してください。GitHub Copilot CLI用の公式integrationは setup.shが自動で導入します。手動で導入または状態確認する場合は次を実行します。

herdr integration install copilot
herdr integration status

Claude CodeやCodexなどを使う場合は、copilotをclaudeまたはcodexへ 置き換えます。設定変更後はherdr server reload-config、現在の全キー確認は Herdr内でCtrl-t ?を使用してください。

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages