Customized, self-contained tmux customization with many unique features
- Clone the repository
git clone git@github.com:rda3mon/tmux.git ~/.tmux_runtime
- Install tmux
ln -s ~/.tmux_runtime/tmux.conf ~/.tmux.conf && tmux source-file ~/.tmux.conf
1) Duplicate ssh sessions: This will be very useful if you often work on remote machines. With a single keypress, you will be able to login to the same remote machine.
2) Custom pane title: Pane title has a lot of information about the what is going on in that particular pane. More information is available if pane is running a ssh connection to a remote host.
- Parent Process ID of the pane shell
- Command that is running
- Process id of the command
- CPU, memory and load factor by that process
- If ssh into a remote box, cpu memory and load factor of the remote instance
3) Copy paste functionality: Copy paste works in 2 modes.
NOTE: Works only if you have xclip installed.
-
Using Vi Mode: This config has vi mode enabled, using short cuts.
<prefix> + [to enter into vi mode and once selection is done, pressEnterto copy text into clipboard -
Using Mouse: In this mode, you can drag using mouse to select any text, at the end of mouse drag release, the selected text will be copied to clipboard
4) Customized shortcuts: Lot of convenient shortcuts were added which are listed below
The power of tmux comes from its configurability and every action can be controlled by key-bindings. Here are the list of keybindings which are configured with this configuration. prefix means ctrl + a pressed together.
prefix: ctrl + a. If you are using tmux, you are well aware ofprefix.prefix+?: All of the key-bindings are availble here, you need not visit this page at all.prefix+r: Reload tmux config to pick up the latest one.prefix+ C-p: Show copy buffer last 10 items
Session related bindings
prefix+$: Rename sessionprefix+d: Detach the tmux sessionprefix+s: Show tmux sessionsprefix+(: Switch previous session and rotate backwordsprefix+): Switch next session and rotate forwards
Window related bindings
prefix+c: Create a new window and switch to itprefix+n: Rotate to next windowprefix+p: Rotate to previous windowprefix+0to9: To go to specific windowprefix+,: Rename current window
Pane related bindings
prefix+": Split pane verticallyprefix+%: Split pane horizontallyprefix+!: Move current pane to new windowprefix+q: Show pane numbersprefix+x: Kill selected paneprefix+space: To change pane layoutprefix+{: To move pane leftprefix+}: To move pane rightprefix+z: To toggle pane zoomprefix+C-d: Duplicate pane with copy command of what is currently running. Such as ssh into some instance.C-dmeans you have to press Ctrl + d together.prefix+C-p: Toggle logging of current pane to/tmp/tmux_{pane_pid}.logprefix+C-s: Toggle pane synchronisation. Meaning type on all panes together.
Copy mode related bindings
prefix+[: Enter Copy mode. In this mode, you can perform following sub commands?: Search upwards/: Search downwardsv: vi visual mode for text selectiony: vi copy textr: vi rectangle copyq: quit copy modeC-u: Page upC-d: Page down- Most of the vi navigation key-bindings work here, such as
h,j,k,l,n,N, etc
Misc bindings. Following are without prefix
Meta+1toMeta+9: For selecting windows from 1 to 9Ctrl+up/down/left/right: For navigating between panes


