117 lines
3.1 KiB
Markdown
117 lines
3.1 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
|
|
- Python 3 (Windows installer)
|
|
- Optional: tmux, zoxide, ripgrep, and a Nerd Font
|
|
|
|
## Install
|
|
|
|
### Linux, WSL, and macOS (Bash)
|
|
|
|
Clone the repository, then install all components:
|
|
|
|
```bash
|
|
git clone https://git.justconn.top/gitea-admin/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. It does not install zoxide; if zoxide is already available, the
|
|
managed Bash block initializes it.
|
|
|
|
### Windows (PowerShell)
|
|
|
|
Install Git, Python 3, and [Vim for Windows](https://www.vim.org/download.php)
|
|
first. Include the console version (`vim.exe`) and add each program's directory
|
|
to PATH. Open a new PowerShell window and verify:
|
|
|
|
```powershell
|
|
git --version
|
|
python --version
|
|
vim --version
|
|
```
|
|
|
|
Vim must be version 9 or newer. If a command is not recognized, fix its
|
|
installation or PATH before continuing. If Python is available through the
|
|
`py` launcher instead, use `py -3` in place of `python` below.
|
|
|
|
Clone into your user directory, then run the Windows installer:
|
|
|
|
```powershell
|
|
git clone https://git.justconn.top/gitea-admin/dotfiles.git "$HOME\.dotfiles"
|
|
python "$HOME\.dotfiles\win-install.py"
|
|
```
|
|
|
|
After installation, run `vim` in your terminal or open `gvim` for the graphical
|
|
editor. The configuration is loaded through `$HOME\_vimrc`; plugins are stored
|
|
in `$HOME\vimfiles`. Keep Git on PATH for plugin updates and Git-based file search.
|
|
The installer downloads plugins from GitHub, so that host must be reachable.
|
|
|
|
Use `$HOME` explicitly in PowerShell: `~` passed to external commands such as
|
|
Git may be treated as a literal directory name instead of your user directory.
|
|
In Command Prompt (CMD), use `%USERPROFILE%` instead:
|
|
|
|
```cmd
|
|
git clone https://git.justconn.top/gitea-admin/dotfiles.git "%USERPROFILE%\.dotfiles"
|
|
python "%USERPROFILE%\.dotfiles\win-install.py"
|
|
```
|
|
|
|
## Vim
|
|
|
|
The Vim setup includes Fuzzbox and NERDTree navigation, Startify, a compact
|
|
global statusline, and three 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
|
|
|
|
On Linux, WSL, and macOS, update safely from a clean worktree:
|
|
|
|
```bash
|
|
git -C ~/.dotfiles pull --ff-only
|
|
~/.dotfiles/install.sh
|
|
```
|
|
|
|
On Windows, update from a clean worktree in PowerShell:
|
|
|
|
```powershell
|
|
git -C "$HOME\.dotfiles" pull --ff-only
|
|
python "$HOME\.dotfiles\win-install.py"
|
|
```
|
|
|
|
On Linux, WSL, and macOS, remove managed links and the managed Bash block with:
|
|
|
|
```bash
|
|
~/.dotfiles/install.sh uninstall
|
|
```
|
|
|
|
Uninstalling intentionally retains the repository, backups, and Vim
|
|
data/plugins so user data is never removed implicitly.
|