Copying: Enter copy mode with the "copy" command, ie CTRL-A ESC or CTRL-A [, and select text. Marking "start" and "end": Setting the first mark (with ) sets the "start" position. You then move the "end" position. You can exchange the "start" with the "end" mark by pressing 'o' or 'x'. The currently selected text between "start" and "end" will be copied into the copy buffer when setting the second mark with another . Text selection, simple method: move to the beginning, press space, then move to the end and press space again. ie {movements} {movements} Text selection, elaborate method: This may involve some more movement commands, eg (incremental) searching, and maybe a rectangular selection. Jump/Movement keys (almost like in vi): info: ^G gives information about the current line and column. changeline: jk +- down, up by one line inline: hl left/right 0^$ first, first non-whitespace, last character N| moves to column N (eg 23|) on window: HML home middle lastline on buffer: gG first/last line of window buffer N% jump to N% within buffer (eg 42%) word jumps: wbe next, previous start of word; next end of word BE previous start of WORD, next end of WORD scrolling: ^B^F page back/forward one complete page ^D^U page back/forward one half page searching: /foo search forward for "foo" ?bar search backward for "bar" C-A s Emacs style incremental search forward. C-R Emacs style reverse i-search. start/end: o x switch current start and end mark. Number prefix: Jump commands can take a number prefix for repetition. So when you type digits 0 to 9 they will describe a number. The following jump command will then be repeated by that number. Examples: "5w" jumps to the fifth next start of word, and "23j" goes 23 lines down. Column selection: c C set leftmost/rightmost column to current position v set leftmost column of selection to colum 9. useful for vi users who show text with line numbers shows (:set nu). within the first 8 characters of each line. Appending and Joining Lines: a toggle append mode. ":set append": The copied text will be appended to the paste buffer. ":set noappend": The copied text will overwrite the previously copied text. A toggles into append mode and also sets a mark to the current position. if it is the second mark then this ends copy mode by copying. J select how copies lines will be joined. (1) (default) no joining; (2) join lines continously; (3) join lines with a space in between lines; (4) join lines with a comma in between lines. > Sets the (second) mark and selects the screen exchange file (default: /tmp/screen-exchange) as the target for copied text. Extending selection and copy right away: W copies the current WORD - and exists immediately. nice for copying an email address or URL. y extend current selection by first non-whitespace to last non-whitespace of current line. Y as 'y' - but ende selection and copy right away. problematic: W takes away the possible "jump by WORD". User who like the "BWE" to be used like "bwe" commands will be surprised by the copying and exiting of 'W'. All other keys which are not described here exit copy mode. So a typo will exit the command and force the user to select the previous selection again. The '@' key does nothing. It does not even exit copy mode. It might be used to bind all non-bound keys such that they may not exit copy mode - thus preventing the accidental exit from copy mode. Examples: Copy complete buffer to the screen exchange file: "C-A [ g SPACE G $ >" Copy lines 11 to 15: "C-a C-[ H 10 j 5 Y" Emacs bindings: Emacs style movement keys can be customized by a configuration command in the setup file (e.g. markkeys "h=^B:l=^F:$=^E") However, you can only bind only part of commands. There is no simple method for a full emacs-style keymap, as this involves multi-character codes.