このリポジトリは、個人的に開発環境を素早く設定するための dotfilesです。 基本的にはMac前提で、zsh、Neovim、tmux などの設定を含み、複数のマシンで一貫した開発環境を維持するのが目的です。 割と使いやすくはなっていると思うのでご自由にお使いください。
- 動的シンボリックリンク作成: dotfiles ディレクトリ内のファイルを自動的に検出し、適切なシンボリックリンクを作成
- zsh:
- prezto フレームワークを使用
- powerline10k テーマによる視覚的に優れたプロンプト
- カスタムエイリアスと関数
- Neovim:
- 最新の Lua ベースの設定
- プラグインマネージャーとして Packer を使用
- LSP、自動補完、ファジーファインダーなどの高度な機能
- tmux:
- 効率的なターミナルマルチプレクサの設定
- カスタムキーバインディング
- マウスサポート
- 簡単なインストールとアップデートプロセス
-
このリポジトリをクローンします:
git clone https://github.com/yourusername/dotfiles-v2.git ~/dotfiles cd ~/dotfiles
-
インストールスクリプトを実行します:
./install.sh
このスクリプトは以下の操作を行います:
- dotfiles ディレクトリ内のファイルを自動的に検出し、適切なシンボリックリンクを作成
- Neovim、prezto、fzf、powerline10k をインストール(まだインストールされていない場合)
- Neovim プラグインをインストール
-
新しい zsh セッションを開始するか、以下のコマンドを実行します:
source ~/.zshrc
- 新しい設定ファイルを
~/dotfiles
ディレクトリに追加します。 ./install.sh
を再度実行して、新しいファイルのシンボリックリンクを作成します。- 各ツールの設定ファイルを直接編集してカスタマイズできます:
- zsh:
~/.zshrc
- Neovim:
~/.config/nvim/init.lua
- tmux:
~/.tmux.conf
- zsh:
注意: README.md、install.sh、.gitignore などのファイルは自動的にシンボリックリンクの作成から除外されます。
- カスタムエイリアスとファンクションは
~/.zshrc
で定義されています。 - prezto の設定は
~/.zpreztorc
で行います。 - プロンプトのカスタマイズは
p10k configure
コマンドで行えます。
nvim
コマンドで Neovim を起動します。- カスタムキーマッピング:
<Space>
がリーダーキーとして設定されています。<leader>ff
: ファイル検索<leader>fg
: グレップ検索- その他のキーマッピングは
~/.config/nvim/init.lua
を参照してください。
- ヤンク(コピー)した内容は自動的にシステムクリップボードにコピーされます。
- システムクリップボードの内容はNeovim内で直接ペースト可能です。
<leader>y
: 選択したテキストをシステムクリップボードにヤンク<leader>p
: システムクリップボードの内容をペースト
注意: これらの機能はmacOSのpbcopyとpbpasteコマンドを利用しています。他のOSを使用している場合は、適切なクリップボードツールをインストールし、設定を調整する必要があります。
tmux
コマンドで新しいセッションを開始します。- 主なキーバインド:
- プレフィックスキー:
Ctrl-a
- 新しいウィンドウ:
Prefix + c
- ウィンドウ分割(垂直):
Prefix + v
- ウィンドウ分割(水平):
Prefix + h
- ペイン移動:
Alt + 矢印キー
- ウィンドウ切り替え:
Shift + 矢印キー
- 設定リロード:
Prefix + r
- プレフィックスキー:
-
基本的なファイル内容検索:
fs 検索語
現在のディレクトリとサブディレクトリ内のすべてのファイルから「検索語」を検索します。
-
ファイルタイプを指定した検索:
fst 検索語 ファイルタイプ
例:
fst "import" py
(Pythonファイル内で "import" を検索) -
大文字小文字を区別する検索:
fsc "CamelCase"
検索結果は fzf インターフェースで表示され、選択したファイルは Neovim で開きます。
- ディレクトリ移動:
fcd
コマンドを使用 - コマンド履歴検索:
Ctrl+R
- ファイル検索:
fzf
コマンドを使用
.gitconfigファイルは、セキュリティ上の理由から直接リポジトリに含まれていません。代わりに、以下の方法で生成されます:
.gitconfig_template
ファイルがリポジトリに含まれています。generate_gitconfig.sh
スクリプトが、このテンプレートを基に .gitconfig を生成します。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 ファイルを参照してください。