Skip to content

Lightweight tmux utils for manipulating sessions

License

Notifications You must be signed in to change notification settings

pazbryant/tmux-sessionist

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tmux sessionist

Lightweight tmux utilities for manipulating tmux sessions.

Tested and working on Linux, OSX and Cygwin.

Problem(s)

Sessions are a second class citizen in tmux environment:

  • there are no default key bindings for creating or deleting sessions
  • creating a session is cumbersome, just try tmux new-session -s name inside tmux (hint: you first have to detach)
  • deleting (killing) current session by default detaches tmux (why?)
  • no fast way for session switching when there's more than ~5 sessions

This plugin solves the above problems.

Personal changes

  • prefix + X (shift + x) - kill current session without detaching tmux and without confirmation

Features

  • prefix + g - prompts for session name and switches to it. Performs 'kind-of' name completion.
    Faster than the built-in prefix + s prompt for long session lists.
  • prefix + C (shift + c) - prompt for creating a new session by name.
  • prefix + X (shift + x) - kill current session without detaching tmux.
  • prefix + S (shift + s) - switches to the last session.
    The same as built-in prefix + L that everyone seems to override with some other binding.
  • prefix + @ - promote current pane into a new session.
    Analogous to how prefix + ! breaks current pane to a new window.
  • prefix + ctrl-@ - promote current window into a new session.
  • prefix + t<secondary-key> - join currently marked pane (prefix + m) to current session/window, and switch to it
    • secondary-keys
      • h, -, ": join horizontally
      • v, |, %: join vertically
      • f, @: join full screen

Installation with Tmux Plugin Manager (recommended)

Add plugin to the list of TPM plugins in .tmux.conf:

set -g @plugin 'plbryant/tmux-sessionist'

Hit prefix + I to fetch the plugin and source it. You can now use the plugin.

Manual Installation

Clone the repo:

$ git clone https://github.com/tmux-plugins/tmux-sessionist ~/clone/path

Add this line to the bottom of .tmux.conf:

run-shell ~/clone/path/sessionist.tmux

Reload TMUX environment with $ tmux source-file ~/.tmux.conf. You can now use the plugin.

Other plugins

You might also find these useful:

  • pain control - useful standard bindings for controlling panes
  • logging - easy logging and screen capturing

License

MIT

About

Lightweight tmux utils for manipulating sessions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%