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
Alt
andShift
combinations. - Persistent Sessions: Automatically save and restore sessions using
tmux-resurrect
andtmux-continuum
. - Enhanced Navigation: Seamless movement between
tmux
panes andvim
splits withsunaku/tmux-navigate
. - Fuzzy Finder Integration: Quickly switch between windows and panes using
tmux-fzf
. - Clipboard Support: Copy to system clipboard with
xclip
orpbcopy
, 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.conf
file 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+b
followed 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.conf
This 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
tmux
plugins. - tmux-plugins/tmux-sensible: Provides default settings that "just work".
- sunaku/tmux-navigate: Enables seamless navigation between
tmux
panes andvim
splits. - sainnhe/tmux-fzf: Adds fuzzy finder capabilities for quick navigation.
- tmux-plugins/tmux-copycat: Enhances searching in
tmux
copy mode. - tmux-plugins/tmux-open: Enables opening highlighted selections with the system opener.
- tmux-plugins/tmux-resurrect: Saves and restores
tmux
sessions. - tmux-plugins/tmux-continuum: Automates saving of
tmux
environments. - 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/tpm
and that you're pressingPrefix + I
inside atmux
session. - Mouse Support: If mouse interactions aren't working, ensure that your terminal emulator supports mouse events and that
set -g mouse on
is present in your.tmux.conf
.
This project is licensed under the MIT License.
For more details and updates, visit the easy-tmux GitHub repository.