tmux-config
:green_book: Example tmux configuration - screen + vim key-bindings, system stat, cpu load bar.
Top Related Projects
🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️
Tmux configuration, that supercharges your tmux to build cozy and cool terminal environment
A list of awesome resources for tmux
Tmux Plugin Manager
basic tmux settings everyone can agree on
A pack of various Tmux themes.
Quick Overview
Tony's tmux-config is a customized configuration for tmux, a terminal multiplexer. It provides a set of pre-configured settings and key bindings to enhance the tmux experience, making it more user-friendly and feature-rich.
Pros
- Improved productivity with customized key bindings and shortcuts
- Enhanced visual appearance with a custom status bar and color scheme
- Includes useful plugins for better tmux functionality
- Easy to install and configure
Cons
- May require some time to learn and adapt to the custom key bindings
- Might conflict with existing user configurations
- Some users may prefer a more minimal setup
- Occasional updates may require manual intervention
Getting Started
-
Clone the repository:
git clone https://github.com/tony/tmux-config.git ~/.tmux
-
Create a symlink to the configuration file:
ln -s ~/.tmux/.tmux.conf ~/.tmux.conf
-
Install the plugins (optional):
~/.tmux/plugins/tpm/bin/install_plugins
-
Restart tmux or source the configuration:
tmux source-file ~/.tmux.conf
Competitor Comparisons
🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️
Pros of .tmux
- More actively maintained with frequent updates
- Extensive documentation and user guide
- Cross-platform support (Linux, macOS, Windows)
Cons of .tmux
- More complex configuration structure
- Steeper learning curve for beginners
- Potentially overwhelming feature set for simple use cases
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:
# Set prefix key to C-a
set -g prefix C-a
unbind C-b
bind C-a send-prefix
# Vim-like pane switching
bind -r k select-pane -U
bind -r j select-pane -D
Summary
tmux-config offers a simpler, more straightforward configuration suitable for beginners or those preferring a minimal setup. It focuses on essential keybindings and basic customizations.
.tmux provides a more comprehensive and feature-rich configuration, catering to advanced users and offering extensive customization options. It includes additional plugins, themes, and cross-platform compatibility, but may be overwhelming for newcomers to tmux.
Both repositories aim to enhance the tmux experience, but .tmux offers a more polished and actively maintained solution at the cost of increased complexity.
Tmux configuration, that supercharges your tmux to build cozy and cool terminal environment
Pros of tmux-config (samoshkin)
- More comprehensive configuration with advanced features like nested tmux sessions
- Includes custom status line with system information and battery status
- Provides detailed documentation and explanations for each configuration option
Cons of tmux-config (samoshkin)
- May be overwhelming for beginners due to its complexity
- Requires additional dependencies for some features (e.g., battery status)
Code Comparison
tmux-config (tony):
set -g prefix C-a
unbind C-b
bind C-a send-prefix
tmux-config (samoshkin):
set -g prefix C-a
unbind-key C-b
bind-key C-a send-prefix
set -g base-index 1
setw -g pane-base-index 1
The samoshkin configuration includes additional settings for window and pane indexing, making it more comprehensive. Both configurations change the prefix key to Ctrl+A, but samoshkin's version uses the more explicit bind-key
command.
Overall, tmux-config (samoshkin) offers a more feature-rich and detailed configuration, while tmux-config (tony) provides a simpler, more straightforward setup. The choice between the two depends on the user's needs and experience level with tmux.
A list of awesome resources for tmux
Pros of awesome-tmux
- Comprehensive collection of tmux resources, plugins, and tools
- Regularly updated with community contributions
- Provides a broader overview of the tmux ecosystem
Cons of awesome-tmux
- No direct configuration files or setup instructions
- May be overwhelming for beginners due to the large amount of information
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
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
awesome-tmux:
# No direct configuration code provided
# The repository focuses on listing and describing
# various tmux resources rather than providing
# specific configuration examples
Summary
tmux-config is a personal tmux configuration repository with ready-to-use settings, while awesome-tmux is a curated list of tmux resources, plugins, and tools. tmux-config offers immediate configuration options for users who want a pre-configured setup, whereas awesome-tmux provides a comprehensive overview of the tmux ecosystem, allowing users to explore and choose from a wide range of options to customize their tmux experience.
Tmux Plugin Manager
Pros of tpm
- Provides a plugin management system for tmux, allowing easy installation and updating of plugins
- Supports a wide range of community-created plugins, enhancing tmux functionality
- Offers a more modular approach to tmux configuration
Cons of tpm
- Requires additional setup and configuration compared to a pre-configured solution
- May introduce complexity for users who prefer a simpler, out-of-the-box experience
- Potential for conflicts or incompatibilities between plugins
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
tpm:
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
# Initialize TMUX plugin manager
run '~/.tmux/plugins/tpm/tpm'
tmux-config provides a pre-configured setup with custom keybindings, while tpm focuses on plugin management, allowing users to customize their tmux environment by adding specific plugins.
basic tmux settings everyone can agree on
Pros of tmux-sensible
- Focused on providing sensible default settings for tmux
- Part of the larger tmux-plugins ecosystem, offering better integration with other plugins
- Actively maintained with more recent updates
Cons of tmux-sensible
- Less comprehensive configuration compared to tmux-config
- Requires additional plugins for more advanced features
- May not include some user-specific customizations found in tmux-config
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-config:
set -g default-terminal "screen-256color"
set -g history-limit 20000
set -g buffer-limit 20
set -g escape-time 0
set -g display-time 1500
The code snippets show that both repositories set some common tmux options, but tmux-config includes more detailed customizations. tmux-sensible focuses on providing a set of universally beneficial defaults, while tmux-config offers a more opinionated and extensive configuration.
tmux-sensible is designed to be a lightweight, plugin-friendly option that works well with other tmux plugins. In contrast, tmux-config is a standalone configuration that may require more manual adjustments but provides a more comprehensive out-of-the-box setup.
A pack of various Tmux themes.
Pros of tmux-themepack
- Offers a wide variety of pre-configured themes (14 in total)
- Includes both powerline and non-powerline options for each theme
- Easy to install and switch between themes
Cons of tmux-themepack
- Limited customization options compared to tmux-config
- Focuses solely on visual themes, lacking additional tmux configurations
- May require manual updates to stay current with tmux changes
Code Comparison
tmux-themepack:
set -g @themepack 'powerline/default/cyan'
tmux-config:
set -g status-left "#[fg=green]#H #[fg=black]• #[fg=green,bright]#(uname -r)#[default]"
set -g status-right "#[fg=green,bg=default,bright]#(tmux-mem-cpu-load) #[fg=red,dim,bg=default]#(uptime | cut -f 4-5 -d ' ' | cut -f 1 -d ',') #[fg=white,bg=default]%a%l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d"
Summary
tmux-themepack provides a collection of ready-to-use themes for tmux, making it easy to change the visual appearance of your tmux sessions. It's ideal for users who want a quick and simple way to customize their tmux look. On the other hand, tmux-config offers more comprehensive customization options, including status bar configurations and key bindings, but requires more manual setup. The choice between the two depends on whether you prioritize ease of use and variety of themes (tmux-themepack) or detailed customization and additional functionality (tmux-config).
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 is a terminal multiplexer.
- Tested with tmux 1.5+.
- Support for tmux-mem-cpu-load.
- Prefix mapped to Ctrl-A for
screen
users.
New to tmux? The Tao of tmux is now available on Leanpub and Amazon Kindle. Read and browse the book for on the web.
Want more tmux? Check out the libtmux python library for controlling tmux, and load your code projects via YAML/JSON with tmuxp.
Share your .dot-configs
Have a tmux configuration you'd like to share? Whether a fork of this project, another's, or your own, submit it to awesome-tmux-configs.
Installation
Download:
git clone --recursive https://github.com/tony/tmux-config.git ~/.tmux
Copy tmux config to home:
ln -s ~/.tmux/.tmux.conf ~/.tmux.conf
Go to config dir:
cd ~/.tmux
Stats
tmux-mem-cpu-load
Works on Linux and OS X.
Prep ourself to download submodule (if you forgot --recursive
when cloning):
git submodule init
Download submodule:
git submodule update
Change dir to tmux-mem-cpu-load:
cd ~/.tmux/vendor/tmux-mem-cpu-load
Make _build
directory and cd
into it:
mkdir _build; cd _build
General make file:
cmake ..
Compile binary:
make
Install our binary to /usr/local/bin/tmux-mem-cpu-load
:
sudo make install
(No need to do sudo
if on OS X / macOS)
Go home:
cd ~
Launch tmux:
tmux
And press Control + a
then d
to go back to the terminal.
Update config:
tmux source-file ~/.tmux.conf
basic-cpu-and-memory.tmux
(Cross platform, tested with python 2.7+)
Update March 19, 2014. Works with psutil 2.0 now.
Install psutil
:
sudo pip install psutil
Copy ~/.tmux/vendor/basic-cpu-and-memory.tmux
to bin:
sudo cp ~/.tmux/vendor/basic-cpu-and-memory.tmux /usr/local/bin/tmux-mem-cpu-load
make executable:
sudo chmod +x /usr/local/bin/tmux-mem-cpu-load
Powerline (Advanced)
You can add suport for powerline by adding these to your
~/.tmux.conf
. Be sure to grab and install powerline-fonts
for your system.
See Powerline on ReadTheDocs.org for more info.
# pip install --user git+git://github.com/powerline/powerline
if-shell 'test -f ~/.local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf' 'source-file ~/.local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf'
# [sudo] pip install git+git://github.com/powerline/powerline
if-shell 'test -f /usr/local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf' 'source-file /usr/local/lib/python2.7/site-packages/powerline/bindings/tmux/powerline.conf'
# [sudo] pip install git+git://github.com/powerline/powerline
if-shell 'test -f /usr/local/lib/python2.7/dist-packages/powerline/bindings/tmux/powerline.conf' 'source-file /usr/local/lib/python2.7/dist-packages/powerline/bindings/tmux/powerline.conf'
# python 3.3 ?
if-shell 'test -f /usr/local/lib/python3.3/dist-packages/powerline/bindings/tmux/powerline.conf' 'source-file /usr/local/lib/python3.3/dist-packages/powerline/bindings/tmux/powerline.conf'
# python 3.4 ?
# if-shell 'test -f /usr/local/lib/python3.4/dist-packages/powerline/bindings/tmux/powerline.conf' 'source-file /usr/local/lib/python3.4/dist-packages/powerline/bindings/tmux/powerline.conf'
# python 3.5 ?
# if-shell 'test -f /usr/local/lib/python3.5/dist-packages/powerline/bindings/tmux/powerline.conf' 'source-file /usr/local/lib/python3.5/dist-packages/powerline/bindings/tmux/powerline.conf'
# python 3.6 ?
# if-shell 'test -f /usr/local/lib/python3.6/dist-packages/powerline/bindings/tmux/powerline.conf' 'source-file /usr/local/lib/python3.6/dist-packages/powerline/bindings/tmux/powerline.conf'
Start tmux
To start a session:
tmux
To reattach a previous session:
tmux attach
To reload config file
<Control + b>:
(which could Ctrl-B or Ctrl-A if you overidden it) then source-file ~/.tmux.conf
Commands
Our prefix/leader key is Control + a
now (just like the screen
multiplexer). This sequence must
be typed before any tmux shortcut.
Control + a
before any commandControl + a
then?
to bring up list of keyboard shortcutsControl + a
then"
to split windowControl + a
then<Space>
to change pane arrangementControl + a
theno
to rotate panesControl + a
thenh
,j
,k
,l
to move left, down, up, right. Respectively. (vim hjkl)Control + a
then;
to go to last panel
Beyond your first window:
Control + a
thenc
to create a new windowControl + a
thenn
to next windowControl + a
thenp
to previous windowControl + a
then[0-9]
move to window numberControl + a
then&
to kill window
Custom:
Control + a
thenm
to switch tomain-horizontal
layout with the main window at 2/3 height..Control + a
thenM
to switch tomain-vertical
layout with the main window at half width.
More configs / Tools
- Save / Load your tmux workspaces through JSON or YAML with tmuxp.
- Clone + Synchronize your git / hg / svn projects through JSON / YAML with vcspull.
- Modular, Lazy-loading vim configuration with support for C, C++, Python, Go and Javascript with tony/vim-config
- Modular dot-config example tony/.dot-config
Other
- Github: http://www.github.com/tony
- Website: http://www.git-pull.com
- LICENSE: MIT
- Author: Tony Narlock (tony@git-pull.com)
Top Related Projects
🇫🇷 Oh my tmux! My self-contained, pretty & versatile tmux configuration made with ❤️
Tmux configuration, that supercharges your tmux to build cozy and cool terminal environment
A list of awesome resources for tmux
Tmux Plugin Manager
basic tmux settings everyone can agree on
A pack of various Tmux themes.
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