Skip to content

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

Notifications You must be signed in to change notification settings

rick516/dotfiles-v2

Repository files navigation

dotfiles-v2

概要

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

特徴

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

インストール

  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を使用している場合は、適切なクリップボードツールをインストールし、設定を調整する必要があります。

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 コマンドを使用

.gitconfigの生成

.gitconfigファイルは、セキュリティ上の理由から直接リポジトリに含まれていません。代わりに、以下の方法で生成されます:

  1. .gitconfig_template ファイルがリポジトリに含まれています。
  2. generate_gitconfig.sh スクリプトが、このテンプレートを基に .gitconfig を生成します。
  3. install.sh の実行中に generate_gitconfig.sh が呼び出されます。

新しい環境でセットアップする際:

  • スクリプトの実行中、Git のユーザー名とメールアドレスの入力を求められます。
  • 生成された .gitconfig は $HOME ディレクトリに配置されます。

既存の .gitconfig がある場合、この処理はスキップされます。必要に応じて手動で .gitconfig を編集してください。

.gitconfigを再生成したい場合は、以下のコマンドを実行できます:

./generate_gitconfig.sh

これにより、既存の .gitconfig が上書きされますので、注意してください。

トラブルシューティング

  • 問題が発生した場合は、まず 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

No packages published