Skip to content

About

My personal vim configuration.

Resources

Stars

6 stars

Watchers

1 watching

Forks

Latest commit

 

History

4,003 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vim-config

My personal vim configuration.

Rather than making the home directory a Git repository, clone the configuration into ~/.vim and link its entry points from home:

  1. If ~/.vim does not already exist, run git clone git@github.com:unphased/vim-config ~/.vim.

  2. Back up and remove any existing ~/.vimrc, ~/.zprofile, and ~/.zshrc.

  3. Create the links:

    cd ~
    ln -s .vim/.vimrc .vimrc
    ln -s .vim/zprofile .zprofile
    ln -s .vim/zshrc .zshrc

The tracked zprofile is the shell bootstrap anchor. On interactive login it warns if ~/.zshrc no longer resolves to ~/.vim/zshrc, which catches tools such as shell-framework installers replacing that link.

Herdr

Herdr configuration and local plugin sources are tracked here:

flowchart LR
    Config[~/.vim/herdr.toml] -->|symlink| Runtime[~/.config/herdr/config.toml]
    Plugins[~/.vim/herdr-plugins/] -->|make bootstrap-herdr| Registry[~/.config/herdr/plugins.json]
    Claude[Claude statusLine JSON] --> Reporter[~/util/pi/claude/herdr-claude-statusline.sh] --> Runtime
Loading

plugins.json is Herdr-generated registry state containing machine-specific absolute paths; do not track it. Bootstrap Herdr on a fresh machine with one idempotent command:

make -C ~/.vim bootstrap-herdr

This safely keeps any existing runtime config.toml, creates the symlink when it is absent, and registers every tracked herdr-plugins/*/herdr-plugin.toml. Herdr does not watch plugin manifests, so rerun that command after adding or changing one. Changes to linked implementation scripts apply on their next invocation.

Claude Code publishes its model, context pressure, and cumulative session tokens through the canonical harness in ~/util/pi/claude. Run ~/util/manage-skill-symlinks.sh install to apply that setup, including Herdr's profile-local hook, to every discovered Claude account directory.

Linux virtual terminal customization is tracked here too:

~/.vim/linux-vt-install.sh

The installer links the VT palette, adds guarded Bash/Zsh hooks, and installs the boot service. linux-vt-startup.sh is the separate runtime entry point: it applies the selected font, pastel palette, keymap, cursor, and blank/powerdown timing only when TERM=linux or when the boot service names a console. Both blanking and display powerdown default to five minutes and remain overridable through LINUX_VT_BLANK_MINUTES and LINUX_VT_POWERDOWN_MINUTES.

The installer also sets up the boot-time VT setup service by default. It applies the user files first, then asks sudo only for the systemd unit:

~/.vim/linux-vt-install.sh

Use --force only if an existing local ~/.config/tty-pastel file should be replaced by the tracked symlink. Use --no-systemd only when the system unit should be left untouched. The systemd install syncs a root-owned runtime copy into /etc/linux-vt so the unit does not execute scripts directly from the home directory.

Windows and Windows Terminal

Git Bash normally maps the Windows profile directory to its Unix-style home:

C:\Users\<user>  ==  /c/Users/<user>  ==  ~

That is expected for current Git for Windows. Clone this repository from Git Bash with:

git clone -c core.symlinks=true git@github.com:unphased/vim-config ~/.vim

Windows symlinks work on NTFS/ReFS, but Git for Windows does not enable them by default. Enable Windows Developer Mode before cloning so Git can create this repository's nvim/after and nvim/colors links without an elevated shell. Git Bash's ln -s is not a reliable way to create native Windows links; use cmd.exe /c mklink when a native link must be created manually.

Windows Terminal owns its settings.json under %LOCALAPPDATA%; it is not looked up from the Git Bash home directory. The exact Store-package paths are:

Stable:  %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json
Preview: %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminalPreview_8wekyb3d8bbwe\LocalState\settings.json
Canary:  %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminalCanary_8wekyb3d8bbwe\LocalState\settings.json

An unpackaged installation uses:

%LOCALAPPDATA%\Microsoft\Windows Terminal\settings.json

Start Windows Terminal once, then apply the portable settings from PowerShell:

& "$HOME\.vim\windowsTerminal\install.ps1"

If more than one Terminal edition is installed, select one explicitly:

& "$HOME\.vim\windowsTerminal\install.ps1" -Edition Stable

The installer backs up the live file and merges windowsTerminal/portable-settings.json into it. It deliberately preserves the machine's generated profiles and unrelated key bindings. The older windowsTerminal/settings.json, windowsTerminalPreview.settings.json, and default_windowsTerminalSettings.json files remain historical snapshots; do not copy them wholesale onto a current installation.

About

My personal vim configuration.

Resources

Stars

6 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages