Как преобразовать эту конфигурацию сеанса экрана в аналогичную конфигурацию в tmux? - PullRequest
1 голос
/ 22 марта 2012

Я пытаюсь переключиться с экрана на tmux. Одна из моих конфигураций screenrc позволяет мне запускать vim (я использую NERD_tree + много разделений vim) в большей части верхней горизонтальной части экрана и держать намного меньшее разделенное окно внизу для команд оболочки. Часть моего экрана, посвященная разбиению окна:

# start two sessions
screen -t code vim
screen -t shell
# goto screen 0 and split it
select 0
split
# switch to bottom split and make it 8 lines smaller
focus
resize -8
# select screen 1 to show in bottom split
select 1
focus

Ответы [ 2 ]

0 голосов
/ 24 марта 2012

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

#!/bin/bash
tmux new-session -d -s coding-session -n code vim
tmux split-window -p 30
tmux attach-session -t coding-session

Здесь мы выполняем три команды tmuxиз скорлупыПервый создает новый сеанс, но не присоединяется к нему (чтобы процесс мог завершиться).Второй посылает команду split-window (предположительно) для последнего созданного сеанса.Третий присоединяет клиента к указанному сеансу.

0 голосов
/ 22 марта 2012

(Примечание: это улучшение моего предыдущего ответа)

Мы добавим необходимые команды tmux в файл с именем "vim-session". Давайте сначала посмотрим на содержимое, а затем посмотрим, как использовать файл.

new-session -n code vim
split-window
resize-pane -D 8

Первое, что мы делаем, это создаем новый сеанс. -d пока не позволяет нам присоединиться к сеансу, а опция -n называет начальное окно сеанса, в котором мы запускаем vim. Затем мы разбиваем окно по вертикали на две панели, одну сверху и одну снизу. Фокус автоматически перемещается на новую панель внизу. Наконец, мы изменяем размер текущей панели вниз (-D) на 8 строк.

Вы начнете сеанс tmux, используя

$ tmux -f vim-session attach

Здесь говорится, что мы должны использовать только что созданный файл конфигурации вместо файла по умолчанию ~/.tmux.conf. Мы даем явную команду attach для tmux, чтобы она присоединялась к сеансу, который мы создали (но не прикрепили) в «vim-session». Без attach tmux бы неявно создайте новый сеанс и присоединитесь к нему вместо сеанса, который мы создали в «vim-session».

Слегка изменив критерии изменения размера, мы можем удалить вызов на resize-pane:

new-session -d -n code vim
split-window -p 30         # Make the new pane 30% of your screen
#split-window -l 10        # Make the new pane exactly 10 lines.

Я не думаю, что есть способ split-window создать новую панель, которая на 8 строк меньше половины.

...