78 lines
1.6 KiB
Markdown
78 lines
1.6 KiB
Markdown
# Dotfiles
|
|
|
|
Focused Vim 9, Bash, and tmux configuration for Linux, WSL, and macOS. The
|
|
Windows installer manages the same Vim configuration.
|
|
|
|
## Requirements
|
|
|
|
- Git
|
|
- Vim 9 or newer
|
|
- `curl` for the Unix installer
|
|
- Optional: tmux, zoxide, ripgrep, and a Nerd Font
|
|
|
|
## Install
|
|
|
|
Clone the repository, then install all components:
|
|
|
|
```bash
|
|
git clone https://github.com/Donaldttt/dotfiles.git ~/.dotfiles
|
|
~/.dotfiles/install.sh
|
|
```
|
|
|
|
Components can be installed independently and combined:
|
|
|
|
```bash
|
|
~/.dotfiles/install.sh vim
|
|
~/.dotfiles/install.sh shell tmux
|
|
```
|
|
|
|
The installer backs up conflicting files, creates managed links, and installs
|
|
Vim plugins and TPM. It never updates an existing repository automatically and
|
|
does not install zoxide; if zoxide is already available, the managed Bash block
|
|
initializes it.
|
|
|
|
On Windows, clone the repository and run:
|
|
|
|
```powershell
|
|
python .\win-install.py
|
|
```
|
|
|
|
## Vim
|
|
|
|
The Vim setup includes Fuzzbox and NERDTree navigation, Fugitive and GitGutter,
|
|
Startify, a compact global statusline, and five color schemes.
|
|
|
|
Useful mappings use `,` as the leader key:
|
|
|
|
- `,ff`: files
|
|
- `,fg`: text search
|
|
- `,e`: NERDTree
|
|
- `,cbg`: light/dark mode
|
|
- `,ctb`: transparency
|
|
- `:FuzzyColors`: choose a color scheme
|
|
|
|
Plugin maintenance is explicit:
|
|
|
|
```vim
|
|
:PlugUpdate
|
|
:PlugClean
|
|
```
|
|
|
|
## Update and uninstall
|
|
|
|
Update safely from a clean worktree:
|
|
|
|
```bash
|
|
git -C ~/.dotfiles pull --ff-only
|
|
~/.dotfiles/install.sh
|
|
```
|
|
|
|
To remove managed links and the managed Bash block:
|
|
|
|
```bash
|
|
~/.dotfiles/uninstall.sh
|
|
```
|
|
|
|
Uninstalling intentionally retains the repository, backups, Vim data/plugins,
|
|
and TPM so user data is never removed implicitly.
|