plugins | ||
sidebar | ||
.gitmodules | ||
README.md | ||
tmux.conf |
tmuxrc
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 (included as submodules):
- tpm: Plugin Manager.
- tmux-prefix-highlight: highlights when you press tmux prefix key.
- tmux-menus: Popup menus.
- extrakto: select, copy/insert/complete text without a mouse (prefix Tab).
- tmux-sidebar: directory tree for the current path.
- Prefix rebinded to
Ctrl+x
(Ctrl+w
for remote/ssh sessions). - Toggle Sync mode for visible panes with
Prefix-a
. - Toggle Zoom current Pane with
Prefix-Z
. Next & Previous:Prefix-e
,Prefix-z
. - Open a popup session changer with
Prefix-Ctrl+j
. - Open a popup Scratch session with
Prefix-Ctrl+g
. - Nice status (display current command) & color theme with true colors.
- Compatible with my environment config: bashrc.
- Check more in the conf file …
Requirements
Recommended
- bash 5+
- bash_completion
- My environment config: bashrc
Installation
Tmux
- With APT:
# check version with apt
sudo apt show -a 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 && sudo make install
Gitmux
-
Copy it manually to /usr/local/bin: https://github.com/arl/gitmux/releases
-
Or you need
jq
to parse the latest release in cli:
# 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:
# check version with apt
sudo apt show -a fzf 2> /dev/null | grep Version:
# if your apt repositories deliver at least 0.35, you can install it
sudo apt install fzf
- 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/
# install
mkdir -p $HOME/.config
cd $HOME/.config
git clone --depth=1 --recurse-submodules https://git.tkapias.net/tkapias/tmuxrc tmux
Configuration
SSH/Remote
If you install this configuration on a remote system, you will need another prefix than on the local tmux (ctrl+x).
You can change the prefix to ctrl+w on the remote system like this:
sed -i -e 's/C-x/C-w/g' -e 's/Ctrl-x/Ctrl-w/g' $HOME/.config/tmux/tmux.conf