
lazy-tmux — быстрый и «ленивый» менеджер сессий tmux
Весь мой рабочий процесс происходит внутри сессий tmux. Долгое время я использовал tmux-resurrect + tmux-continuum. Они работали… но с нюансами. Иногда терялись все сохранённые сессии, а при множестве активных сессий всё оставалось загружено в память, в частности, запущенные nvim процессы, которые поднимаю lsp, что со временем отъедало все больше и больше ОЗУ.
Я мне нужен был инструмент, который показывает все сессии в виде дерева, но загружает их только когда я впервые перейдёте в одну из них.
Так родился lazy-tmux, написанный на Go. Ключевые фичи:
Сохраняет текущую сессию, конкретную сессию или все сессии целиком. Снимки сохраняют окна, панели, layout, команды (например, npm, docker-compose, редакторы) и опционально scrollback историю шела.
Ленивое восстановление: поднимается только выбранная сессия. RAM не расходуется на всё сразу.
Интерактивный TUI браузер с деревом сессий, окон и панелей, таблицей с активными командами, временем последнего снимка, количеством окон/панелей и статусом сессии. Поддержка fuzzy search для быстрого поиска.
Навигация и полное управление сессиями и окнами с клавиатуры в TUI браузере сессий.
Гибкая сортировка сессий и окон через флаги --session-sort и --window-sort
Можно заменить встроенный TUI на fzf, использую облегчённый бинарник.
Автосейв через фоновый демон, периодически снимающий все сессии на диск.
Восстановление при старте tmux для автоматизации workflow.
Проект ещё молодой, но буду рад любой помощи и идеям по улучшению: GitHub issues
За моими новостями можно следить в Telegram-канале
