Як змінити новий каталог вікон за замовчуванням зсередини tmux


42

Нещодавно я перейшов з екрану GNU до tmux .
Я вважаю це досить подібним, але з більшою підтримкою (я переключився через проблему з часом втечі в неовимі - роздільна здатність була лише для tmux).

На жаль, у tmux я не можу знайти подібну команду до цієї:

screen -X eval "chdir $(some_dir)"

Команда вище змінила каталог за замовчуванням для нового вікна / екрана / панелі з екрана GNU, тому коли я натиснув Ctrl+ a(схоже на tmux Ctrl+ b) - у $(some_dir)каталозі відкрилося нове вікно .

Чи є подібна річ у tmux?

ВІДПОВІДЬ:
Я використав відповідь @Lqueryvg і поєднав її з пропозицією @Vincent Nivoliers з коментаря, і це дало мені нове прив'язку для команди, attach -c "#{pane_current_path}"яка встановлює мій поточний каталог як типовий.
Спасибі.


Ви можете скористатися другою відповіддю на це запитання
Вінсент Нівольєр

Дякую, це корисно. new-window -c "#{pane_current_path}"працює, але мені потрібно, щоб постійно встановити шлях, тобто: я працюю в проекті в / aaa / bbb, але якось я змінюю шлях до сказати / ccc / ddd і починаю нову з Cb і c, я хочу висадити ще раз у / aaa / bbb. Ви можете придумати рішення цього?
Левіатан

Мені особисто добре, якщо я додав три останні рядки .tmux.conf. Таким чином, мені доведеться лише один раз перейти до папки, а потім створити вікна / розділити звідти, але я визнаю, що це не є рішенням вашої проблеми, тому я не опублікував відповіді!
Вінсент Нівольє

Відповіді:


61
  1. Почніть tmuxтак:

    (cd /aaa/bbb; tmux)
    

    Тепер усі створені вами нові вікна (або області) запускатимуться в каталозі /aaa/bbb, незалежно від поточного каталогу поточної області.

  2. Якщо ви хочете змінити каталог за замовчуванням один раз, коли tmuxвін працює і працює, скористайтеся attach-sessionфункцією -c.

    Цитуючи зі tmuxсторінки man для attach-session:

    -c will set the session working directory (used for new windows)
    to working-directory.
    

    Наприклад:

    • Ctrl+b :

    • attach -c /ddd/eee

    Нові вікна (або панелі) тепер почнуть працювати в каталозі /ddd/eee, незалежно від каталогу поточної області.


7
Другий варіант - саме те, що я хотів. Я збираюся використовувати те, attach -c "#{pane_current_path}"що було б те саме, що у мене на екрані. Спасибі.
Левіатан

Так! attach -cсаме те, що я шукав. Дякую
Байрон Менсфілд

3

Для тих, хто може шукати трохи більше посилань, ніж обрана відповідь, є ще одна гарна відповідь на це запитання в StackOverflow:

https://stackoverflow.com/questions/27307815/how-to-change-the-starting-directory-of-a-tmux-session

Що дає способи зробити це, не виходячи з сеансу, а для тих, хто використовує tmux у багатосесійний спосіб (як я), вищевказана відповідь дає дещо кращий контекст щодо того, як attach/ як attach-sessionпрацює.

Дивіться обидві доступні відповіді щодо різних способів їх використання. Я вважав, що обидва є корисними / проникливими.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.