A streamlined tmux configuration setup designed to enhance your terminal multiplexing experience with intuitive keybindings, efficient pane management, and useful plugins.
- Custom Keybindings: Navigate and manage panes/windows using
AltandShiftcombinations. - Persistent Sessions: Automatically save and restore sessions using
tmux-resurrectandtmux-continuum. - Enhanced Navigation: Seamless movement between
tmuxpanes andvimsplits withsunaku/tmux-navigate. - Fuzzy Finder Integration: Quickly switch between windows and panes using
tmux-fzf. - Clipboard Support: Copy to system clipboard with
xcliporpbcopy, depending on your OS. - Mouse Support: Enable mouse interactions for pane selection and resizing.
- Custom Theme: Aesthetic status bar with directory name display using
tmux-onedark-theme.
Ensure the following are installed on your system:
- tmux (version 3.2a or higher recommended)
- git
- xclip (for Linux clipboard integration)
- pbcopy/pbpaste (for macOS clipboard integration)
-
Clone the Repository:
git clone https://github.com/shivamashtikar/easy-tmux.git cd easy-tmux -
Run the Setup Script:
sh setup.sh
This script will:
- Copy the
tmux.conffile to your home directory as.tmux.conf. - Clone the Tmux Plugin Manager (TPM) into
~/.tmux/plugins/tpm.
-
Install Plugins:
After starting
tmux, pressPrefix+I(that'sCtrl+bfollowed byI) to install the plugins specified in the configuration.
For a lightweight setup on a cloud server (without plugins), you can use this one-liner to download and install the tmux.conf.cloud configuration:
curl -fsSL https://raw.githubusercontent.com/shivamashtikar/easy-tmux/main/tmux.conf.cloud -o ~/.tmux.conf && tmux source-file ~/.tmux.confThis command downloads the cloud-friendly configuration, saves it as .tmux.conf in your home directory, and immediately applies it to your current session.
| Action | Keybinding |
|---|---|
| Split pane vertically | Alt + / |
| Split pane horizontally | Alt + ' |
| Navigate panes | Alt + Arrow Keys |
| Resize panes | Shift + Arrow Keys |
| Create new window | Alt + n |
| Create new session | Alt + N |
| Toggle full-screen pane | Alt + f |
| View all windows (tree view) | Alt + d |
| Close current pane | Alt + q |
| Close current window | Alt + Q |
| Reload tmux configuration | Prefix + R |
| Open htop in new pane | Prefix + p |
| List all keybindings | Prefix + ? |
| Switch to last pane | Prefix + Ctrl + a |
| Copy mode (vi-style) | v to select, y to copy |
| Open fzf window switcher | Alt + o |
Note: The Prefix key is Ctrl + b by default.
- tmux-plugins/tpm: Manages
tmuxplugins. - tmux-plugins/tmux-sensible: Provides default settings that "just work".
- sunaku/tmux-navigate: Enables seamless navigation between
tmuxpanes andvimsplits. - sainnhe/tmux-fzf: Adds fuzzy finder capabilities for quick navigation.
- tmux-plugins/tmux-copycat: Enhances searching in
tmuxcopy mode. - tmux-plugins/tmux-open: Enables opening highlighted selections with the system opener.
- tmux-plugins/tmux-resurrect: Saves and restores
tmuxsessions. - tmux-plugins/tmux-continuum: Automates saving of
tmuxenvironments. - shivamashtikar/tmux-onedark-theme: Applies a One Dark theme to the status bar.
Feel free to modify the .tmux.conf file to suit your preferences. For instance, you can change keybindings, adjust the status bar, or add/remove plugins as needed.
- Clipboard Issues: Ensure
xclip(Linux) orpbcopy/pbpaste(macOS) is installed for clipboard integration. - Plugin Installation: If plugins aren't installing, verify that TPM is correctly cloned into
~/.tmux/plugins/tpmand that you're pressingPrefix + Iinside atmuxsession. - Mouse Support: If mouse interactions aren't working, ensure that your terminal emulator supports mouse events and that
set -g mouse onis present in your.tmux.conf.
This project is licensed under the MIT License.
For more details and updates, visit the easy-tmux GitHub repository.


