Skip to content

rick516/dotfiles-v2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles-v2

概要

このリポジトリは、個人的に開発環境を素早く設定するための dotfilesです。 基本的にはMac前提で、zsh、Neovim、tmux などの設定を含み、複数のマシンで一貫した開発環境を維持するのが目的です。 割と使いやすくはなっていると思うのでご自由にお使いください。

特徴

  • 動的シンボリックリンク作成: dotfiles ディレクトリ内のファイルを自動的に検出し、適切なシンボリックリンクを作成
  • zsh:
    • prezto フレームワークを使用
    • powerline10k テーマによる視覚的に優れたプロンプト
    • カスタムエイリアスと関数
  • Neovim:
    • 最新の Lua ベースの設定
    • プラグインマネージャーとして Packer を使用
    • LSP、自動補完、ファジーファインダーなどの高度な機能
  • Ghostty + zellij:
    • モダンなターミナルエミュレータ (Ghostty) の設定
    • zellij によるターミナルマルチプレクサ(VSCode風レイアウト)
    • yazi ファイルマネージャー統合
    • git-dashboard: 複数リポジトリの状態一覧表示
  • tmux:
    • 効率的なターミナルマルチプレクサの設定
    • カスタムキーバインディング
    • マウスサポート
  • 簡単なインストールとアップデートプロセス

構造

./
├── .config/              # XDG準拠の設定
│   ├── ghostty/          # Ghosttyターミナル
│   ├── nvim/             # Neovim
│   ├── yazi/             # ファイルマネージャー
│   └── zellij/           # ターミナルマルチプレクサ
├── .local/bin/           # カスタムスクリプト
├── shell/                # シェル設定
│   ├── .zshrc, .zshenv   # zsh
│   ├── .zpreztorc        # prezto
│   ├── .p10k.zsh         # powerlevel10k
│   ├── .bashrc           # bash
│   └── .tmux.conf        # tmux
├── scripts/              # メンテナンススクリプト
│   ├── cleanup.sh
│   └── generate_gitconfig.sh
├── install.sh            # インストーラー(エントリーポイント)
└── aqua.yaml             # CLIツール定義

インストール

  1. このリポジトリをクローンします:

    git clone https://github.com/yourusername/dotfiles-v2.git ~/dotfiles
    cd ~/dotfiles
  2. インストールスクリプトを実行します:

    ./install.sh

    このスクリプトは以下の操作を行います:

    • dotfiles ディレクトリ内のファイルを自動的に検出し、適切なシンボリックリンクを作成
    • Neovim、prezto、fzf、powerline10k をインストール(まだインストールされていない場合)
    • Neovim プラグインをインストール
  3. 新しい zsh セッションを開始するか、以下のコマンドを実行します:

    source ~/.zshrc

使用方法

管理対象の追加

  1. 新しい設定ファイルを ~/dotfiles ディレクトリに追加します。
  2. ./install.sh を再度実行して、新しいファイルのシンボリックリンクを作成します。
  3. 各ツールの設定ファイルを直接編集してカスタマイズできます:
    • zsh: ~/.zshrc
    • Neovim: ~/.config/nvim/init.lua
    • tmux: ~/.tmux.conf

注意: README.md、install.sh、.gitignore などのファイルは自動的にシンボリックリンクの作成から除外されます。

zsh

  • カスタムエイリアスとファンクションは ~/.zshrc で定義されています。
  • prezto の設定は ~/.zpreztorc で行います。
  • プロンプトのカスタマイズは p10k configure コマンドで行えます。

Neovim

  • nvim コマンドで Neovim を起動します。
  • カスタムキーマッピング:
    • <Space> がリーダーキーとして設定されています。
    • <leader>ff: ファイル検索
    • <leader>fg: グレップ検索
    • その他のキーマッピングは ~/.config/nvim/init.lua を参照してください。
  • ヤンク(コピー)した内容は自動的にシステムクリップボードにコピーされます。
    • システムクリップボードの内容はNeovim内で直接ペースト可能です。
    • <leader>y: 選択したテキストをシステムクリップボードにヤンク
    • <leader>p: システムクリップボードの内容をペースト

注意: これらの機能はmacOSのpbcopyとpbpasteコマンドを利用しています。他のOSを使用している場合は、適切なクリップボードツールをインストールし、設定を調整する必要があります。

Ghostty + zellij

Ghosttyはモダンなターミナルエミュレータで、起動時に自動的にzellijがVSCode風レイアウトで起動します。

レイアウト構成(左25% / 右75%):

┌───────────┬───────────┬───────────┐
│   yazi    │           │           │
│  (files)  │ terminal  │ terminal  │
├───────────┼───────────┼───────────┤
│    git    │           │           │
│ dashboard │ terminal  │ terminal  │
└───────────┴───────────┴───────────┘

yaziでファイルを選択すると、フローティングペインでnvimが開きます。

主なキーバインド(macOSではAlt = Option):

  • Option+h/j/k/l: ペイン移動
  • Option+n: 新しいペイン
  • Option+f: フローティングペイン切替
  • Cmd+F: yaziファイルマネージャー起動
  • Cmd+H: チートシート表示
  • Ctrl+g: ロック/解除

git-dashboard:

  • 複数リポジトリの状態を一覧表示
  • 表示形式: リポジトリ名 ブランチ ステータス 同期状態
    • ステータス: clean / 3編集 / 2staged / 1new
    • 同期状態: ↑1 push可 / ↓2 pull必要
  • Enter: lazygitで詳細操作

tmux

  • tmux コマンドで新しいセッションを開始します。
  • 主なキーバインド:
    • プレフィックスキー: Ctrl-a
    • 新しいウィンドウ: Prefix + c
    • ウィンドウ分割(垂直): Prefix + v
    • ウィンドウ分割(水平): Prefix + h
    • ペイン移動: Alt + 矢印キー
    • ウィンドウ切り替え: Shift + 矢印キー
    • 設定リロード: Prefix + r

fzf + rgのファイル検索

  1. 基本的なファイル内容検索:

    fs 検索語
    

    現在のディレクトリとサブディレクトリ内のすべてのファイルから「検索語」を検索します。

  2. ファイルタイプを指定した検索:

    fst 検索語 ファイルタイプ
    

    例: fst "import" py (Pythonファイル内で "import" を検索)

  3. 大文字小文字を区別する検索:

    fsc "CamelCase"
    

検索結果は fzf インターフェースで表示され、選択したファイルは Neovim で開きます。

その他の fzf 機能

  • ディレクトリ移動: fcd コマンドを使用
  • コマンド履歴検索: Ctrl+R
  • ファイル検索: fzf コマンドを使用

Git認証の設定

GitHub CLIを使用した認証を推奨します:

# GitHub CLIのインストール(Homebrewで自動インストール済み)
brew install gh

# GitHub認証
gh auth login

認証時の選択肢:

  • GitHub.com を選択
  • HTTPS を選択
  • ブラウザで認証

これにより、gitの認証情報とユーザー情報が自動的に設定されます。

トラブルシューティング

  • 問題が発生した場合は、まず install.sh スクリプトを再実行してみてください。
  • Neovim のプラグインに問題がある場合は、Neovim 内で :PackerSync を実行してみてください。
  • tmux の設定が反映されない場合は、tmux 内で Prefix + r を押して設定をリロードしてください。
  • シンボリックリンクが正しく作成されない場合:
    • dotfiles ディレクトリ内のファイル権限を確認してください。
    • ホームディレクトリ内の既存ファイルをバックアップまたは削除してから、再度 install.sh を実行してください。

貢献

バグ報告、機能リクエスト、プルリクエストを歓迎します。大きな変更を加える前に、まずは Issue を開いて議論することをお勧めします。

ライセンス

このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルを参照してください。

About

ターミナル環境などを新環境で立ち上げる管理リポ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors