Skip to content

shivamashtikar/easy-tmux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

easy-tmux

A streamlined tmux configuration setup designed to enhance your terminal multiplexing experience with intuitive keybindings, efficient pane management, and useful plugins.

Tmux Tmux Fzf Tmux Tree View

Features

  • Custom Keybindings: Navigate and manage panes/windows using Alt and Shift combinations.
  • Persistent Sessions: Automatically save and restore sessions using tmux-resurrect and tmux-continuum.
  • Enhanced Navigation: Seamless movement between tmux panes and vim splits with sunaku/tmux-navigate.
  • Fuzzy Finder Integration: Quickly switch between windows and panes using tmux-fzf.
  • Clipboard Support: Copy to system clipboard with xclip or pbcopy, 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.

Prerequisites

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)

Installation

  1. Clone the Repository:

    git clone https://github.com/shivamashtikar/easy-tmux.git
    cd easy-tmux
  2. 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.
  1. Install Plugins:

    After starting tmux, press Prefix + I (that's Ctrl+b followed by I) to install the plugins specified in the configuration.

Quick Setup for Cloud Servers

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.

Keybindings Overview

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.

Plugin Integrations

Customization

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.

Troubleshooting

  • Clipboard Issues: Ensure xclip (Linux) or pbcopy/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 pressing Prefix + I inside a tmux 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.

License

This project is licensed under the MIT License.


For more details and updates, visit the easy-tmux GitHub repository.


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages