From 69cec8803eeba97be266049ce715d4c726a39553 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sat, 24 Nov 2007 14:21:43 +0000 Subject: [PATCH] Document modes, c/p etc. --- NOTES | 7 ++--- TODO | 2 -- tmux.1 | 95 ++++++++++++++++++++++++++++++++++++++++++++++------------ 3 files changed, 79 insertions(+), 25 deletions(-) diff --git a/NOTES b/NOTES index ae57b4c4..a9a1135f 100644 --- a/NOTES +++ b/NOTES @@ -4,7 +4,7 @@ tmux is a "terminal multiplexer", it enables a number of terminals (or windows) to be accessed and controlled from a single terminal. tmux is intended to be a simple, modern, BSD-licensed alternative to programs such as GNU screen. -This 0.1 release should be considered a beta release. It runs on OpenBSD, +This 0.2 release should be considered a beta release. It runs on OpenBSD, FreeBSD and Linux, but has many missing features and is expected to have a good number of bugs. @@ -29,14 +29,13 @@ The following is a summary of major features implemented in this version: both tmux and screen), vim and various tools and games in the OpenBSD base system. - A optional status line (enabled by default). +- Window history and copy and paste. And major missing features: - Support for VT100 line drawing characters (they will appear as jklmx, etc). This is most noticable in ncmpc and in elinks if configured with VT100 frames. - Status line customisation, beyond presence and colour. -- Copy and paste. -- Scrollback. - Mouse support. - No support for programs changing termios(4) settings or other tty(4) ioctls. @@ -64,4 +63,4 @@ freenode or efnet IRC. I sometimes ignore private msgs from people I don't know, so please mention tmux initially (rather than just saying "hi" ;-). -- Nicholas Marriott -$Id: NOTES,v 1.28 2007-11-23 14:28:47 nicm Exp $ +$Id: NOTES,v 1.29 2007-11-24 14:21:43 nicm Exp $ diff --git a/TODO b/TODO index 9979bc66..922e20d9 100644 --- a/TODO +++ b/TODO @@ -73,12 +73,10 @@ it could be implemented in a non-icky way - there is to much redrawing. use flags? - command mode (! + type tmux command) -- copy mode - garbage collect window history (100 lines at a time?) if it hasn't been used in $x time (need window creation/use times) - lift SHRT_MAX limits for history - audit copy/scroll and other modes for problems with very small windows -- For 0.2 -------------------------------------------------------------------- -- copy and paste - window splitting? diff --git a/tmux.1 b/tmux.1 index fd170e18..a49025af 100644 --- a/tmux.1 +++ b/tmux.1 @@ -1,4 +1,4 @@ -.\" $Id: tmux.1,v 1.17 2007-11-22 10:31:02 nicm Exp $ +.\" $Id: tmux.1,v 1.18 2007-11-24 14:21:43 nicm Exp $ .\" .\" Copyright (c) 2007 Nicholas Marriott .\" @@ -125,6 +125,67 @@ by default). Key bindings may be changed with the and .Ic unbind-key commands. +.Sh HISTORY +.Nm +maintains a configurable history buffer for each window. +By default, up to 2000 lines are kept, this can be altered with the +.Ic history-limit +option (see the +.Ic set-option +command below). +.Sh MODES +A +.Nm +window may be in one of several modes. +The default permits direct access to the terminal attached to the window. +The others are: +.Bl -tag -width Ds +.It Em output mode +This is entered when a command which produces output, such as +.Ic list-keys , +is executed from a key binding. +The +.Ql up , +.Ql down , +.Ql page-up +and +.Ql page-down +keys or +.Xr vi 1 +style +.Ql j , +.Ql k , +keys may be used to scroll the output up and down. +The +.Ql q +key will exit output mode. +.It Em scroll mode +This is entered with the +.Ic scroll-mode +command (bound to +.Ql = +by default) and permits the window history buffer to be inspected. +In addition to the commands supported by output mode, the left and right arrow +keys, or +.Ql h +and +.Ql l , +will scroll left and right. +.It Em copy mode +This is permits a section of a window or its history to be copied to the +.Em paste buffer +for later insertion into another window. +The navigation keys move the cursor around the window, scrolling as necessary. +The space key begins a selection; the enter key or +.Ql ^W +copies the selection to the paste buffer and exits copy mode. +.Pp +This mode is entered with the +.Ic copy-mode +command, bound to +.Ql [ +as standard. +.El .Sh COMMANDS .Nm supports the following commands: @@ -145,6 +206,10 @@ Bind key .Ar key to .Ar command . +.It Xo Ic copy-mode +.Xc +Enter copy mode. +This command does nothing unless bound to a key. .It Xo Ic detach-client .Xc .D1 (alias: Ic detach ) @@ -262,6 +327,11 @@ start-up files. .Xc .D1 (alias: Ic next ) Move to the next window in the session. +.It Xo Ic paste-buffer +.Xc +.D1 (alias: Ic paste ) +Insert the contents of the paste buffer into the current window. +Ignored unless executed via a key binding. .It Xo Ic previous-window .Xc .D1 (alias: Ic prev ) @@ -289,24 +359,7 @@ if specifed, to .Ar new-name . .It Xo Ic scroll-mode .Xc -Enter scroll mode which allows a window's history buffer to be examined. -The -.Ql up , -.Ql down , -.Ql page-up -and -.Ql page-down -keys or -.Xr vi 1 -style -.Ql h , -.Ql j , -.Ql k , -.Ql l -keys may be used to navigate. -The -.Ql q -key will quit scroll mode. +Enter scroll mode. This command works only if bound to a key. .It Xo Ic select-window .Ar index @@ -326,6 +379,10 @@ Set an option. Possible options are: .Bl -tag -width Ds .It Ic prefix Ar key Set the current prefix key. +.It Ic history-limit Ar lines +Set the maximum number of lines held in window history. +This setting applies only to new windows - existing window histories are not +resized and retain the limit at the point they were created. .It Xo Ic status .Op Ic on | Ic off .Xc