diff --git a/alacritty/.alacritty.toml.symlink b/alacritty/.alacritty.toml.symlink new file mode 100644 index 0000000..d35929f --- /dev/null +++ b/alacritty/.alacritty.toml.symlink @@ -0,0 +1,56 @@ +# vim:set ft=toml : + +import = [ + '~/dotfiles/alacritty/catppuccin-mocha.toml' +] + +[env] + TERM = 'alacritty' + +[window] + dynamic_padding = true + decorations_theme_variant = 'Dark' + option_as_alt = 'OnlyLeft' + +[font] + normal = { family = 'FiraCode Nerd Font', style = 'Regular' } + size = 14 + +[cursor] + style = { shape = 'Underline', blinking = 'Off' } + +[keyboard] + bindings = [ + ## TMUX BINDINGS ## + + # Split panes. + { key = '-', mods = 'Command', chars = "\u0001\u002D" }, + { key = '\', mods = 'Command|Shift', chars = "\u0001\u007C" }, + { key = '\', mods = 'Command', chars = "\u0001\u005C" }, + + # Switch panes. + { key = 'h', mods = 'Command', chars = "\u0001\u0068" }, + { key = 'j', mods = 'Command', chars = "\u0001\u006A" }, + { key = 'k', mods = 'Command', chars = "\u0001\u006B" }, + { key = 'l', mods = 'Command', chars = "\u0001\u006C" }, + + # Resize panes. + { key = 'h', mods = 'Command|Alt', chars = "\u0001\u001B\u0068" }, + { key = 'j', mods = 'Command|Alt', chars = "\u0001\u001B\u006A" }, + { key = 'k', mods = 'Command|Alt', chars = "\u0001\u001B\u006B" }, + { key = 'l', mods = 'Command|Alt', chars = "\u0001\u001B\u006C" }, + + # Close panes. + { key = 'x', mods = 'Command', chars = "\u0001\u0078" }, + + # Switch windows. + { key = 'h', mods = 'Command|Control', chars = "\u0001\u001B\u005B\u0043" }, + { key = 'l', mods = 'Command|Control', chars = "\u0001\u001B\u005B\u0044" }, + + # Install plugins. + { key = 'i', mods = 'Command|Shift', chars = "\u0001\u0049" }, + + # Reload config. + { key = 'r', mods = 'Command', chars = "\u0001\u0072"}, +] + diff --git a/alacritty/catppuccin-mocha.toml b/alacritty/catppuccin-mocha.toml new file mode 100644 index 0000000..1dfe857 --- /dev/null +++ b/alacritty/catppuccin-mocha.toml @@ -0,0 +1,75 @@ +[colors.primary] +background = "#1E1E2E" +foreground = "#CDD6F4" +dim_foreground = "#CDD6F4" +bright_foreground = "#CDD6F4" + +[colors.cursor] +text = "#1E1E2E" +cursor = "#F5E0DC" + +[colors.vi_mode_cursor] +text = "#1E1E2E" +cursor = "#B4BEFE" + +[colors.search.matches] +foreground = "#1E1E2E" +background = "#A6ADC8" + +[colors.search.focused_match] +foreground = "#1E1E2E" +background = "#A6E3A1" + +[colors.footer_bar] +foreground = "#1E1E2E" +background = "#A6ADC8" + +[colors.hints.start] +foreground = "#1E1E2E" +background = "#F9E2AF" + +[colors.hints.end] +foreground = "#1E1E2E" +background = "#A6ADC8" + +[colors.selection] +text = "#1E1E2E" +background = "#F5E0DC" + +[colors.normal] +black = "#45475A" +red = "#F38BA8" +green = "#A6E3A1" +yellow = "#F9E2AF" +blue = "#89B4FA" +magenta = "#F5C2E7" +cyan = "#94E2D5" +white = "#BAC2DE" + +[colors.bright] +black = "#585B70" +red = "#F38BA8" +green = "#A6E3A1" +yellow = "#F9E2AF" +blue = "#89B4FA" +magenta = "#F5C2E7" +cyan = "#94E2D5" +white = "#A6ADC8" + +[colors.dim] +black = "#45475A" +red = "#F38BA8" +green = "#A6E3A1" +yellow = "#F9E2AF" +blue = "#89B4FA" +magenta = "#F5C2E7" +cyan = "#94E2D5" +white = "#BAC2DE" + +[[colors.indexed_colors]] +index = 16 +color = "#FAB387" + +[[colors.indexed_colors]] +index = 17 +color = "#F5E0DC" diff --git a/os/com.googlecode.iterm2.plist b/os/com.googlecode.iterm2.plist index f3ce9ca..f178851 100644 --- a/os/com.googlecode.iterm2.plist +++ b/os/com.googlecode.iterm2.plist @@ -2984,6 +2984,17 @@ Version 1 + 0x5c-0x100000-0x2a + + Action + 11 + Label + + Text + 0x01 0x5C + Version + 1 + 0x68-0x100000-0x4 Action @@ -2991,7 +3002,7 @@ Label Text - 0x01 0x1B 0x5B 0x44 + 0x01 0x68 Version 1 @@ -3002,7 +3013,7 @@ Label Text - 0x01 0x70 + 0x01 0x1B 0x5B 0x43 Version 1 @@ -3013,7 +3024,7 @@ Label Text - 0x01 0x68 + 0x01 0x1B 0x68 Version 1 @@ -3035,7 +3046,7 @@ Label Text - 0x01 0x1B 0x5B 0x42 + 0x01 0x6A Version 1 @@ -3046,7 +3057,7 @@ Label Text - 0x01 0x6A + 0x01 0x1B 0x6A Version 1 @@ -3057,7 +3068,7 @@ Label Text - 0x01 0x1B 0x5B 0x41 + 0x01 0x6B Version 1 @@ -3068,7 +3079,7 @@ Label Text - 0x01 0x6B + 0x01 0x1B 0x6B Version 1 @@ -3079,7 +3090,7 @@ Label Text - 0x01 0x1B 0x5B 0x43 + 0x01 0x6C Version 1 @@ -3090,7 +3101,7 @@ Label Text - 0x01 0x6E + 0x01 0x1B 0x5B 0x44 Version 1 @@ -3101,7 +3112,7 @@ Label Text - 0x01 0x6C + 0x01 0x1B 0x6C Version 1 diff --git a/tmux/.tmux.conf.hardlink b/tmux/.tmux.conf.hardlink index 7edba27..c399d51 100644 --- a/tmux/.tmux.conf.hardlink +++ b/tmux/.tmux.conf.hardlink @@ -34,30 +34,40 @@ bind C-a send-prefix # Vi copy mode. setw -g mode-keys vi unbind [ -bind Escape copy-mode +bind -N 'Enter normal (copy) mode' Escape copy-mode # cmd-esc on macOS unbind p bind p paste-buffer bind -T copy-mode-vi 'v' send -X begin-selection bind -T copy-mode-vi 'y' send -X copy-selection-and-cancel # Better split commands. -bind | split-window -h -c "#{pane_current_path}" # cmd-| in iTerm2 -bind - split-window -v -c "#{pane_current_path}" # cmd-- in iTerm2 +bind -N 'vsplit' | split-window -h -c "#{pane_current_path}" # cmd-| on macOS +bind -N 'vsplit' \\ split-window -h -c "#{pane_current_path}" # cmd-\ on macOS +bind -N 'hsplit' - split-window -v -c "#{pane_current_path}" # cmd-- on macOS unbind '"' unbind % +# Vi-like pane switching. +bind -N 'Switch to pane (left)' h select-pane -L # cmd-h on macOS +bind -N 'Switch to pane (down)' j select-pane -D # cmd-j on macOS +bind -N 'Switch to pane (up)' k select-pane -U # cmd-k on macOS +bind -N 'Switch to pane (right)' l select-pane -R # cmd-l on macOS + # Vi-like resizing. -bind j resize-pane -D # cmd-j in iTerm2 -bind k resize-pane -U # cmd-k in iTerm2 -bind h resize-pane -L # cmd-h in iTerm2 -bind l resize-pane -R # cmd-l in iTerm2 +bind -N 'Resize pane (left)' M-h resize-pane -L # cmd-opt-h on macOS +bind -N 'Resize pane (down)' M-j resize-pane -D # cmd-opt-j on macOS +bind -N 'Resize pane (up)' M-k resize-pane -U # cmd-opt-k on macOS +bind -N 'Resize pane (right)' M-l resize-pane -R # cmd-opt-l on macOS + +bind -N 'Previous window' Left previous-window # cmd-left on macOS +bind -N 'Next window' Right next-window # cmd-right on macOS # Easy reload config. -bind r source-file ~/.tmux.conf +bind r source-file ~/.tmux.conf # cmd-r on macOS # Popup. unbind i -bind i if-shell -F '#{==:#{session_name},scratch}' { # cmd-i in iTerm2 +bind -N 'Popup shell' i if-shell -F '#{==:#{session_name},scratch}' { # cmd-i on macOS detach-client } { if-shell "tmux has-session -t scratch" {