TMux: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
<code>tmux</code> is an open-source terminal multiplexer for Unix-like operating systems. It allows multiple terminal sessions to be accessed simultaneously in a single window. It is useful for running more than one command-line program at the same time.
<code>tmux</code> is an open-source terminal multiplexer for Unix-like operating systems. It allows multiple terminal sessions to be accessed simultaneously in a single window. It is useful for running more than one command-line program at the same time.


==Install==
==CheatSheet==
{|
| valign="top" |
───────────────────────────────────────────────
'''Ctrl + a''' → ‎-    » Split pane horizontally
'''Ctrl + a''' → ‎|    » Split pane vertically
'''Ctrl + a''' → ‎x    » Close current pane
 
| valign="top" |
───────────────────────────────────────────────
'''Ctrl + a''' → ‎c    » Create a new window
'''Ctrl + a''' → ‎w    » Choose window from a list
'''Ctrl + a''' → ‎0    » Switch to window by number
 
|}
 
==Installation==
<source lang="bash">
<source lang="bash">
sudo apt install tmux
sudo apt install tmux
Line 34: Line 50:
EOF
EOF
</source>
</source>
==Cheat Sheet==
{|
| valign="top" |
───────────────────────────────────────────────
'''Ctrl + a''' → ‎-    » Split pane horizontally
'''Ctrl + a''' → ‎|    » Split pane vertically
'''Ctrl + a''' → ‎x    » Close current pane
| valign="top" |
───────────────────────────────────────────────
'''Ctrl + a''' → ‎c    » Create a new window
'''Ctrl + a''' → ‎w    » Choose window from a list
'''Ctrl + a''' → ‎0    » Switch to window by number
|}


==Knowledge==
==Knowledge==

Revision as of 04:50, 16 February 2023

tmux is an open-source terminal multiplexer for Unix-like operating systems. It allows multiple terminal sessions to be accessed simultaneously in a single window. It is useful for running more than one command-line program at the same time.

CheatSheet

───────────────────────────────────────────────
Ctrl + a → ‎-    » Split pane horizontally
Ctrl + a → ‎|    » Split pane vertically
Ctrl + a → ‎x    » Close current pane
───────────────────────────────────────────────
Ctrl + a → ‎c    » Create a new window
Ctrl + a → ‎w    » Choose window from a list
Ctrl + a → ‎0    » Switch to window by number

Installation

sudo apt install tmux
sudo apt install powerline
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm

cat << EOF | tee ${HOME}/.tmux.conf >/dev/null
set -g base-index 1
# remap prefix from 'c-b' to 'c-a'
unbind C-b
set-option -g prefix c-a
bind-key c-a send-prefix

set -g default-terminal 'screen-256color'
set -g history-limit 10000

# window/pane split
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %

# list of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-battery'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'

# initialize tmux plugin manager
run '~/.tmux/plugins/tpm/tpm'
EOF

Knowledge

tmux ls
tmux new -s my_session
tmux attach-session -t 0
tmux attach-session -t my_session

Ctrl + a % » Split pane horizontally
Ctrl + a " » Split pane vertically
Ctrl + a x » Close current pane
Ctrl + a c » Create a new window
Ctrl + a w » Choose window from a list
Ctrl + a 0 » Switch to window by number
Ctrl + a , » Rename the current window

Ctrl + a o » Go to the next pane
Ctrl + a ; » Toggle between pane
Ctrl + a d » Detach the session
tmux ls
tmux kill-server
tmux list-sessions
tmux kill-session -a
tmux kill-session -t {index}

pkill -f tmux
ps aux | grep tmux

TMUX_INSTALL_STATUS="$(dpkg-query -W --showformat='${db:Status-Status}' 'tmux' 2>&1)"
if [[ ! $? -eq 0 ]]||[[ ! "${TMUX_INSTALL_STATUS}" -eq 'installed' ]];then
    printf 'tmux \033[0;31mnot found! \033[0m:(\n';exit 1
fi

POWERLINE_INSTALL_STATUS="$(dpkg-query -W --showformat='${db:Status-Status}' 'powerline' 2>&1)"
if [[ ! $? -eq 0 ]]||[[ ! "${POWERLINE_INSTALL_STATUS}" -eq 'installed' ]];then
    printf 'powerline \033[0;31mnot found! \033[0m:(\n';exit 1
fi

python3 -m site --user-site
python3 -m site | grep packages
python3 -m sysconfig | grep packages
windows 11
C:\> py -c "import sysconfig; print(sysconfig.get_path('purelib'))"
python3 -c "import sysconfig; print(sysconfig.get_path('purelib'))"

python3 -m venv ~/.venv/powerline --prompt="Powerline"
# source .venv/bin/activate
# (Powerline) $

python -m venv ~/.venv/powerline --prompt="Powerline"
# .venv\Scripts\activate
# (Powerline) PS>

uptime | cut -f 4-5 -d ' ' | cut -f 1 -d ','

References