tmux, не враховуючи файл конфігурації


87

Я щойно встановив tmux на Ubuntu 10.04 і спробував перевстановити ключ префікса C-a, створивши файл ~/.tmux.confіз цими рядками:

set-option -g prefix C-a
unbind-key C-b

При запуску tmux, як регулярно, так і з -f ~/.tmux.conf, префікс фактично є тим самим за замовчуваннямC-b

Немає жодних помилок чи попереджень.

Будь-яка ідея, що не так з завантаженням конф?


Це працює для мене ™. Спробуйте запустити strace -s9999 -f -o tmux.strace tmux -c trueта опублікувати вихід grep -C5 'tmux\.conf' tmux.strace.
Жиль

У мене була ця сама проблема, жодних існуючих сеансів, (повідомлення про 'tmux ls' відмовилося, тобто не працювало), але воно все ще не читало конф-файл. Я запускав його за допомогою CWD десь в / usr, але коли я перейшов до ~ / і запустив tmux, він обробив файл conf. Це дивна поведінка, але це щось перевірити.
Ранко Кохіме

Відповіді:


118

Файл ~ / .tmux.conf завантажується під час першого запуску сервера tmux. Отже, якщо є існуючі сеанси tmux, запуск нового сеансу з tmuxне призводить до перезавантаження файлу .tmux.conf. Спробуйте перезапустити сервер tmux: Використовуйте команду, tmux list-sessionsщоб побачити, чи існують сеанси. Вийдіть із них (наприклад, tmux attachтоді вбийте всі вікна та вийдіть). Після того, як всі сеанси минули, спробуйте tmuxще раз. Цього разу ребрінг повинен спрацювати.


27
killall tmuxабо tmux kill-serverбуде отримати роботу теж
Matt

5
Я використовував, killall tmuxі tmux kill-serverдосі моя конф конфлікт не завантажений. Я можу підтвердити, що він дійсний, оскільки використання :source-file ~/.tmux.confв tmux насправді робить зміни конфігурації! Не можу зрозуміти, що викликає таку поведінку.
Ambidex

Цікаво, чому в цій відповіді перезавантаження конфігурації не згадувалося. Іноді це працює, а іноді ні. Будь-які ідеї з цього приводу?
DarthPaghius

53

Щоб завантажити файл ~ / .tmux.conf, не вбиваючи сеанс, ви можете просто зробити:

C-b :source-file /absolute/path/to/your/.tmux.conf

4
Ви можете додати наступне до .tmux.conf, щоб використовувати Ctrl-A r для перезавантаження:bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
RedPixel

+1 за вказівку на необхідність абсолютного шляху
Акаш Агарвал

20

запустити всередині вашого сеансу tmux:

tmux source-file /absolute/path/to/your/.tmux.conf

Примітка: це вплине не на поточне вікно tmux (очевидно), але на всі нові вікна tmux.
Клави

3

Там також клавіатура з замовчуванням ярлик прив'язки перезарядити ~/.tmux.conf, принаймні , в моїй установці: C-b r. Якщо натиснути на C-b ?нього, з'являється список усіх зв'язаних комбінацій клавіш, тож ви зможете побачити, чи є у вас вже визначений.


Це специфічно для вашої установки / конфігурації. За замовчуванням <prefix> rприв'язується до refresh-client(те, що ви описуєте, було б щось подібне source ~/.tmux.conf).
Кріс Джонсен

1

У мене була ця проблема, тому що я використовував tmux-next .

Спочатку я вирішив це, просто передавши конфігураційний файл, tmux -f ~/.tmux.confяк вказує тут питання. (У мене вже був псевдонім tmux - поруч із tmux.)

Тоді я зрозумів, що tmux-next використовує tmux-next.conf, тому просто позначте його, якщо використовувати це, і потрібно запустити лише наступну версію tmux.

ln -s ~/.tmux.conf ~/.tmux-next.conf


0

Я кинув і знову відкрив свій термінал, і це єдиний спосіб, коли я міг би змусити його знову працювати. Не знаю чому.

за допомогою терміналу на Mac OSX

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