Открыть терминал в текущей директории с помощью tmux


7

.bashrcНа данный момент у меня есть простой файл, который позволяет мне всегда открывать один и тот же терминал (фактически, снова открывать) под управлением tmux. Важная часть показана ниже.

Суть этого в том, что при выполнении tmux attach -dвы отключаете любой tmuxсеанс, который работает, фактически закрывая открытое окно терминала (так как я открыл его с помощью tmuxкоманды). tmuxоднако, он все еще работает, поэтому вызов терминала с tmux attach -dповторным открытием этой сессии благодаря маленькой строчке в конфигурационном файле tmux.

Это прекрасно работает, но теперь я хотел бы вернуть функциональность, которая открывает окно терминала в каталоге, где я нажимаю «открыть терминал здесь».

Я понимаю, что я должен был бы к следующему:

  1. Скажите tmux"Cm ​​C" (создать новую панель)
  2. 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"

Ответы:


1

Tmux всегда открывается с вашим текущим рабочим каталогом.

Например, если вы находитесь в / home / user / Desktop /, сеанс tmux начнется только с этого пути.

И, пожалуйста, уточните свой вопрос.


На самом деле, вы можете попросить tmux открыть новые окна в той же директории, что и текущая панель , хотя это может не иметь отношения к вопросу OP.
jpaugh
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.