Basic tmux setup

This commit is contained in:
Noah Masur 2020-06-07 18:16:24 -06:00
parent f312d791b1
commit 15ae511500
2 changed files with 54 additions and 0 deletions

View File

@ -66,6 +66,14 @@ install_brews() {
echo "brews installed ✓" echo "brews installed ✓"
} }
setup_tmux() {
if [[ ! -d ~/.tmux/plugins/tpm ]]; then
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
fi
echo "tmux ✓"
}
install_spacemacs() { install_spacemacs() {
emacsdir=~/.emacs.d emacsdir=~/.emacs.d
if ! (git -C "$emacsdir" pull > /dev/null 2>&1) if ! (git -C "$emacsdir" pull > /dev/null 2>&1)
@ -82,6 +90,7 @@ check_for_ohmyzsh
install_xcode install_xcode
install_homebrew install_homebrew
install_brews install_brews
setup_tmux
install_spacemacs install_spacemacs
("$DOTS/scripts/setup_symlinks") ("$DOTS/scripts/setup_symlinks")

45
tmux/tmux.conf.symlink Normal file
View File

@ -0,0 +1,45 @@
# Plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-yank'
# Remap prefix to Control + space
set -g prefix C-space
bind C-space send-prefix
# Keep plenty of history for scrollback
set -g history-limit 10000
# Upgrade colors
set -g default-terminal "screen-256color"
# Remove delay for entering copy mode
set-option -sg escape-time 0
# Horizontal and vertical splits
bind \\ split-window -h -c '#{pane_current_path}'
bind - split-window -v -c '#{pane_current_path}'
# Smart pane switching with awareness of vim splits
bind -n C-h run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-h) || tmux select-pane -L"
bind -n C-j run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-j) || tmux select-pane -D"
bind -n C-k run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-k) || tmux select-pane -U"
bind -n C-l run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys C-l) || tmux select-pane -R"
bind -n C-\\ run "(tmux display-message -p '#{pane_current_command}' | grep -iq vim && tmux send-keys 'C-\\') || tmux select-pane -l"
# Status bar
set -g status-interval 2
set -g status-right-length 59
set -g renumber-windows on
set-option -g base-index 1
set-window-option -g pane-base-index 1
set-option -g status-position bottom
# Copy mode works as Vim
bind Escape copy-mode
bind C-[ copy-mode
bind p paste-buffer
# Enable mouse mode
set -g mouse on