На данный момент у меня есть простой файл .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"
Tmux всегда открывается Вашим существующим рабочим каталогом.
Как, если Вы находитесь в/home/user/Desktop/, tmux сессия, начнет с этого пути только.
И разработайте свой вопрос.