Top Related Projects
Cross-platform, fast, feature-rich, GPU based terminal
A cross-platform, OpenGL terminal emulator.
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
A terminal workspace with batteries included
A list of awesome resources for tmux
🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️
Quick Overview
Tmux Plugin Manager (TPM) is a plugin manager for tmux, a terminal multiplexer. It simplifies the process of installing, updating, and managing tmux plugins, enhancing the functionality and customization options of tmux.
Pros
- Easy installation and management of tmux plugins
- Supports automatic plugin updates
- Allows for a consistent plugin setup across different machines
- Extensible and customizable
Cons
- Requires manual intervention for initial setup
- Limited to tmux-specific plugins
- May introduce additional complexity for simple tmux setups
- Potential for conflicts between plugins
Getting Started
To get started with TPM:
-
Clone the TPM repository:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
-
Add TPM to your tmux configuration file (
~/.tmux.conf
):# List of plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm'
-
Reload tmux configuration:
tmux source ~/.tmux.conf
-
Install plugins by pressing
prefix
+I
(capital i) in a tmux session.
Competitor Comparisons
Cross-platform, fast, feature-rich, GPU based terminal
Pros of kitty
- Full-featured GPU-accelerated terminal emulator, offering better performance and graphics capabilities
- Cross-platform support (Linux, macOS, and experimental Windows support)
- Extensive configuration options and customization features
Cons of kitty
- Steeper learning curve compared to traditional terminal multiplexers
- Requires more system resources due to its graphical nature
- May not integrate as seamlessly with existing terminal-based workflows
Code comparison
kitty configuration example:
font_family Fira Code
font_size 12.0
background_opacity 0.9
enable_audio_bell no
tpm installation in .tmux.conf:
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'
Summary
While kitty offers a modern, feature-rich terminal experience with GPU acceleration, tpm focuses on enhancing tmux functionality through plugins. kitty provides a complete terminal solution, whereas tpm extends an existing terminal multiplexer. The choice between them depends on whether you prefer a comprehensive terminal emulator or a plugin manager for tmux.
A cross-platform, OpenGL terminal emulator.
Pros of Alacritty
- Standalone terminal emulator with GPU acceleration for improved performance
- Cross-platform support (Windows, macOS, Linux)
- Extensive configuration options for customization
Cons of Alacritty
- Lacks built-in plugin management system
- No native support for tabs or split panes
Code Comparison
Alacritty configuration (YAML):
window:
dimensions:
columns: 80
lines: 24
padding:
x: 2
y: 2
font:
normal:
family: Fira Code
style: Regular
TPM plugin installation (shell script):
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'
Key Differences
- Alacritty is a terminal emulator, while TPM is a plugin manager for tmux
- Alacritty focuses on performance and customization, TPM on extending tmux functionality
- Alacritty uses YAML for configuration, TPM uses tmux configuration syntax
Use Cases
- Alacritty: Users seeking a fast, customizable terminal emulator
- TPM: tmux users looking to enhance their terminal multiplexer experience with plugins
Community and Development
- Alacritty: Active development, large community, frequent updates
- TPM: Stable project, focused on tmux ecosystem, less frequent updates
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
Pros of WezTerm
- Standalone terminal emulator with built-in multiplexer, eliminating the need for separate tmux installation
- Cross-platform support (Windows, macOS, Linux) with consistent experience
- GPU-accelerated rendering for improved performance
Cons of WezTerm
- Steeper learning curve due to Lua-based configuration
- Less extensive plugin ecosystem compared to tmux and TPM
Code Comparison
WezTerm configuration (Lua):
return {
font = wezterm.font("JetBrains Mono"),
color_scheme = "Dracula",
enable_tab_bar = false,
}
TPM configuration (Shell):
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'dracula/tmux'
run '~/.tmux/plugins/tpm/tpm'
Summary
WezTerm is a feature-rich terminal emulator with built-in multiplexing capabilities, offering cross-platform support and GPU acceleration. It uses Lua for configuration, which may be more complex for some users. TPM, on the other hand, is a plugin manager for tmux, providing a simpler setup process and a wider range of community-contributed plugins. The choice between the two depends on whether you prefer an all-in-one solution (WezTerm) or a more modular approach with tmux and TPM.
A terminal workspace with batteries included
Pros of Zellij
- Built-in layout system for easy window management
- Rust-based, offering better performance and memory safety
- More modern and actively developed terminal multiplexer
Cons of Zellij
- Smaller ecosystem and fewer plugins compared to tmux
- Steeper learning curve for users familiar with tmux
- Less mature and potentially less stable than tmux
Code Comparison
Zellij configuration (in YAML):
keybinds:
- action: [SwitchToMode: Normal]
key: [Ctrl: 'b']
- action: [NewPane: Down]
key: [Ctrl: 'd']
TPM (tmux plugin manager) configuration:
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'
Summary
Zellij is a modern terminal multiplexer written in Rust, offering built-in layouts and potentially better performance. However, it has a smaller ecosystem and may be less familiar to tmux users. TPM, on the other hand, is a plugin manager for tmux, which has a larger ecosystem and more extensive documentation. The choice between the two depends on user preferences, familiarity with tmux, and specific requirements for terminal multiplexing.
A list of awesome resources for tmux
Pros of awesome-tmux
- Comprehensive resource collection: Curates a wide range of tmux-related tools, plugins, and learning materials
- Community-driven: Allows for easy contributions and updates from the tmux community
- Categorized structure: Organizes resources into clear sections for easy navigation
Cons of awesome-tmux
- No direct plugin management: Unlike tpm, it doesn't provide a system for installing or managing tmux plugins
- Potentially overwhelming: The large amount of information may be daunting for new tmux users
- Manual curation required: Users need to manually explore and install resources listed in the repository
Code comparison
tpm:
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
run '~/.tmux/plugins/tpm/tpm'
awesome-tmux:
## Tools
- [tmux-cssh](https://github.com/dennishafemann/tmux-cssh): TMUX with a "ClusterSSH"-like behavior.
- [tmux-powerline](https://github.com/erikw/tmux-powerline): A hackable statusbar for TMUX.
Note: The code comparison shows the different nature of these repositories. tpm provides a plugin management system with configuration in the tmux config file, while awesome-tmux is a curated list of resources in Markdown format.
🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️
Pros of .tmux
- Provides a comprehensive, pre-configured tmux setup out of the box
- Includes sensible default key bindings and status bar configuration
- Offers easy customization through a separate
.tmux.conf.local
file
Cons of .tmux
- Less flexibility in plugin management compared to tpm
- May require more manual configuration for advanced users
- Limited to a single configuration style, which might not suit all users
Code Comparison
.tmux configuration snippet:
# increase history size
set -g history-limit 10000
# start with mouse mode enabled
set -g mouse on
# force Vi mode
set -g status-keys vi
set -g mode-keys vi
tpm usage example:
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-resurrect'
# Initialize TMUX plugin manager
run '~/.tmux/plugins/tpm/tpm'
Summary
.tmux offers a ready-to-use tmux configuration with sensible defaults, while tpm provides a flexible plugin management system for tmux. .tmux is ideal for users who want a quick, pre-configured setup, whereas tpm is better suited for those who prefer to build their own custom tmux environment with modular plugins.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Tmux Plugin Manager
Installs and loads tmux
plugins.
Tested and working on Linux, OSX, and Cygwin.
See list of plugins here.
Installation
Requirements: tmux
version 1.9 (or higher), git
, bash
.
Clone TPM:
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
Put this at the bottom of ~/.tmux.conf
($XDG_CONFIG_HOME/tmux/tmux.conf
works too):
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'github_username/plugin_name#branch'
# set -g @plugin 'git@github.com:user/plugin'
# set -g @plugin 'git@bitbucket.com:user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
Reload TMUX environment so TPM is sourced:
# type this in terminal if tmux is already running
tmux source ~/.tmux.conf
That's it!
Installing plugins
- Add new plugin to
~/.tmux.conf
withset -g @plugin '...'
- Press
prefix
+ I (capital i, as in Install) to fetch the plugin.
You're good to go! The plugin was cloned to ~/.tmux/plugins/
dir and sourced.
Uninstalling plugins
- Remove (or comment out) plugin from the list.
- Press
prefix
+ alt + u (lowercase u as in uninstall) to remove the plugin.
All the plugins are installed to ~/.tmux/plugins/
so alternatively you can
find plugin directory there and remove it.
Key bindings
prefix
+ I
- Installs new plugins from GitHub or any other git repository
- Refreshes TMUX environment
prefix
+ U
- updates plugin(s)
prefix
+ alt + u
- remove/uninstall plugins not on the plugin list
Docs
- Help, tpm not working - problem solutions
More advanced features and instructions, regular users probably do not need this:
- How to create a plugin. It's easy.
- Managing plugins via the command line
- Changing plugins install dir
- Automatic TPM installation on a new machine
Tests
Tests for this project run on Travis CI.
When run locally, vagrant is required. Run tests with:
# within project directory
./run_tests
License
Top Related Projects
Cross-platform, fast, feature-rich, GPU based terminal
A cross-platform, OpenGL terminal emulator.
A GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust
A terminal workspace with batteries included
A list of awesome resources for tmux
🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot