configurable new windows and panes behavior (optionally retain current path)
This commit is contained in:
parent
ecbb8d55f7
commit
1667cf9171
3 changed files with 37 additions and 8 deletions
31
.tmux.conf
31
.tmux.conf
|
@ -74,14 +74,6 @@ bind C-c new-session
|
||||||
# find session
|
# find session
|
||||||
bind C-f command-prompt -p find-session 'switch-client -t %%'
|
bind C-f command-prompt -p find-session 'switch-client -t %%'
|
||||||
|
|
||||||
# split current window vertically, retain current path
|
|
||||||
bind '"' split-window -h -c "#{pane_current_path}"
|
|
||||||
bind _ split-window -h -c "#{pane_current_path}"
|
|
||||||
# split current window horizontally, retain current path
|
|
||||||
unbind %
|
|
||||||
bind % split-window -v -c "#{pane_current_path}"
|
|
||||||
bind - split-window -v -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
# pane navigation
|
# pane navigation
|
||||||
bind -r h select-pane -L # move left
|
bind -r h select-pane -L # move left
|
||||||
bind -r j select-pane -D # move down
|
bind -r j select-pane -D # move down
|
||||||
|
@ -157,6 +149,7 @@ if '[ -f ~/.tmux.conf.local ]' 'source ~/.tmux.conf.local'
|
||||||
# -- 8< ------------------------------------------------------------------------
|
# -- 8< ------------------------------------------------------------------------
|
||||||
|
|
||||||
run 'cut -c3- ~/.tmux.conf | sh -s apply_theme $tmux_conf_theme'
|
run 'cut -c3- ~/.tmux.conf | sh -s apply_theme $tmux_conf_theme'
|
||||||
|
run 'cut -c3- ~/.tmux.conf | sh -s apply_configurable_bindings $tmux_conf_new_windows_retain_current_path $tmux_conf_new_panes_retain_current_path'
|
||||||
run 'for name in $(printenv | grep -Eo ^tmux_conf_[^=]+); do tmux setenv -gu $name; done;'
|
run 'for name in $(printenv | grep -Eo ^tmux_conf_[^=]+); do tmux setenv -gu $name; done;'
|
||||||
|
|
||||||
|
|
||||||
|
@ -366,4 +359,26 @@ run 'for name in $(printenv | grep -Eo ^tmux_conf_[^=]+); do tmux setenv -gu $na
|
||||||
# printf "%0.s$battery_symbol_empty" $(seq 1 $empty)
|
# printf "%0.s$battery_symbol_empty" $(seq 1 $empty)
|
||||||
# }
|
# }
|
||||||
#
|
#
|
||||||
|
# apply_configurable_bindings() {
|
||||||
|
# windows_retain_current_path=${1:-false}
|
||||||
|
# if [ x"$windows_retain_current_path" = x"true" -o x"$windows_retain_current_path" = x"1" ] ; then
|
||||||
|
# tmux bind c new-window -c '#{pane_current_path}'
|
||||||
|
# else
|
||||||
|
# tmux bind c new-window
|
||||||
|
# fi
|
||||||
|
#
|
||||||
|
# panes_retain_current_path=${2:-true}
|
||||||
|
# if [ x"$panes_retain_current_path" = x"true" -o x"$panes_retain_current_path" = x"1" ] ; then
|
||||||
|
# tmux bind '"' split-window -h -c "#{pane_current_path}" \;\
|
||||||
|
# bind _ split-window -h -c "#{pane_current_path}" \;\
|
||||||
|
# bind % split-window -v -c "#{pane_current_path}" \;\
|
||||||
|
# bind - split-window -v -c "#{pane_current_path}"
|
||||||
|
# else
|
||||||
|
# tmux bind '"' split-window -h \;\
|
||||||
|
# bind _ split-window -h \;\
|
||||||
|
# bind % split-window -v \;\
|
||||||
|
# bind - split-window -v
|
||||||
|
# fi
|
||||||
|
# }
|
||||||
|
#
|
||||||
# $@
|
# $@
|
||||||
|
|
|
@ -8,6 +8,10 @@
|
||||||
# or alternatively use an external tool, e.g. https://github.com/Goles/Battery
|
# or alternatively use an external tool, e.g. https://github.com/Goles/Battery
|
||||||
#tmux_conf_battery='#(battery -t) '
|
#tmux_conf_battery='#(battery -t) '
|
||||||
|
|
||||||
|
# new windows and new panes optionally retain current path
|
||||||
|
#tmux_conf_new_windows_retain_current_path=false
|
||||||
|
#tmux_conf_new_panes_retain_current_path=true
|
||||||
|
|
||||||
# if you're running tmux within iTerm2
|
# if you're running tmux within iTerm2
|
||||||
# - and tmux is 1.9 or 1.9a
|
# - and tmux is 1.9 or 1.9a
|
||||||
# - and iTerm2 is configured to let option key act as +Esc
|
# - and iTerm2 is configured to let option key act as +Esc
|
||||||
|
|
10
README.md
10
README.md
|
@ -25,6 +25,7 @@ Features
|
||||||
- mouse mode toggle with `<prefix>m`
|
- mouse mode toggle with `<prefix>m`
|
||||||
- automatic usage of `reattach-to-user-namespace` if available
|
- automatic usage of `reattach-to-user-namespace` if available
|
||||||
- laptop battery status
|
- laptop battery status
|
||||||
|
- configurable new windows and panes behavior (optionally retain current path)
|
||||||
|
|
||||||
Installation
|
Installation
|
||||||
------------
|
------------
|
||||||
|
@ -59,6 +60,15 @@ Edit your `~/.tmux.conf.local` file and uncomment the following lines:
|
||||||
|
|
||||||
See `~/.tmux.conf.local` for more details.
|
See `~/.tmux.conf.local` for more details.
|
||||||
|
|
||||||
|
### Configuring new windows and new panes creation
|
||||||
|
|
||||||
|
Edit your `~/.tmux.conf.local` file and uncomment the following lines:
|
||||||
|
|
||||||
|
#tmux_conf_new_windows_retain_current_path=false
|
||||||
|
#tmux_conf_new_panes_retain_current_path=true
|
||||||
|
|
||||||
|
See `~/.tmux.conf.local` for more details.
|
||||||
|
|
||||||
### Accessing the Mac OSX clipboard from within tmux sessions
|
### Accessing the Mac OSX clipboard from within tmux sessions
|
||||||
|
|
||||||
[Chris Johnsen created the `reattach-to-user-namespace`
|
[Chris Johnsen created the `reattach-to-user-namespace`
|
||||||
|
|
Loading…
Reference in a new issue