Перемещение tmux разделяет на области к окну

grep и ls были уже упомянуты, если Вы хотите намного больше выезда цветов Универсальный Coloriser, его начальная цель была к colorize файлам журнала, но прямо из поля он также colorizes ping, traceroute, gcc, make, netstat, diff, last, ldap, и cvs.

Это легко расширяется, если Вы знаете regexes. Я добавил ps и nmap к списку (если Вы входите grc Я буду более, чем рад совместно использовать .conf файлы для тех двух инструментов),

(Btw, для установки его через synaptic, pacman, и одинаково у Вас могла бы быть лучшая удача при поиске "grc"),

235
28.08.2016, 15:35
7 ответов

Команда, чтобы сделать это join-pane в tmux 1.4.

join-pane [-dhv] [-l size | -p percentage] [-s src-pane] [-t dst-pane]  
    (alias: joinp)
    Like split-window, but instead of splitting dst-pane and creating
    a new pane, split it and move src-pane into the space.  This can
    be used to reverse break-pane.

Для упрощения этого я имею, они связывают в моем .tmux.conf для этого:

# pane movement
bind-key j command-prompt -p "join pane from:"  "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:"  "join-pane -t '%%'"

Первые захваты область из целевого окна и соединяет его с током, второе, делают реверс.

Можно затем перезагрузить tmux сессию путем выполнения следующего из сессии:

$ tmux source-file ~/.tmux.conf
214
27.01.2020, 19:28
  • 1
    , я пробую этот метод, но когда я поместил Ваш код в свой .tmux.conf файл и делаю Ctrl-b, j, ничего, кажется, не происходит. –  mrlanrat 03.06.2011, 07:19
  • 2
    Вам нужны по крайней мере 2 открытые окна с парой областей в каждом: затем хит Prefix+s и введите имя окна при подсказке для отправки области в то окно... –  jasonwryan 03.06.2011, 07:28
  • 3
    , у меня все еще нет удачи с этим, ничего не происходит. Я добираюсь, чувство tmux не читает .tmux.conf файл, потому что это не отвечает вообще на Ctrl-b, j или Ctrl-b, s. (это эти только 2 строки в файле конфигурации) –  mrlanrat 03.06.2011, 08:22
  • 4
    @mrlanrat я нахожу, что необходимо снабдить префиксом число окна двоеточие. См. мой ответ ниже. –  Bruno Bronosky 01.02.2012, 18:17

область соединения является ответом. У меня также были проблемы с моими попытками использовать его на основе tmux документации. Я обнаружил, что-t и переключатели-s, кажется, принимают [сессия]: окно и не [сессия:] окно. То есть то определение сессии является дополнительным, но включая: обязательно. (Я использую tmux 1.5),

Поэтому для добавления области к текущему окну и окну 1 места в область, команда была бы (Ctrl-B или независимо от того, что Ваш связывать ключ, сопровождается)...

:join-pane -s :1

Можно затем повредить их независимо с областью повреждения, которая по умолчанию является: Ctrl-B! Если Вы хотите связать его с ярлыком, я предлагаю не переопределить значение по умолчанию, связывающее как s, потому что в будущем Вы будете считать Интернет для ответа, который включает выбирать-сессию, и это не будет работать над Вашей системой. Заметьте, что область повреждения связывается с! и прямо рядом с ним и не связан с чем-либо по умолчанию. По этой причине я предлагаю эту привязку...

bind-key @ command-prompt -p "create pane from:"  "join-pane -s ':%%'"

Поочередно, чтобы иметь интерактивного селектора...

bind-key @ choose-window 'join-pane -h -s "%%"'

Поочередно, чтобы всегда присоединиться к последний раз посещаемому окну...

bind-key @ join-pane -h -s !

Примечание: -h причины это для укладки областей горизонтально (с вертикальным разделением), как отклонено поведение по умолчанию, которое является реверсом.

Самая важная вещь состоит в том, что Ваш УЧИТЬСЯ независимо от того, что Вы выбираете к ярлыку. Поскольку, если Вы просто устанавливаете его и забываете его, Вы будете gimped при нахождении на внешнем сервере. И давайте столкнемся с ним, самой важной вещью, которую оконечный мультиплексор дает Вам, являются надежные сессии на удаленных серверах.

Это завершает мое преобразование от Экрана GNU до Tmux. Я никогда не буду оглядываться назад.

Приятного отдыха!

160
27.01.2020, 19:28
  • 1
    я отсутствовал ':' также... спасибо за это. –  rascalking 20.09.2012, 22:03
  • 2
    , который я получил 2 вниз голоса по этому недавно без комментариев, предлагающих почему. Это - просто грубая и anti-FOSS культура. –  Bruno Bronosky 10.11.2015, 19:28
  • 3
    не говорит о двоеточиях вообще! Хороший один –  JonnyRaa 24.11.2017, 11:45

Я думаю, что мне нравится то, что я использовал для перемещения областей к их собственному окну лучше. Я использую

break-pane -t :

Я понял это посредством экспериментирования, но это, кажется, работает очень хорошо. Вы можете keybind или искажать его легко, никакие требуемые сценарии.

43
27.01.2020, 19:28
  • 1
    +1. Я склонен использовать это намного чаще, чем join-pane. –  Chris B 21.11.2012, 05:51

Если Вы не хотите вводить идентификатор области в подсказку, можно также использовать

bind-key j "join-pane -s !"

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

14
27.01.2020, 19:28
  • 1
    Какую версию Вы используете? Я добираюсь unknown command: join-pane -s ! с 1,6. –  paradroid 28.08.2012, 20:00
  • 2
    Используя 2,0 здесь, но просто помещение строки в conf без кавычек, кажется, хорошо работает. bind-key j join-pane -s ! –  bkzland 17.02.2016, 15:50

После просмотра других ответов и просмотра справочной страницы tmux я остановился на следующих привязках:

bind-key S choose-window 'join-pane -v -s "%%"'
bind-key V choose-window 'join-pane -h -s "%%"'

Это позволит вам в интерактивном режиме выбрать окно, к которому нужно присоединиться, и отражает мои строчные s / v привязки для создания новых вертикальных / горизонтальных разделений. Если кто-нибудь знает, как выбрать отдельные панели вместо окон, дайте мне знать.

14
27.01.2020, 19:28

Вам не нужно изменять привязки клавиш.

Пока панель, которую вы хотите переместить, имеет фокус, введите Префикс , затем : join-pane -t: 1 , где 1 - это любой номер окна назначения. находится в том же сеансе. Вы можете переместить его в другой сеанс, добавив к нему имя, например project: 3 . Для меня панель соединений tab-autocomplets из j .

Добавьте переключатель -h или -v в команду, чтобы установить ориентацию нового разделения, созданного в месте назначения, или просто перейдите к нему и префикс + пробел для перегруппировки.

4
27.01.2020, 19:28

Привязка клавиш

По умолчанию Ctrl + b , ! будет разбивать активную панель на новое окно и переключаться на него.

Где Ctrl + b — префикс по умолчанию для .

Детали

Команда tmux, которую выполняет эта клавиша, являетсяbreak-pane(псевдонимом :breakp), реализованным в cmd-break-pane.c, и связана по умолчанию в key -bindings.c , как показано в псевдониме list-keys(.:lsk)вывод команды:

bind-key    -T prefix       !                 break-pane
28
27.01.2020, 19:28

Теги

Похожие вопросы