YanivZalach / Tmux_Config

My Tmux configuration file! A powerful tool to manage and organize your terminal sessions.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

My Awesome Tmux Configuration

License: MIT

Tmux Logo

Tmux is a terminal multiplexer that allows you to split your terminal into multiple panes and windows, enhancing your productivity by providing a seamless way to manage and organize your terminal sessions. It's like having multiple terminals within one, all in a single window.

What do we have here? My Tmux configuration file!πŸͺ„

Who can use it? Anyone can use it!πŸ“Ί

tmux

Requirements πŸ“‹

Before using this Tmux configuration, make sure you have the following installed on your system:

  • Tmux: Ensure Tmux is installed on your system.

  • Terminal Emulator: Use a compatible terminal emulator-you have probably one installed (e.g.,Kitty, Alacritty, GNOME Terminal).

  • reattach-to-user-namespace: Required for clipboard support on MacOS (installable via Homebrew).

Installation πŸ“¦

  1. Install the programs listed above using your package manager or download them from their respective websites.

  2. Copy the config file: Linux & MacOS & WSL: Copy and paste the following command into the terminal and press 'enter':

    git clone https://github.com/YanivZalach/Tmux_Config.git ~/.Tmux_Config
    mv ~/.Tmux_Config/.tmux.conf ~/.
    
  3. We are Done!

Usage, Features, and Special Key Bindings πŸš€πŸͺ™

Get ready to supercharge your Tmux experience

Features πŸŽ‰

  • πŸ–±οΈ Mouse Support: Enjoy using the mouse in Tmux with your preferred terminal emulator.
  • ⏱️ Status Bar: Information-rich status bar displayed at the top.
  • πŸ”„ Automatic Renumbering: Windows are automatically renumbered to fill gaps.
  • πŸ” Immediate Window Switching: Quickly change windows using arrow keys.
  • 🌈 256 Colors: Supports 256-color terminals for a colorful experience.

Key Bindings

  • Prefix Key 🌟

    • 🎯 C-a , C-x: Your starting point. This is the prefix key. All Tmux commands begin with this key followed by another keybinding.
  • General Commands πŸ› οΈ

    • 🧲 <Prefix> s: Detouch (quit and save) Tmux session.

    • M <Prefix> :: Command Prompt

    • πŸ”„ <Prefix> r: Reload your Tmux configuration.

    • πŸͺŸ <Prefix> q: Confirm and kill the current pane.

    • πŸšͺ <Prefix> X: Confirm and kill the current window.

    • πŸͺŸ <Prefix> Q: Confirm and kill the entire session.

    • πŸ“‹ <Prefix> C-l: Clearing the terminal window

  • Session Management πŸͺŸ

    • πŸ“Š<Prefix> C-s: Session Tree
    • πŸ“› <Prefix> M: Rename the current session.
  • Window Management πŸͺŸ

    • πŸͺŸ <Prefix> c: Create a new Tmux window.

    • πŸ–οΈ <Prefix> m: Rename the current window.

    • ⬅️ S-Left: Move to the Left window.

    • ➑️ S-Right: Move to the Right window.

    • πŸ”€ C-S-Left: Move window to the Left.

    • πŸ”€ C-S-Right: Move window to the Right .

    • πŸ”„ <Prefix> t: Move to the next window.

    • πŸ”„ <Prefix> T: Move to the previous window.

    • πŸ”ƒ <Prefix> C-o: Rotate windows (circularly).

  • Pane Management πŸͺŸ

    • πŸ”—<Prefix> S: Synchronize panes.

    • πŸ“Š<Prefix> d: Display pane numbers.

    • 🧩<Prefix> e: Move to the previously active pane.

    • ➑️ <Prefix> x: Split the current pane horizontally (x axis).

    • ⬇️ <Prefix> y: Split the current pane vertically (y axis).

    • πŸ“Š<Prefix> C-y: Use a horizontal layout.

    • πŸ“Š<Prefix> C-x: Use a vertical layout.

    • ⏩<Prefix> Enter: Switch to the next layout.

    • ⬅️ A-Left: Resize pane to the left Not in Nvim.

    • ➑️ A-Right: Resize pane to the right Not in Nvim.

    • ⬆️ A-Up: Resize pane up Not in Nvim.

    • ⬇️ A-Down: Resize pane down Not in Nvim.

    • ⬅️ <Prefix>-Left: Resize pane to the left.

    • ➑️ <Prefix>-Right: Resize pane to the right.

    • ⬆️ <Prefix>-Up: Resize pane up.

    • ⬇️ <Prefix>-Down: Resize pane down.

    • ⬅️ C-h: Move to the pane on the left Not in Vim/Nvim.

    • ➑️ C-l: Move to the pane on the right Not in Vim/Nvim.

    • ⬆️ C-k: Move to the pane above Not in Vim/Nvim.

    • ⬇️ C-j: Move to the pane below Not in Vim/Nvim.

    • ⬅️ <Prefix> h: Move to the pane on the left.

    • ➑️ <Prefix> j: Move to the pane on the right.

    • ⬆️ <Prefix> k: Move to the pane above.

    • ⬇️ <Prefix> l: Move to the pane below.

  • Copy Mode πŸ“‹

    • πŸ“‹<Prefix> [: Enter copy mode.

    • πŸ“‹<Prefix> ]: Paste from the clipboard.

    • βœ‚οΈ v: Start selection (while in copy mode).

    • πŸ“‹y: Copy selected text to the system clipboard (in MacOS requires reattach-to-user-namespace).

Troubleshooting πŸ”§

The installation is not working:

  • Make sure you have Git installed on your computer. Open the terminal and run the following command:

    git --version

    If Git is installed, you will see the installed version. If not, you need to install it using your package manager. Then retry the Installation.

  • Check if a file/directory already exists

    Check if the ~/.Tmux_Config or ~/.tmux.conf already exists. Open the terminal and run the following command to check if they exists:

    • To check if the ~/.tmux.conf directory exists, run:

      cat ~/.tmux.conf

      Is found, run:

      mv ~/.tmux.conf ~/.tmux.conf_b
    • To check if the ~/.Tmux_config directory exists, run:

      ls ~/.Tmux_Config

      Is found, run:

      mv ~/.Tmux_Config ~/.Tmux_Config_b

    Then retry the Installation.

Acknowledgments πŸ™

A special thanks to the Tmux community for their support.

Happy Tmuxing! πŸŽ‰

About

My Tmux configuration file! A powerful tool to manage and organize your terminal sessions.

License:MIT License