Files
drunkendotfiles/.tmux.conf
T
dissimulo 4fa6f90a9e Strip vim entirely; EDITOR is nano
dissimulo does not use vim. Removes the editor, its config tree, its plugin
manager, and everything that would reinstall it on a re-bootstrap.

Deleted (82 files):
  vim/ (64)          the whole config tree, 1.7M
  doc/vim/ (8)       its documentation
  .vimrc, vimrc, .vim
  bin/yadr/vundle.rb, yadr-vim-{add,delete,list}-plugin
  bin/fix_macvim_external_display.sh   MacVim on macOS, dead here anyway
  vimify/            vi keybindings for readline/libedit, dropped on request

Edited:
  Rakefile        drop the vundle require, the vim install block, the
                  vundle_migration and install_vundle tasks, their two helper
                  methods, and the macvim homebrew line. Without this a
                  re-bootstrap would pull all of it straight back.
  install.sh      .vim/.vimrc out of the symlink list
  zsh/vi-mode.zsh EDITOR/VISUAL now nano. The zsh vi keybindings stay; they
                  are not vim.
  zsh/aliases.zsh yav/ydv/ylv, the MacVim detection block and ve removed;
                  ae/ze/gi now open nano
  git/gitconfig   mvimdiff mergetool removed, editor set to nano
  .tmux.conf      vim-tmux-navigator replaced with direct select-pane binds.
                  It ran ps piped to grep on EVERY C-h/j/k/l press to ask
                  whether vim held the pane: two forks per pane switch for a
                  question that can now only answer no. mode-keys and
                  status-keys vi stay, being tmux own key style, unrelated to
                  the editor.
  .gitignore/.dockerignore/Dockerfile   dead paths and the vim package

Also renames the installer banner to DRUNKENDOTFILES, piped through lolcat
when present with a plain-text fallback.

Left alone: the .yadr paths (renaming the checkout is a separate job), generic
swap-file ignores, the fasd viminfo support (third-party), and prose mentions.
2026-08-25 12:22:43 -07:00

112 lines
3.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Ring the bell if any background window rang a bell
set -g bell-action any
# Default termtype. If the rcfile sets $TERM, that overrides this value.
set -g default-terminal "tmux-256color"
# Truecolor + clipboard passthrough for outer terminals that advertise RGB
# (covers xterm-*, alacritty, kitty, wezterm, iTerm, ghostty, modern Apple Terminal).
set -ga terminal-features ",xterm-256color:RGB"
set -ga terminal-features ",alacritty:RGB"
set -ga terminal-features ",kitty:RGB"
set -ga terminal-features ",wezterm:RGB"
set -ga terminal-features ",ghostty:RGB"
set -ga terminal-features ",screen-256color:RGB"
# TUI apps (Claude Code, nvim, etc.) want focus events so they can redraw
# / refresh state when the pane regains focus.
set -g focus-events on
# Keep your finger on ctrl, or don't
bind-key ^D detach-client
# Create splits and vertical splits
bind-key v split-window -h -p 50 -c "#{pane_current_path}"
bind-key ^V split-window -h -p 50 -c "#{pane_current_path}"
bind-key s split-window -p 50 -c "#{pane_current_path}"
bind-key ^S split-window -p 50 -c "#{pane_current_path}"
# Pane resize in all four directions using vi bindings.
# Can use these raw but I map them to shift-ctrl-<h,j,k,l> in iTerm.
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# Direct pane switching. This used to be vim-tmux-navigator, which ran
# `ps | grep` on EVERY C-h/j/k/l press just to ask whether vim was in the
# pane. vim is gone, so the probe can only ever answer no -- two forks per
# pane switch for nothing.
bind-key -n 'C-h' select-pane -L
bind-key -n 'C-j' select-pane -D
bind-key -n 'C-k' select-pane -U
bind-key -n 'C-l' select-pane -R
bind-key -n 'C-\' select-pane -l
bind-key -T copy-mode-vi 'C-h' select-pane -L
bind-key -T copy-mode-vi 'C-j' select-pane -D
bind-key -T copy-mode-vi 'C-k' select-pane -U
bind-key -T copy-mode-vi 'C-l' select-pane -R
bind-key -T copy-mode-vi 'C-\' select-pane -l
# Use vi keybindings for tmux commandline input.
# Note that to get command mode you need to hit ESC twice...
set -g status-keys vi
# Use vi keybindings in copy and choice modes
setw -g mode-keys vi
# easily toggle synchronization (mnemonic: e is for echo)
# sends input to all panes in a given window.
bind e setw synchronize-panes on
bind E setw synchronize-panes off
# set first window to index 1 (not 0) to map more to the keyboard layout...
set-option -g base-index 1
set-window-option -g pane-base-index 1
set-window-option -g mouse on
# color scheme (styled as vim-powerline)
set -g status-left-length 451
set -g status-right-length 451
set -g status-style fg=white,bg=colour234
set -g pane-border-style fg=colour245
set -g pane-active-border-style fg=colour39
set -g message-style fg=colour16,bg=colour221,bold
set -g status-left '#[fg=colour235,bg=colour252,bold] ❐ #S #[fg=colour252,bg=colour238,nobold]#[fg=colour245,bg=colour238,bold] #(whoami) '
set -g status-right '#[bold][#[nobold,fg=colour229]#h#[fg=default] / #[fg=colour229]#(~/.local/bin/tmux-net)#[fg=default,bold]]#[nobold,fg=colour255] %-I:%M%P %d-%b-%Y '
set -g window-status-format ' #I:#W '
set -g window-status-current-format ' [#I:#W] '
set-option -g status-interval 60
# Patch for OS X pbpaste and pbcopy under tmux.
set-option -g default-command "which reattach-to-user-namespace > /dev/null && reattach-to-user-namespace -l $SHELL || $SHELL"
# Screen like binding
unbind C-b
set -g prefix C-a
bind a send-prefix
# No escape time for vi mode
set -sg escape-time 0
# Screen like binding for last window
unbind l
bind C-a last-window
# Bigger history
set -g history-limit 80000
# New windows/pane in $PWD
bind c new-window -c "#{pane_current_path}"
# Fix key bindings broken in tmux 2.1
set -g assume-paste-time 0
# force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf \; display "Reloaded!"
# Local config
if-shell "[ -f ~/.tmux.conf.user ]" 'source ~/.tmux.conf.user'