tmux: add copy/paste hooks
This commit is contained in:
@@ -98,6 +98,12 @@ set -g @plugin 'seebi/tmux-colors-solarized'
|
||||
set -g @resurrect-strategy-vim 'session'
|
||||
set -g @continuum-restore 'on'
|
||||
|
||||
# Load OS-specific settings
|
||||
if-shell "uname | grep -q Linux" "source-file ~/.tmux.linux.conf"
|
||||
if-shell "uname | grep -q Darwin" "source-file ~/.tmux.mac.conf"
|
||||
|
||||
# Load any system-specific/private settings
|
||||
if-shell "[ -f ~/.tmux.private]" "source ~/.tmux.private"
|
||||
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run -b '~/.tmux/plugins/tpm/tpm'
|
||||
|
||||
|
||||
14
tmux.linux.conf
Normal file
14
tmux.linux.conf
Normal file
@@ -0,0 +1,14 @@
|
||||
# Detect the display server protocol and set clipboard commands
|
||||
if-shell '[ "$XDG_SESSION_TYPE" = "wayland" ]' \
|
||||
'set -g copy-command "wl-copy"; set -g paste-command "wl-paste -n"' \
|
||||
'set -g copy-command "xclip -sel clip -i"; set -g paste-command "xclip -sel clip -o"'
|
||||
|
||||
# Take the buffer and send it to the system clipboard
|
||||
bind C-c run "tmux save-buffer - | $copy_command"
|
||||
|
||||
# y in copy mode takes selection and sends it to system clipboard
|
||||
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "$copy_command"
|
||||
|
||||
# And the reverse - Prefix Ctrl-v fills tmux buffer from system clipboard, then
|
||||
# pastes from buffer into tmux window
|
||||
bind C-v run-shell '$paste_command | tmux load-buffer - \; paste-buffer'
|
||||
9
tmux.mac.conf
Normal file
9
tmux.mac.conf
Normal file
@@ -0,0 +1,9 @@
|
||||
# Prefix Ctrl-C takes what's in the buffer and sends it to system clipboard via pbcopy
|
||||
bind C-c run "tmux save-buffer - | pbcopy"
|
||||
|
||||
# y in copy mode takes selection and sends it to system clipboard via pbcopy
|
||||
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"
|
||||
|
||||
# Prefix Ctrl-v fills tmux buffer from system clipboard via pbpaste, then
|
||||
# pastes from buffer into tmux window
|
||||
bind C-v run "tmux set-buffer \" $(pbpaste)\"; tmux paste-buffer"
|
||||
Reference in New Issue
Block a user