mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-27 15:30:15 +08:00
feat(tmux): add tds
alias for directory sessions (#11987)
This commit is contained in:
parent
0da416986a
commit
104041a018
@ -25,6 +25,7 @@ The plugin also supports the following:
|
|||||||
| `tkss` | tmux kill-session -t | Terminate named running tmux session |
|
| `tkss` | tmux kill-session -t | Terminate named running tmux session |
|
||||||
| `tmux` | `_zsh_tmux_plugin_run` | Start a new tmux session |
|
| `tmux` | `_zsh_tmux_plugin_run` | Start a new tmux session |
|
||||||
| `tmuxconf` | `$EDITOR $ZSH_TMUX_CONFIG` | Open .tmux.conf file with an editor |
|
| `tmuxconf` | `$EDITOR $ZSH_TMUX_CONFIG` | Open .tmux.conf file with an editor |
|
||||||
|
| `tds` | `_tmux_directory_session` | Creates or attaches to a session for the current path |
|
||||||
|
|
||||||
## Configuration Variables
|
## Configuration Variables
|
||||||
|
|
||||||
|
@ -108,6 +108,19 @@ compdef _tmux _zsh_tmux_plugin_run
|
|||||||
# Alias tmux to our wrapper function.
|
# Alias tmux to our wrapper function.
|
||||||
alias tmux=_zsh_tmux_plugin_run
|
alias tmux=_zsh_tmux_plugin_run
|
||||||
|
|
||||||
|
function _tmux_directory_session() {
|
||||||
|
# current directory without leading path
|
||||||
|
local dir=${PWD##*/}
|
||||||
|
# md5 hash for the full working directory path
|
||||||
|
local md5=$(printf '%s' "$PWD" | md5sum | cut -d ' ' -f 1)
|
||||||
|
# human friendly unique session name for this directory
|
||||||
|
local session_name="${dir}-${md5:0:6}"
|
||||||
|
# create or attach to the session
|
||||||
|
tmux new -As "$session_name"
|
||||||
|
}
|
||||||
|
|
||||||
|
alias tds=_tmux_directory_session
|
||||||
|
|
||||||
# Autostart if not already in tmux and enabled.
|
# Autostart if not already in tmux and enabled.
|
||||||
if [[ -z "$TMUX" && "$ZSH_TMUX_AUTOSTART" == "true" && -z "$INSIDE_EMACS" && -z "$EMACS" && -z "$VIM" && -z "$INTELLIJ_ENVIRONMENT_READER" ]]; then
|
if [[ -z "$TMUX" && "$ZSH_TMUX_AUTOSTART" == "true" && -z "$INSIDE_EMACS" && -z "$EMACS" && -z "$VIM" && -z "$INTELLIJ_ENVIRONMENT_READER" ]]; then
|
||||||
# Actually don't autostart if we already did and multiple autostarts are disabled.
|
# Actually don't autostart if we already did and multiple autostarts are disabled.
|
||||||
|
Loading…
Reference in New Issue
Block a user