tmux: add swap-pane.sh (ported from ruby)
This commit is contained in:
parent
18a88353e5
commit
8ef7f3e62f
10
tmux.conf
10
tmux.conf
|
@ -77,11 +77,11 @@ bind h select-pane -L
|
||||||
bind j select-pane -D
|
bind j select-pane -D
|
||||||
bind k select-pane -U
|
bind k select-pane -U
|
||||||
bind l select-pane -R
|
bind l select-pane -R
|
||||||
bind H run '~/.dotfiles/tmux/swap-pane.rb left'
|
bind H run '~/.dotfiles/tmux/swap-pane.sh left'
|
||||||
bind J run '~/.dotfiles/tmux/swap-pane.rb down'
|
bind J run '~/.dotfiles/tmux/swap-pane.sh down'
|
||||||
bind K run '~/.dotfiles/tmux/swap-pane.rb up'
|
bind K run '~/.dotfiles/tmux/swap-pane.sh up'
|
||||||
bind L run '~/.dotfiles/tmux/swap-pane.rb right'
|
bind L run '~/.dotfiles/tmux/swap-pane.sh right'
|
||||||
bind M run '~/.dotfiles/tmux/swap-pane.rb master'
|
bind M run '~/.dotfiles/tmux/swap-pane.sh master'
|
||||||
|
|
||||||
bind o resize-pane -Z
|
bind o resize-pane -Z
|
||||||
bind S choose-session
|
bind S choose-session
|
||||||
|
|
27
tmux/swap-pane.sh
Executable file
27
tmux/swap-pane.sh
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
swap() { tmux swap-pane -s"$1" -t"$2"; }
|
||||||
|
|
||||||
|
CONF=~/.tmux/lastpane
|
||||||
|
|
||||||
|
target=
|
||||||
|
case $1 in
|
||||||
|
up) target="U" ;;
|
||||||
|
down) target="D" ;;
|
||||||
|
left) target="L" ;;
|
||||||
|
right) target="R" ;;
|
||||||
|
master) target="M" ;;
|
||||||
|
*) exit 1 ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
src_pane=$(tmux display-message -p "#P")
|
||||||
|
tmux select-pane -${target}
|
||||||
|
|
||||||
|
dst_pane=$(tmux display-message -p "#P")
|
||||||
|
tmux select-pane -${src_pane}
|
||||||
|
|
||||||
|
if [[ "$target" == "M" ]]; then
|
||||||
|
dst_pane=0
|
||||||
|
fi
|
||||||
|
swap "$src_pane" "$dst_pane"
|
||||||
|
tmux select-pane -t"$dst_pane"
|
Loading…
Reference in a new issue