.bashrc
На данный момент у меня есть простой файл, который позволяет мне всегда открывать один и тот же терминал (фактически, снова открывать) под управлением tmux. Важная часть показана ниже.
Суть этого в том, что при выполнении tmux attach -d
вы отключаете любой tmux
сеанс, который работает, фактически закрывая открытое окно терминала (так как я открыл его с помощью tmux
команды). tmux
однако, он все еще работает, поэтому вызов терминала с tmux attach -d
повторным открытием этой сессии благодаря маленькой строчке в конфигурационном файле tmux.
Это прекрасно работает, но теперь я хотел бы вернуть функциональность, которая открывает окно терминала в каталоге, где я нажимаю «открыть терминал здесь».
Я понимаю, что я должен был бы к следующему:
- Скажите
tmux
"Cm C" (создать новую панель) cd
в текущий каталог
Это возможно? У меня очень ограниченные знания такого рода вещей, поэтому я спрашиваю.
Я искал вокруг и нашел эту суть (также показано ниже). Это имеет смысл, но я не знаю, как получить ${TARGET}
переменную внутри .bashrc
файла.
.bashrc
116 # Start tmux every time we call up a terminal
117 [[ $TERM != "screen" ]] && exec tmux attach -d
tmux.conf
1 #if run as "tmux attach", create a session if one does not already exist
2 new-session -n $HOST
Суть файла
tmux_pwd () {
[ -z "${TMUX}" ] && return
TARGET=\-t$(tmux display-message -p "#S")
tmux set-window-option ${TARGET} default-path $PWD > /dev/null
(( sleep 300;
tmux set-window-option ${TARGET} default-path ~/Development > /dev/null; ) & ) > /dev/null 2>&1
}
alias pwd="\pwd; tmux_pwd"
источник