| Title: Tmux mastery | |
| Author: Solène | |
| Date: 05 July 2018 | |
| Tags: unix shell | |
| Description: | |
| Tips for using Tmux more efficiently | |
| ### Enter in copy mode | |
| By default Tmux uses the emacs key-bindings, to make a selection you | |
| need to enter in `copy-mode` by pressing Ctrl+b and then [ with Ctrl+b | |
| being the tmux prefix key, if you changed it then do the replacement | |
| while reading. | |
| If you need to quit the copy-mode, type **Ctrl+C**. | |
| ### Make a selection | |
| While in copy-mode, selects your start or ending position for your | |
| selection and then press Ctrl+Space to start the selection. Now, move | |
| your cursor to select the text and press Ctrl+w to validate. | |
| ### Paste a selection | |
| When you want to paste your selection, press Ctrl+b ] (you should not | |
| be in copy-mode for this!). | |
| ### Make a rectangular selection | |
| If you want to make a rectangular selection, press Ctrl+space to | |
| start and immediately, press R (capitalized R), then move your cursor | |
| and validate with Ctrl+w. | |
| ### Output the buffer to X buffer | |
| Make a selection to put the content in tmux buffer, then type | |
| tmux save-buffer - | xclip | |
| You may want to look at xclip (it's a package) man page. | |
| ### Output the buffer to a file | |
| tmux save-buffer file | |
| ### Load a file into buffer | |
| It's possible to load the content of a file inside the buffer for | |
| pasting it somewhere. | |
| tmux load-buffer file | |
| You can also load into the buffer the output of a command, using a | |
| pipe and - as a file like in this example: | |
| echo 'something very interesting' | tmux load-buffer - | |
| ### Display the battery percentage in the status bar | |
| If you want to display your battery percentage and update it every | |
| 40 seconds, you can add two following lines in `~/.tmux.conf`: | |
| set status-interval 40 | |
| set -g status-right "#[fg=colour155]#(apm -l)%% | #[fg=colour45]%d | |
| %b %R" | |
| This example works on OpenBSD using **apm** command. You can reuse | |
| this example to display others informations. |