# 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.