Intereting Posts
Как установить glibc.i686 с использованием rpm с разрешенной зависимостью Как правильно настроить правильную запись меню GRUB 2 по умолчанию? Добавьте 0, когда значение равно 12 символам Какие меры предосторожности следует взять под управлением Windows 7 на виртуальной машине в Linux? Почему я должен запускать alsactl init каждый раз, когда я загружаю свою систему? У моего дистрибутива есть etags, символически привязанные к ctags, но где я могу получить оригинальные etags? Каково значение точки в командах bash и чем она отличается от звездочки? необходимо предоставить доступ на чтение для записи в папку и ее вложенные папки и каталоги для конкретного пользователя Шпатле, похоже, не начинается с python'd crontab Пользовательские привилегии Mysql: Только таблица CREATE Почему пользовательские программы всегда устанавливаются в / opt, / srv, / usr / local и т. Д., А не в папку ~ / (home)? Ядро Linux не находит initrd правильно Как пассивно захватывать из сокетов домена Unix (мониторинг сокетов AF_UNIX)? Подсчитывать строки с разными символами Как создать загрузочный USB-накопитель с Debian Squeeze

Перемещение панели tmux в окно

Как переместить существующую панель в другое окно в tmux, когда у меня есть несколько окон, и наоборот?

Я прихожу с экрана , где я могу переключиться на панель, а затем переключить окна, пока не доберусь до той, которую хочу; tmux , похоже, не позволяет этого.

Команда для этого – это 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 в моем .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 

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

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

 :join-pane -s :1 

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

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

Самое главное, что ваш LEARN «join-pane -s:», потому что, если вы просто установите его и забудете, вы будете защищены, когда окажетесь на чужом сервере. И давайте посмотрим правде в глаза, самое главное, что терминальный мультиплексор дает вам надежные сеансы на удаленных серверах.

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

Наслаждайтесь!

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

 break-pane -t : 

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

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

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

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

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

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

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

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

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

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

По умолчанию:

Cb + !

переломит активную панель в новое окно и переключится на нее.

Где Cb является префиксом по умолчанию для tmux .