User Tools

Site Tools


tmux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tmux [2021/03/10 20:32] – [.tmux.conf] hc9tmux [2022/12/05 06:18] (current) – [Resources] hc9
Line 83: Line 83:
  
 ''$ tmux attach'' ''$ tmux attach''
 +
 +===== Emulating Emacs-like registers =====
 +
 +If you have a need for multiple clipboard-like buffers for storing and retrieving text (akin to registers in Emacs or Vim), Tmux already supports that, although this functionality is not well exposed by default. Below is a sample piece of configuration that makes available 26 registers designated by single lower-case letters //a-z//.
 +
 +<file>
 +
 +# Initialize alphanumerical registers to avoid the problem with 'delete-buffer'
 +run "tmux set-buffer -b a \"$(echo ' ')\""
 +run "tmux set-buffer -b b \"$(echo ' ')\""
 +run "tmux set-buffer -b c \"$(echo ' ')\""
 +run "tmux set-buffer -b d \"$(echo ' ')\""
 +run "tmux set-buffer -b e \"$(echo ' ')\""
 +run "tmux set-buffer -b f \"$(echo ' ')\""
 +run "tmux set-buffer -b g \"$(echo ' ')\""
 +run "tmux set-buffer -b h \"$(echo ' ')\""
 +run "tmux set-buffer -b i \"$(echo ' ')\""
 +run "tmux set-buffer -b j \"$(echo ' ')\""
 +run "tmux set-buffer -b k \"$(echo ' ')\""
 +run "tmux set-buffer -b l \"$(echo ' ')\""
 +run "tmux set-buffer -b m \"$(echo ' ')\""
 +run "tmux set-buffer -b n \"$(echo ' ')\""
 +run "tmux set-buffer -b o \"$(echo ' ')\""
 +run "tmux set-buffer -b p \"$(echo ' ')\""
 +run "tmux set-buffer -b q \"$(echo ' ')\""
 +run "tmux set-buffer -b r \"$(echo ' ')\""
 +run "tmux set-buffer -b s \"$(echo ' ')\""
 +run "tmux set-buffer -b t \"$(echo ' ')\""
 +run "tmux set-buffer -b u \"$(echo ' ')\""
 +run "tmux set-buffer -b v \"$(echo ' ')\""
 +run "tmux set-buffer -b w \"$(echo ' ')\""
 +run "tmux set-buffer -b x \"$(echo ' ')\""
 +run "tmux set-buffer -b y \"$(echo ' ')\""
 +run "tmux set-buffer -b z \"$(echo ' ')\""
 +    
 +</file>
 +
 +<file>
 +
 +# Copy to user-selected register
 +bind -T copy-mode r command-prompt -1 -p '(register)' 'delete-buffer -b %1 ; send -X copy-pipe "tmux set-buffer -n %1"'
 +# Paste from user-selected register
 +bind -T prefix C-] command-prompt -1 -p '(register)' 'paste-buffer -b %1'
 +    
 +</file>
 +
 +The way it works is this: when in //copy-mode// you get an additional key binding //r// which prompts you for a single-letter named register in which to store the marked region. In normal mode you get a prefix command //C-b C-]// which prompts for the name of the register whose contents will be pasted at the cursor. You can also list the contents of all buffers by running //C-b :list-buffers//. Manual initializing of all the buffers seems necessary, because otherwise //delete-buffer// complains about trying to delete a nonexistent buffer when used for the first time for a given letter.
 +
 +===== Troubleshooting Colors =====
 +
 +If colors are not working in your tmux session try running tmux with the -2 flag.
 +
 +''$ tmux -2''
 +
 +To persist 256color support in your terminal you can add the following line to your ~/.bashrc
 +
 +''TERM=screen-256color''
  
 ===== Resources ===== ===== Resources =====
Line 90: Line 147:
   * [[https://wiki.archlinux.org/index.php/Tmux| https://wiki.archlinux.org/index.php/Tmux]]   * [[https://wiki.archlinux.org/index.php/Tmux| https://wiki.archlinux.org/index.php/Tmux]]
   * [[http://robots.thoughtbot.com/post/2641409235/a-tmux-crash-course| http://robots.thoughtbot.com/post/2641409235/a-tmux-crash-course]]   * [[http://robots.thoughtbot.com/post/2641409235/a-tmux-crash-course| http://robots.thoughtbot.com/post/2641409235/a-tmux-crash-course]]
-  * [[http://en.wikipedia.org/wiki/Tmux| http://en.wikipedia.org/wiki/Tmux]]+  * [[wp>Tmux|https://en.wikipedia.org/wiki/Tmux]]
  
 ---- ----
  
-$Id: tmux.html,v 1.6 2014/06/09 06:08:42 ike Exp $ [[http://sdf.org/?tutorials/tmux|Tmux: terminal multiplexer; multiple terminals]] - legacy link+$Id: tmux.html,v 1.6 2014/06/09 06:08:42 ike Exp $ [[http://sdf.org/?tutorials/tmux|Tmux: terminal multiplexer; multiple terminals]] - traditional link (using [[wp>Revision_Control_System|RCS]])
  
tmux.1615408361.txt.gz · Last modified: 2021/03/10 20:32 by hc9