Convert Figma logo to code with AI

tony logotmux-config

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

1,804
479
1,804
10

Top Related Projects

21,777

🇫🇷 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

11,935

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

  1. Clone the repository:

    git clone https://github.com/tony/tmux-config.git ~/.tmux
    
  2. Create a symlink to the configuration file:

    ln -s ~/.tmux/.tmux.conf ~/.tmux.conf
    
  3. Install the plugins (optional):

    ~/.tmux/plugins/tpm/bin/install_plugins
    
  4. Restart tmux or source the configuration:

    tmux source-file ~/.tmux.conf
    

Competitor Comparisons

21,777

🇫🇷 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.

11,935

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 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 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 command
  • Control + a then ? to bring up list of keyboard shortcuts
  • Control + a then " to split window
  • Control + a then <Space> to change pane arrangement
  • Control + a then o to rotate panes
  • Control + a then h, 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 then c to create a new window
  • Control + a then n to next window
  • Control + a then p to previous window
  • Control + a then [0-9] move to window number
  • Control + a then & to kill window

Custom:

  • Control + a then m to switch to main-horizontal layout with the main window at 2/3 height..
  • Control + a then M to switch to main-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