Convert Figma logo to code with AI

tmux-plugins logotmux-sensible

basic tmux settings everyone can agree on

1,728
90
1,728
30

Top Related Projects

11,935

Tmux Plugin Manager

21,777

🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️

A list of awesome resources for tmux

:green_book: Example tmux configuration - screen + vim key-bindings, system stat, cpu load bar.

A pack of various Tmux themes.

Quick Overview

The tmux-sensible project is a collection of sensible default settings for the popular terminal multiplexer, Tmux. It aims to provide a consistent and user-friendly experience by setting up a set of recommended configurations and key bindings.

Pros

  • Consistent Configuration: The project provides a set of well-tested and widely-used default settings, ensuring a consistent experience across different environments.
  • Improved Productivity: The pre-configured key bindings and settings help users be more productive by reducing the need for manual configuration.
  • Cross-platform Compatibility: The project works across various operating systems, including Linux, macOS, and Windows (with the appropriate Tmux installation).
  • Active Maintenance: The project is actively maintained, with regular updates and bug fixes to ensure compatibility with the latest Tmux versions.

Cons

  • Limited Customization: While the project provides sensible defaults, users who prefer a highly customized Tmux setup may find the provided configuration limiting.
  • Potential Conflicts: If users have existing Tmux configurations, the tmux-sensible settings may conflict with their own preferences, requiring additional manual configuration.
  • Dependency on Tmux: The project is tightly coupled with Tmux, and users who do not use Tmux or prefer alternative terminal multiplexers may not find it useful.
  • Opinionated Defaults: The project's default settings may not align with the preferences of all users, and some may prefer to configure Tmux manually.

Getting Started

To use the tmux-sensible project, follow these steps:

  1. Install Tmux on your system, if you haven't already. The installation process varies depending on your operating system.

  2. Clone the tmux-sensible repository:

    git clone https://github.com/tmux-plugins/tmux-sensible.git
    
  3. Add the following lines to your Tmux configuration file (usually located at ~/.tmux.conf):

    # Load the tmux-sensible plugin
    run-shell "~/.tmux/plugins/tmux-sensible/sensible.tmux"
    
  4. Reload your Tmux configuration:

    tmux source-file ~/.tmux.conf
    

That's it! You should now have the tmux-sensible settings applied to your Tmux environment.

Competitor Comparisons

11,935

Tmux Plugin Manager

Pros of tpm

  • Provides a plugin management system for tmux
  • Allows easy installation and updating of multiple plugins
  • Supports custom plugin directories and lazy loading

Cons of tpm

  • Requires additional setup and configuration
  • May introduce complexity for users who only need basic tmux enhancements

Code comparison

tmux-sensible:

set -g history-limit 50000
set -g display-time 4000
set -g status-interval 5
set -g default-terminal "screen-256color"
set -g focus-events on

tpm:

set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'

Summary

tmux-sensible provides a set of sensible default options for tmux, while tpm is a plugin manager that allows users to install and manage multiple tmux plugins, including tmux-sensible. tmux-sensible is more straightforward and requires less setup, but tpm offers greater flexibility and extensibility for users who want to customize their tmux environment with multiple plugins.

21,777

🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️

Pros of .tmux

  • More comprehensive configuration with advanced features like mouse support and custom key bindings
  • Includes a status bar with system information and customizable themes
  • Provides a user-friendly installation process with automatic backup of existing configurations

Cons of .tmux

  • May be overwhelming for users who prefer a simpler, more minimal setup
  • Requires more configuration and customization to fully utilize all features
  • Potentially higher learning curve for new tmux users

Code Comparison

tmux-sensible:

set -g history-limit 50000
set -g display-time 4000
set -g status-interval 5
set -g default-terminal "screen-256color"
set -g focus-events on

.tmux:

set -g history-limit 5000
set -g display-time 750
set -g status-interval 5
set -g default-terminal "screen-256color"
set -g mouse on

Summary

tmux-sensible focuses on providing sensible defaults for tmux, aiming to enhance the out-of-the-box experience without overwhelming users. It offers a minimal set of configurations that most users would find beneficial.

.tmux, on the other hand, provides a more feature-rich and customizable experience. It includes a status bar, mouse support, and various advanced features. While it offers more functionality, it may require more time to set up and customize to individual preferences.

Both projects aim to improve the tmux experience, but they cater to different user needs and preferences. tmux-sensible is ideal for those seeking a simple enhancement, while .tmux is better suited for users who want a more comprehensive and customizable tmux environment.

A list of awesome resources for tmux

Pros of awesome-tmux

  • Comprehensive resource list for tmux, including plugins, tutorials, and configurations
  • Regularly updated with community contributions
  • Covers a wide range of tmux-related topics beyond basic configuration

Cons of awesome-tmux

  • Not a plugin itself, requires manual implementation of listed resources
  • May be overwhelming for beginners due to the large amount of information
  • Lacks the simplicity and immediate usability of tmux-sensible

Code comparison

tmux-sensible:

set -g history-limit 50000
set -g display-time 4000
set -g status-interval 5
set -g default-terminal "screen-256color"
set -g focus-events on

awesome-tmux (example configuration from the list):

set -g default-terminal "screen-256color"
set -g status-keys vi
setw -g mode-keys vi
setw -g mouse on
set -g history-limit 10000

Summary

tmux-sensible provides a set of sensible default options for tmux, making it easy to get started with a solid configuration. awesome-tmux, on the other hand, is a curated list of tmux resources, offering a wealth of information and options for users to explore and implement. While tmux-sensible is more straightforward for immediate use, awesome-tmux provides a broader range of possibilities for customization and learning.

:green_book: Example tmux configuration - screen + vim key-bindings, system stat, cpu load bar.

Pros of tmux-config

  • More comprehensive configuration with additional features and customizations
  • Includes custom key bindings and visual enhancements
  • Provides a complete, ready-to-use tmux configuration

Cons of tmux-config

  • May require more setup and customization for individual preferences
  • Potentially overwhelming for new tmux users due to its extensive features
  • Less frequently updated compared to tmux-sensible

Code Comparison

tmux-config:

# Set prefix key to Ctrl-a
unbind-key C-b
set-option -g prefix C-a

# Use Alt-arrow keys to switch panes
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R

tmux-sensible:

# Address vim mode switching delay (http://superuser.com/a/252717/65504)
set -s escape-time 0

# Increase scrollback buffer size from 2000 to 50000 lines
set -g history-limit 50000

tmux-sensible focuses on providing sensible defaults for tmux, while tmux-config offers a more extensive set of configurations and customizations. tmux-sensible is designed to be a minimal plugin that enhances the default tmux experience, whereas tmux-config provides a complete tmux setup with additional features and visual enhancements. Users looking for a simple improvement to their tmux experience may prefer tmux-sensible, while those seeking a more comprehensive configuration might opt for tmux-config.

A pack of various Tmux themes.

Pros of tmux-themepack

  • Offers a wide variety of pre-configured themes for tmux
  • Allows easy customization of tmux appearance without manual configuration
  • Includes both powerline and non-powerline themes

Cons of tmux-themepack

  • Focuses solely on visual customization, lacking functional enhancements
  • May require additional setup for full powerline support
  • Does not provide sensible default settings for tmux behavior

Code Comparison

tmux-sensible:

set -g history-limit 50000
set -g display-time 4000
set -g status-interval 5
set -g default-terminal "screen-256color"
set -g focus-events on

tmux-themepack:

set -g @themepack 'powerline/default/cyan'
set -goq @themepack-status-left-area-left-format "#S"
set -goq @themepack-status-left-area-middle-format "#(whoami)"
set -goq @themepack-status-left-area-right-format "#I:#P"
set -goq @themepack-status-right-area-left-format "%H:%M:%S"

tmux-sensible focuses on improving tmux functionality with sensible defaults, while tmux-themepack concentrates on enhancing visual appearance through themes. tmux-sensible provides practical settings like increased history limit and improved terminal compatibility, whereas tmux-themepack offers a range of aesthetic options for customizing the tmux status bar and overall look. Users may find value in combining both plugins to achieve both functional and visual improvements in their tmux setup.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Tmux sensible

A set of tmux options that should be acceptable to everyone.

Inspired by vim-sensible.

Tested and working on Linux, OSX and Cygwin.

Principles

  • tmux-sensible options should be acceptable to every tmux user!
    If any of the options bothers you, please open an issue and it will probably be updated (or removed).
  • if you think a new option should be added, feel free to open a pull request.
  • no overriding of user defined settings.
    Your existing .tmux.conf settings are respected and they won't be changed. That way you can use tmux-sensible if you have a few specific options.

Goals

  • group standard tmux community options in one place
  • remove clutter from your .tmux.conf
  • educate new tmux users about basic options

Options

# Address vim mode switching delay (http://superuser.com/a/252717/65504)
set -s escape-time 0

# Increase scrollback buffer size from 2000 to 50000 lines
set -g history-limit 50000

# Increase tmux messages display duration from 750ms to 4s
set -g display-time 4000

# Refresh 'status-left' and 'status-right' more often, from every 15s to 5s
set -g status-interval 5

# (OS X) Fix pbcopy/pbpaste for old tmux versions (pre 2.6)
set -g default-command "reattach-to-user-namespace -l $SHELL"

# Upgrade $TERM
set -g default-terminal "screen-256color"

# Emacs key bindings in tmux command prompt (prefix + :) are better than
# vi keys, even for vim users
set -g status-keys emacs

# Focus events enabled for terminals that support them
set -g focus-events on

# Super useful when using "grouped sessions" and multi-monitor setup
setw -g aggressive-resize on

Key bindings

# Easier and faster switching between next/prev window
bind C-p previous-window
bind C-n next-window

Above bindings enhance the default prefix + p and prefix + n bindings by allowing you to hold Ctrl and repeat a + p/a + n (if your prefix is C-a), which is a lot quicker.

# Source .tmux.conf as suggested in `man tmux`
bind R source-file '~/.tmux.conf'

"Adaptable" key bindings that build upon your prefix value:

# If prefix is 'C-a'
bind C-a send-prefix
bind a last-window

If prefix is C-b, above keys will be C-b and b.
If prefix is C-z, above keys will be C-z and z... you get the idea.

Installation with Tmux Plugin Manager (recommended)

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

set -g @plugin 'tmux-plugins/tmux-sensible'

Hit prefix + I to fetch the plugin and source it. That's it!

Manual Installation

Clone the repo:

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

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

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

Reload TMUX environment with $ tmux source-file ~/.tmux.conf, and that's it.

Other goodies

You might also find these useful:

  • copycat improve tmux search and reduce mouse usage
  • pain control useful standard bindings for controlling panes
  • resurrect persists tmux environment across system restarts

License

MIT