My configuration for TMUX, including plugins submodules.
Go to file
2023-03-19 01:35:56 +07:00
plugins first commit 2023-03-19 01:35:56 +07:00
sidebar first commit 2023-03-19 01:35:56 +07:00
.gitmodules first commit 2023-03-19 01:35:56 +07:00
README.md first commit 2023-03-19 01:35:56 +07:00
tmux.conf first commit 2023-03-19 01:35:56 +07:00

tmuxrc

Tmux Fzf

tmuxrc is a collection of RUNCOM & plugins dedicated to the terminal multiplexer Tmux.

  • I use this configuration with my custom bash environment to always work in Tmux locally and in SSH sessions.

Features

  • Plugins:
  • Usage of popups and fzf
  • Some defaults are now toggle modes, like sync or zoom
  • Simple true color theme
  • Compatible withe my environment config: bashrc
  • Check more in the conf file ...

Requirements

  • Tmux 3.3+:
    • libevent 2.x (apt or build)
    • ncurses (apt or build)
  • Gitmux
  • [Fzf][fzf_repo] 0.35+ for fzf-tmux
  • bash 5+
  • bash_completion
  • My environment config: bashrc

Installation

Tmux

  • With APT:
# chech version with apt
sudo apt show tmux 2> /dev/null | grep Version:

# if your apt repositories deliver at least 3.3, you can install it
sudo apt install tmux
  • Or build & install:
mkdir -p $HOME/Builds && cd $HOME/Builds
wget https://github.com/tmux/tmux/releases/download/3.3a/tmux-3.3a.tar.gz
tar -zxf tmux-*.tar.gz
cd tmux-*/
./configure
make && make install

Gitmux

# for linux_amd64
sudo apt install jq
_RELEASES=$(curl -s https://api.github.com/repos/arl/gitmux/releases/latest)
_URL=$(echo "$_RELEASES" | jq -r '.assets[] | select( .name | match("linux_amd64")) | .browser_download_url')
wget -c -nv "$_URL" -O - | sudo tar --no-same-owner -xzv -C /usr/local/bin gitmux

Fzf

  • With APT:
# chech version with apt
sudo apt show fzf 2> /dev/null | grep Version:

# if your apt repositories deliver at least 0.35, you can install it
sudo apt install tmux
  • Or build & install:
mkdir -p $HOME/Builds && cd $HOME/Builds
git clone --depth 1 https://github.com/junegunn/fzf.git
cd fzf
sudo ./install --all --no-bash --no-zsh --no-fish
sudo cp shell/completion.bash /etc/bash_completion.d/fzf
sudo cp bin/* /usr/local/bin/

TmuxRC

# backup current files
mkdir -p $HOME/.backups
cp -r --backup=t {"$HOME"/.tmux/,"$HOME"/.tmux,"$HOME"/.config/tmux/} $HOME/.backups/
rm -Rf "$HOME"/.tmux/ "$HOME"/.tmux "$HOME"/.config/tmux/

mkdir -p $HOME/.config
cd $HOME/.config
git clone --depth=1 --recurse-submodules https://git.tkapias.net/tkapias/tmuxrc

Configuration

SSH/Remote

If you install this configuration on a remote system you want another prefix than on the local tmux (ctrl+x).

You can change the prefix to ctrl+w on the remote like this:

sed -i -e 's/C-x/C-w/g' -e 's/Ctrl-x/Ctrl-w/g' $HOME/.tmux.conf