1110d525eSBaptiste Daroussin.\" Copyright (c) 1994 2110d525eSBaptiste Daroussin.\" The Regents of the University of California. All rights reserved. 3110d525eSBaptiste Daroussin.\" Copyright (c) 1994, 1995, 1996 4110d525eSBaptiste Daroussin.\" Keith Bostic. All rights reserved. 5110d525eSBaptiste Daroussin.\" Copyright (c) 2011 6110d525eSBaptiste Daroussin.\" Zhihao Yuan. All rights reserved. 7110d525eSBaptiste Daroussin.\" 8110d525eSBaptiste Daroussin.\" The vi program is freely redistributable. 9110d525eSBaptiste Daroussin.\" You are welcome to copy, modify and share it with others 10110d525eSBaptiste Daroussin.\" under the conditions listed in the LICENSE file. 11110d525eSBaptiste Daroussin.\" If any company (not individual!) finds vi sufficiently useful 12110d525eSBaptiste Daroussin.\" that you would have purchased it, or if any company wishes to 13110d525eSBaptiste Daroussin.\" redistribute it, contributions to the authors would be appreciated. 14110d525eSBaptiste Daroussin.\" 15*4087ffdbSBaptiste Daroussin.Dd April 18, 2024 16110d525eSBaptiste Daroussin.Dt VI 1 17110d525eSBaptiste Daroussin.Os 18110d525eSBaptiste Daroussin.Sh NAME 19*4087ffdbSBaptiste Daroussin.Nm ex , 20*4087ffdbSBaptiste Daroussin.Nm vi , 21*4087ffdbSBaptiste Daroussin.Nm view 22110d525eSBaptiste Daroussin.Nd text editors 23110d525eSBaptiste Daroussin.Sh SYNOPSIS 24110d525eSBaptiste Daroussin.Nm ex 25110d525eSBaptiste Daroussin.Op Fl FRrSsv 26110d525eSBaptiste Daroussin.Op Fl c Ar cmd 27110d525eSBaptiste Daroussin.Op Fl t Ar tag 28110d525eSBaptiste Daroussin.Op Fl w Ar size 29110d525eSBaptiste Daroussin.Op Ar 30110d525eSBaptiste Daroussin.Nm vi\ \& 31110d525eSBaptiste Daroussin.Op Fl eFRrS 32110d525eSBaptiste Daroussin.Op Fl c Ar cmd 33110d525eSBaptiste Daroussin.Op Fl t Ar tag 34110d525eSBaptiste Daroussin.Op Fl w Ar size 35110d525eSBaptiste Daroussin.Op Ar 36110d525eSBaptiste Daroussin.Nm view 37110d525eSBaptiste Daroussin.Op Fl eFrS 38110d525eSBaptiste Daroussin.Op Fl c Ar cmd 39110d525eSBaptiste Daroussin.Op Fl t Ar tag 40110d525eSBaptiste Daroussin.Op Fl w Ar size 41110d525eSBaptiste Daroussin.Op Ar 42110d525eSBaptiste Daroussin.Sh DESCRIPTION 43110d525eSBaptiste Daroussin.Nm vi 44110d525eSBaptiste Daroussinis a screen-oriented text editor. 45110d525eSBaptiste Daroussin.Nm ex 46110d525eSBaptiste Daroussinis a line-oriented text editor. 47110d525eSBaptiste Daroussin.Nm ex 48110d525eSBaptiste Daroussinand 49110d525eSBaptiste Daroussin.Nm vi 50110d525eSBaptiste Daroussinare different interfaces to the same program, 51110d525eSBaptiste Daroussinand it is possible to switch back and forth during an edit session. 52110d525eSBaptiste Daroussin.Nm view 53110d525eSBaptiste Daroussinis the equivalent of using the 54110d525eSBaptiste Daroussin.Fl R 55110d525eSBaptiste Daroussin.Pq read-only 56110d525eSBaptiste Daroussinoption of 57110d525eSBaptiste Daroussin.Nm vi . 58110d525eSBaptiste Daroussin.Pp 59110d525eSBaptiste DaroussinThis manual page is the one provided with the 60110d525eSBaptiste Daroussin.Nm nex Ns / Ns Nm nvi 61110d525eSBaptiste Daroussinversions of the 62110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 63110d525eSBaptiste Daroussintext editors. 64110d525eSBaptiste Daroussin.Nm nex Ns / Ns Nm nvi 65110d525eSBaptiste Daroussinare intended as bug-for-bug compatible replacements for the original 66110d525eSBaptiste DaroussinFourth Berkeley Software Distribution 67110d525eSBaptiste Daroussin.Pq 4BSD 68110d525eSBaptiste Daroussin.Nm ex 69110d525eSBaptiste Daroussinand 70110d525eSBaptiste Daroussin.Nm vi 71110d525eSBaptiste Daroussinprograms. 72110d525eSBaptiste DaroussinFor the rest of this manual page, 73110d525eSBaptiste Daroussin.Nm nex Ns / Ns Nm nvi 74110d525eSBaptiste Daroussinis used only when it's necessary to distinguish it from the historic 75110d525eSBaptiste Daroussinimplementations of 76110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi . 77110d525eSBaptiste Daroussin.Pp 78110d525eSBaptiste DaroussinThis manual page is intended for users already familiar with 79110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi . 80110d525eSBaptiste DaroussinAnyone else should almost certainly read a good tutorial on the 81110d525eSBaptiste Daroussineditor before this manual page. 82110d525eSBaptiste DaroussinIf you're in an unfamiliar environment, 83110d525eSBaptiste Daroussinand you absolutely have to get work done immediately, 84110d525eSBaptiste Daroussinread the section after the options description, entitled 85110d525eSBaptiste Daroussin.Sx FAST STARTUP . 86110d525eSBaptiste DaroussinIt's probably enough to get you going. 87110d525eSBaptiste Daroussin.Pp 88110d525eSBaptiste DaroussinThe following options are available: 89110d525eSBaptiste Daroussin.Bl -tag -width "-w size " 90110d525eSBaptiste Daroussin.It Fl c Ar cmd 91110d525eSBaptiste DaroussinExecute 92110d525eSBaptiste Daroussin.Ar cmd 93110d525eSBaptiste Daroussinon the first file loaded. 94110d525eSBaptiste DaroussinParticularly useful for initial positioning in the file, although 95110d525eSBaptiste Daroussin.Ar cmd 96110d525eSBaptiste Daroussinis not limited to positioning commands. 97110d525eSBaptiste DaroussinThis is the POSIX 1003.2 interface for the historic 98110d525eSBaptiste Daroussin.Dq +cmd 99110d525eSBaptiste Daroussinsyntax. 100110d525eSBaptiste Daroussin.Nm nex Ns / Ns Nm nvi 101110d525eSBaptiste Daroussinsupports both the old and new syntax. 102110d525eSBaptiste Daroussin.It Fl e 103110d525eSBaptiste DaroussinStart editing in ex mode, as if the command name were 104110d525eSBaptiste Daroussin.Nm ex . 105110d525eSBaptiste Daroussin.It Fl F 106110d525eSBaptiste DaroussinDon't copy the entire file when first starting to edit. 107110d525eSBaptiste Daroussin(The default is to make a copy in case someone else modifies 108110d525eSBaptiste Daroussinthe file during your edit session.) 109110d525eSBaptiste Daroussin.\" .It Fl l 110110d525eSBaptiste Daroussin.\" Start editing with the lisp and showmatch options set. 111110d525eSBaptiste Daroussin.It Fl R 112110d525eSBaptiste DaroussinStart editing in read-only mode, as if the command name was 113110d525eSBaptiste Daroussin.Nm view , 114110d525eSBaptiste Daroussinor the 115110d525eSBaptiste Daroussin.Cm readonly 116110d525eSBaptiste Daroussinoption was set. 117110d525eSBaptiste Daroussin.It Fl r 118110d525eSBaptiste DaroussinRecover the specified files, or, if no files are specified, 119110d525eSBaptiste Daroussinlist the files that could be recovered. 120110d525eSBaptiste DaroussinIf no recoverable files by the specified name exist, 121110d525eSBaptiste Daroussinthe file is edited as if the 122110d525eSBaptiste Daroussin.Fl r 123110d525eSBaptiste Daroussinoption had not been specified. 124110d525eSBaptiste Daroussin.It Fl S 125110d525eSBaptiste DaroussinRun with the 126110d525eSBaptiste Daroussin.Cm secure 127110d525eSBaptiste Daroussinedit option set, disallowing all access to external programs. 128110d525eSBaptiste Daroussin.It Fl s 129110d525eSBaptiste DaroussinEnter batch mode; applicable only to 130110d525eSBaptiste Daroussin.Nm ex 131110d525eSBaptiste Daroussinedit sessions. 132110d525eSBaptiste DaroussinBatch mode is useful when running 133110d525eSBaptiste Daroussin.Nm ex 134110d525eSBaptiste Daroussinscripts. 135110d525eSBaptiste DaroussinPrompts, informative messages and other user oriented messages are turned off, 136110d525eSBaptiste Daroussinand no startup files or environment variables are read. 137110d525eSBaptiste DaroussinThis is the POSIX 1003.2 interface for the historic 138110d525eSBaptiste Daroussin.Dq - 139110d525eSBaptiste Daroussinargument. 140110d525eSBaptiste Daroussin.Nm nex Ns / Ns Nm nvi 141110d525eSBaptiste Daroussinsupports both the old and new syntax. 142110d525eSBaptiste Daroussin.It Fl t Ar tag 143110d525eSBaptiste DaroussinStart editing at the specified 144110d525eSBaptiste Daroussin.Ar tag 145110d525eSBaptiste Daroussin.Pq see Xr ctags 1 . 146110d525eSBaptiste Daroussin.It Fl v 147110d525eSBaptiste DaroussinStart editing in vi mode, as if the command name was 148110d525eSBaptiste Daroussin.Nm vi . 149110d525eSBaptiste Daroussin.It Fl w Ar size 150110d525eSBaptiste DaroussinSet the initial window size to the specified number of lines. 151110d525eSBaptiste Daroussin.El 152110d525eSBaptiste Daroussin.Pp 153110d525eSBaptiste DaroussinCommand input for 154110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 155110d525eSBaptiste Daroussinis read from the standard input. 156110d525eSBaptiste DaroussinIn the 157110d525eSBaptiste Daroussin.Nm vi 158110d525eSBaptiste Daroussininterface, it is an error if standard input is not a terminal. 159110d525eSBaptiste DaroussinIn the 160110d525eSBaptiste Daroussin.Nm ex 161110d525eSBaptiste Daroussininterface, if standard input is not a terminal, 162110d525eSBaptiste Daroussin.Nm ex 163110d525eSBaptiste Daroussinwill read commands from it regardless; however, the session will be a 164110d525eSBaptiste Daroussinbatch mode session, exactly as if the 165110d525eSBaptiste Daroussin.Fl s 166110d525eSBaptiste Daroussinoption had been specified. 167110d525eSBaptiste Daroussin.Sh FAST STARTUP 168110d525eSBaptiste DaroussinThis section will tell you the minimum amount that you need to 169110d525eSBaptiste Daroussindo simple editing tasks using 170110d525eSBaptiste Daroussin.Nm vi . 171110d525eSBaptiste DaroussinIf you've never used any screen editor before, 172110d525eSBaptiste Daroussinyou're likely to have problems even with this simple introduction. 173110d525eSBaptiste DaroussinIn that case you should find someone that already knows 174110d525eSBaptiste Daroussin.Nm vi 175110d525eSBaptiste Daroussinand have them walk you through this section. 176110d525eSBaptiste Daroussin.Pp 177110d525eSBaptiste Daroussin.Nm vi 178110d525eSBaptiste Daroussinis a screen editor. 179110d525eSBaptiste DaroussinThis means that it takes up almost the entire screen, 180110d525eSBaptiste Daroussindisplaying part of the file on each screen line, 181110d525eSBaptiste Daroussinexcept for the last line of the screen. 182110d525eSBaptiste DaroussinThe last line of the screen is used for you to give commands to 183110d525eSBaptiste Daroussin.Nm vi , 184110d525eSBaptiste Daroussinand for 185110d525eSBaptiste Daroussin.Nm vi 186110d525eSBaptiste Daroussinto give information to you. 187110d525eSBaptiste Daroussin.Pp 188110d525eSBaptiste DaroussinThe other fact that you need to understand is that 189110d525eSBaptiste Daroussin.Nm vi 190110d525eSBaptiste Daroussinis a modeful editor, 191110d525eSBaptiste Daroussini.e., you are either entering text or you are executing commands, 192110d525eSBaptiste Daroussinand you have to be in the right mode to do one or the other. 193110d525eSBaptiste DaroussinYou will be in command mode when you first start editing a file. 194110d525eSBaptiste DaroussinThere are commands that switch you into input mode. 195110d525eSBaptiste DaroussinThere is only one key that takes you out of input mode, 196110d525eSBaptiste Daroussinand that is the 197110d525eSBaptiste Daroussin.Aq escape 198110d525eSBaptiste Daroussinkey. 199110d525eSBaptiste Daroussin.Pp 200110d525eSBaptiste DaroussinIn this manual, 201110d525eSBaptiste Daroussinkey names are denoted with \(la and \(ra, e.g., 202110d525eSBaptiste Daroussin.Aq escape 203110d525eSBaptiste Daroussinmeans the 204110d525eSBaptiste Daroussin.Dq escape 205110d525eSBaptiste Daroussinkey, usually labeled 206110d525eSBaptiste Daroussin.Dq Esc 207110d525eSBaptiste Daroussinon your terminal's keyboard. 208110d525eSBaptiste DaroussinIf you're ever confused as to which mode you're in, 209110d525eSBaptiste Daroussinkeep entering the 210110d525eSBaptiste Daroussin.Aq escape 211110d525eSBaptiste Daroussinkey until 212110d525eSBaptiste Daroussin.Nm vi 213110d525eSBaptiste Daroussinbeeps at you. 214110d525eSBaptiste DaroussinGenerally, 215110d525eSBaptiste Daroussin.Nm vi 216110d525eSBaptiste Daroussinwill beep at you if you try and do something that's not allowed. 217110d525eSBaptiste DaroussinIt will also display error messages. 218110d525eSBaptiste Daroussin.Pp 219110d525eSBaptiste DaroussinTo start editing a file, enter the following command: 220110d525eSBaptiste Daroussin.Pp 221110d525eSBaptiste Daroussin.Dl $ vi file 222110d525eSBaptiste Daroussin.Pp 223110d525eSBaptiste DaroussinThe command you should enter as soon as you start editing is: 224110d525eSBaptiste Daroussin.Pp 225110d525eSBaptiste Daroussin.Dl :set verbose showmode 226110d525eSBaptiste Daroussin.Pp 227110d525eSBaptiste DaroussinThis will make the editor give you verbose error messages and display 228110d525eSBaptiste Daroussinthe current mode at the bottom of the screen. 229110d525eSBaptiste Daroussin.Pp 230110d525eSBaptiste DaroussinThe commands to move around the file are: 231110d525eSBaptiste Daroussin.Bl -tag -width Ds 232110d525eSBaptiste Daroussin.It Cm h 233110d525eSBaptiste DaroussinMove the cursor left one character. 234110d525eSBaptiste Daroussin.It Cm j 235110d525eSBaptiste DaroussinMove the cursor down one line. 236110d525eSBaptiste Daroussin.It Cm k 237110d525eSBaptiste DaroussinMove the cursor up one line. 238110d525eSBaptiste Daroussin.It Cm l 239110d525eSBaptiste DaroussinMove the cursor right one character. 240110d525eSBaptiste Daroussin.It Aq Cm cursor-arrows 241110d525eSBaptiste DaroussinThe cursor arrow keys should work, too. 242110d525eSBaptiste Daroussin.It Cm / Ns Ar text 243110d525eSBaptiste DaroussinSearch for the string 244110d525eSBaptiste Daroussin.Dq Ar text 245110d525eSBaptiste Daroussinin the file, 246110d525eSBaptiste Daroussinand move the cursor to its first character. 247110d525eSBaptiste Daroussin.El 248110d525eSBaptiste Daroussin.Pp 249110d525eSBaptiste DaroussinThe commands to enter new text are: 250110d525eSBaptiste Daroussin.Bl -tag -width "<escape>" 251110d525eSBaptiste Daroussin.It Cm a 252110d525eSBaptiste DaroussinAppend new text, after the cursor. 253110d525eSBaptiste Daroussin.It Cm i 254110d525eSBaptiste DaroussinInsert new text, before the cursor. 255110d525eSBaptiste Daroussin.It Cm o 256110d525eSBaptiste DaroussinOpen a new line below the line the cursor is on, and start entering text. 257110d525eSBaptiste Daroussin.It Cm O 258110d525eSBaptiste DaroussinOpen a new line above the line the cursor is on, and start entering text. 259110d525eSBaptiste Daroussin.It Aq Cm escape 260110d525eSBaptiste DaroussinOnce you've entered input mode using one of the 261110d525eSBaptiste Daroussin.Cm a , 262110d525eSBaptiste Daroussin.Cm i , 263110d525eSBaptiste Daroussin.Cm o 264110d525eSBaptiste Daroussinor 265110d525eSBaptiste Daroussin.Cm O 266110d525eSBaptiste Daroussincommands, use 267110d525eSBaptiste Daroussin.Aq Cm escape 268110d525eSBaptiste Daroussinto quit entering text and return to command mode. 269110d525eSBaptiste Daroussin.El 270110d525eSBaptiste Daroussin.Pp 271110d525eSBaptiste DaroussinThe commands to copy text are: 272110d525eSBaptiste Daroussin.Bl -tag -width Ds 273110d525eSBaptiste Daroussin.It Cm yy 274110d525eSBaptiste DaroussinCopy the line the cursor is on. 275110d525eSBaptiste Daroussin.It Cm p 276110d525eSBaptiste DaroussinAppend the copied line after the line the cursor is on. 277110d525eSBaptiste Daroussin.El 278110d525eSBaptiste Daroussin.Pp 279110d525eSBaptiste DaroussinThe commands to delete text are: 280110d525eSBaptiste Daroussin.Bl -tag -width Ds 281110d525eSBaptiste Daroussin.It Cm dd 282110d525eSBaptiste DaroussinDelete the line the cursor is on. 283110d525eSBaptiste Daroussin.It Cm x 284110d525eSBaptiste DaroussinDelete the character the cursor is on. 285110d525eSBaptiste Daroussin.El 286110d525eSBaptiste Daroussin.Pp 287110d525eSBaptiste DaroussinThe commands to write the file are: 288110d525eSBaptiste Daroussin.Bl -tag -width Ds 289110d525eSBaptiste Daroussin.It Cm :w 290110d525eSBaptiste DaroussinWrite the file back to the file with the name that you originally used 291110d525eSBaptiste Daroussinas an argument on the 292110d525eSBaptiste Daroussin.Nm vi 293110d525eSBaptiste Daroussincommand line. 294110d525eSBaptiste Daroussin.It Cm :w Ar file_name 295110d525eSBaptiste DaroussinWrite the file back to the file with the name 296110d525eSBaptiste Daroussin.Ar file_name . 297110d525eSBaptiste Daroussin.El 298110d525eSBaptiste Daroussin.Pp 299110d525eSBaptiste DaroussinThe commands to quit editing and exit the editor are: 300110d525eSBaptiste Daroussin.Bl -tag -width Ds 301110d525eSBaptiste Daroussin.It Cm :q 302110d525eSBaptiste DaroussinQuit editing and leave 303110d525eSBaptiste Daroussin.Nm vi 304110d525eSBaptiste Daroussin(if you've modified the file, but not saved your changes, 305110d525eSBaptiste Daroussin.Nm vi 306110d525eSBaptiste Daroussinwill refuse to quit). 307*4087ffdbSBaptiste Daroussin.It Cm :q\&! 308110d525eSBaptiste DaroussinQuit, discarding any modifications that you may have made. 309110d525eSBaptiste Daroussin.El 310110d525eSBaptiste Daroussin.Pp 311110d525eSBaptiste DaroussinOne final caution: 312110d525eSBaptiste DaroussinUnusual characters can take up more than one column on the screen, 313110d525eSBaptiste Daroussinand long lines can take up more than a single screen line. 314110d525eSBaptiste DaroussinThe above commands work on 315110d525eSBaptiste Daroussin.Dq physical 316110d525eSBaptiste Daroussincharacters and lines, 317110d525eSBaptiste Daroussini.e., they affect the entire line no matter how many screen lines it takes up 318110d525eSBaptiste Daroussinand the entire character no matter how many screen columns it takes up. 319110d525eSBaptiste Daroussin.Sh REGULAR EXPRESSIONS 320110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 321110d525eSBaptiste Daroussinsupports regular expressions 322110d525eSBaptiste Daroussin.Pq REs , 323110d525eSBaptiste Daroussinas documented in 324110d525eSBaptiste Daroussin.Xr re_format 7 , 325110d525eSBaptiste Daroussinfor line addresses, as the first part of the 326110d525eSBaptiste Daroussin.Nm ex Cm substitute , 327110d525eSBaptiste Daroussin.Cm global 328110d525eSBaptiste Daroussinand 329110d525eSBaptiste Daroussin.Cm v 330110d525eSBaptiste Daroussincommands, and in search patterns. 331110d525eSBaptiste DaroussinBasic regular expressions 332110d525eSBaptiste Daroussin.Pq BREs 333110d525eSBaptiste Daroussinare enabled by default; 334110d525eSBaptiste Daroussinextended regular expressions 335110d525eSBaptiste Daroussin.Pq EREs 336110d525eSBaptiste Daroussinare used if the 337110d525eSBaptiste Daroussin.Cm extended 338110d525eSBaptiste Daroussinoption is enabled. 339110d525eSBaptiste DaroussinThe use of regular expressions can be largely disabled using the 340110d525eSBaptiste Daroussin.Cm magic 341110d525eSBaptiste Daroussinoption. 342110d525eSBaptiste Daroussin.Pp 343110d525eSBaptiste DaroussinThe following strings have special meanings in the 344110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 345110d525eSBaptiste Daroussinversion of regular expressions: 346110d525eSBaptiste Daroussin.Bl -bullet -offset 6u 347110d525eSBaptiste Daroussin.It 348110d525eSBaptiste DaroussinAn empty regular expression is equivalent to the last regular expression used. 349110d525eSBaptiste Daroussin.It 350110d525eSBaptiste Daroussin.Sq \e< 351110d525eSBaptiste Daroussinmatches the beginning of the word. 352110d525eSBaptiste Daroussin.It 353110d525eSBaptiste Daroussin.Sq \e> 354110d525eSBaptiste Daroussinmatches the end of the word. 355110d525eSBaptiste Daroussin.It 356110d525eSBaptiste Daroussin.Sq \(ti 357110d525eSBaptiste Daroussinmatches the replacement part of the last 358110d525eSBaptiste Daroussin.Cm substitute 359110d525eSBaptiste Daroussincommand. 360110d525eSBaptiste Daroussin.El 361110d525eSBaptiste Daroussin.Sh BUFFERS 362110d525eSBaptiste DaroussinA buffer is an area where commands can save changed or deleted text 363110d525eSBaptiste Daroussinfor later use. 364110d525eSBaptiste Daroussin.Nm vi 365110d525eSBaptiste Daroussinbuffers are named with a single character preceded by a double quote, 366110d525eSBaptiste Daroussinfor example 367110d525eSBaptiste Daroussin.Cm \&" Ns Aq Ar c ; 368110d525eSBaptiste Daroussin.Nm ex 369110d525eSBaptiste Daroussinbuffers are the same, 370110d525eSBaptiste Daroussinbut without the double quote. 371110d525eSBaptiste Daroussin.Nm nex Ns / Ns Nm nvi 372110d525eSBaptiste Daroussinpermits the use of any character without another meaning in the position where 373110d525eSBaptiste Daroussina buffer name is expected. 374110d525eSBaptiste Daroussin.Pp 375110d525eSBaptiste DaroussinAll buffers are either in 376110d525eSBaptiste Daroussin.Em line mode 377110d525eSBaptiste Daroussinor 378110d525eSBaptiste Daroussin.Em character mode . 379110d525eSBaptiste DaroussinInserting a buffer in line mode into the text creates new lines for each of the 380110d525eSBaptiste Daroussinlines it contains, while a buffer in character mode creates new lines for any 381110d525eSBaptiste Daroussinlines 382110d525eSBaptiste Daroussin.Em other 383110d525eSBaptiste Daroussinthan the first and last lines it contains. 384110d525eSBaptiste DaroussinThe first and last lines are inserted at the current cursor position, becoming 385110d525eSBaptiste Daroussinpart of the current line. 386110d525eSBaptiste DaroussinIf there is more than one line in the buffer, 387110d525eSBaptiste Daroussinthe current line itself will be split. 388110d525eSBaptiste DaroussinAll 389110d525eSBaptiste Daroussin.Nm ex 390110d525eSBaptiste Daroussincommands which store text into buffers do so in line mode. 391110d525eSBaptiste DaroussinThe behaviour of 392110d525eSBaptiste Daroussin.Nm vi 393110d525eSBaptiste Daroussincommands depend on their associated motion command: 394110d525eSBaptiste Daroussin.Bl -bullet -offset 6u 395110d525eSBaptiste Daroussin.It 396110d525eSBaptiste Daroussin.Aq Cm control-A , 397110d525eSBaptiste Daroussin.Cm h , 398110d525eSBaptiste Daroussin.Cm l , 399110d525eSBaptiste Daroussin.Cm ,\& , 400110d525eSBaptiste Daroussin.Cm 0 , 401110d525eSBaptiste Daroussin.Cm B , 402110d525eSBaptiste Daroussin.Cm E , 403110d525eSBaptiste Daroussin.Cm F , 404110d525eSBaptiste Daroussin.Cm T , 405110d525eSBaptiste Daroussin.Cm W , 406110d525eSBaptiste Daroussin.Cm \(ha , 407110d525eSBaptiste Daroussin.Cm b , 408110d525eSBaptiste Daroussin.Cm e , 409110d525eSBaptiste Daroussin.Cm f 410110d525eSBaptiste Daroussinand 411110d525eSBaptiste Daroussin.Cm t 412110d525eSBaptiste Daroussinmake the destination buffer character-oriented. 413110d525eSBaptiste Daroussin.It 414110d525eSBaptiste Daroussin.Cm j , 415110d525eSBaptiste Daroussin.Aq Cm control-M , 416110d525eSBaptiste Daroussin.Cm k , 417110d525eSBaptiste Daroussin.Cm \(aq , 418110d525eSBaptiste Daroussin.Cm - , 419110d525eSBaptiste Daroussin.Cm G , 420110d525eSBaptiste Daroussin.Cm H , 421110d525eSBaptiste Daroussin.Cm L , 422110d525eSBaptiste Daroussin.Cm M , 423110d525eSBaptiste Daroussin.Cm _ 424110d525eSBaptiste Daroussinand 425110d525eSBaptiste Daroussin.Cm |\& 426110d525eSBaptiste Daroussinmake the destination buffer line-oriented. 427110d525eSBaptiste Daroussin.It 428110d525eSBaptiste Daroussin.Cm $ , 429110d525eSBaptiste Daroussin.Cm % , 430110d525eSBaptiste Daroussin.Cm \` , 431110d525eSBaptiste Daroussin.Cm (\& , 432110d525eSBaptiste Daroussin.Cm )\& , 433110d525eSBaptiste Daroussin.Cm / , 434110d525eSBaptiste Daroussin.Cm ?\& , 435110d525eSBaptiste Daroussin.Cm [[ , 436110d525eSBaptiste Daroussin.Cm ]] , 437110d525eSBaptiste Daroussin.Cm { 438110d525eSBaptiste Daroussinand 439110d525eSBaptiste Daroussin.Cm } 440110d525eSBaptiste Daroussinmake the destination buffer character-oriented, unless the starting and 441110d525eSBaptiste Daroussinend positions are the first and last characters on a line. 442110d525eSBaptiste DaroussinIn that case, the buffer is line-oriented. 443110d525eSBaptiste Daroussin.El 444110d525eSBaptiste Daroussin.Pp 445110d525eSBaptiste DaroussinThe 446110d525eSBaptiste Daroussin.Nm ex 447110d525eSBaptiste Daroussincommand 448110d525eSBaptiste Daroussin.Cm display buffers 449110d525eSBaptiste Daroussindisplays the current mode for each buffer. 450110d525eSBaptiste Daroussin.Pp 451110d525eSBaptiste DaroussinBuffers named 452110d525eSBaptiste Daroussin.Sq a 453110d525eSBaptiste Daroussinthrough 454110d525eSBaptiste Daroussin.Sq z 455110d525eSBaptiste Daroussinmay be referred to using their uppercase equivalent, in which case new content 456110d525eSBaptiste Daroussinwill be appended to the buffer, instead of replacing it. 457110d525eSBaptiste Daroussin.Pp 458110d525eSBaptiste DaroussinBuffers named 459110d525eSBaptiste Daroussin.Sq 1 460110d525eSBaptiste Daroussinthrough 461110d525eSBaptiste Daroussin.Sq 9 462110d525eSBaptiste Daroussinare special. 463110d525eSBaptiste DaroussinA region of text modified using the 464110d525eSBaptiste Daroussin.Cm c 465110d525eSBaptiste Daroussin.Pq change 466110d525eSBaptiste Daroussinor 467110d525eSBaptiste Daroussin.Cm d 468110d525eSBaptiste Daroussin.Pq delete 469110d525eSBaptiste Daroussincommands is placed into the numeric buffer 470110d525eSBaptiste Daroussin.Sq 1 471110d525eSBaptiste Daroussinif no other buffer is specified and if it meets one of the following conditions: 472110d525eSBaptiste Daroussin.Bl -bullet -offset 6u 473110d525eSBaptiste Daroussin.It 474110d525eSBaptiste DaroussinIt includes characters from more than one line. 475110d525eSBaptiste Daroussin.It 476110d525eSBaptiste DaroussinIt is specified using a line-oriented motion. 477110d525eSBaptiste Daroussin.It 478110d525eSBaptiste DaroussinIt is specified using one of the following motion commands: 479110d525eSBaptiste Daroussin.Aq Cm control-A , 480110d525eSBaptiste Daroussin.Cm \` Ns Aq Ar character , 481110d525eSBaptiste Daroussin.Cm n , 482110d525eSBaptiste Daroussin.Cm N , 483110d525eSBaptiste Daroussin.Cm % , 484110d525eSBaptiste Daroussin.Cm / , 485110d525eSBaptiste Daroussin.Cm { , 486110d525eSBaptiste Daroussin.Cm } , 487110d525eSBaptiste Daroussin.Cm \&( , 488110d525eSBaptiste Daroussin.Cm \&) , 489110d525eSBaptiste Daroussinand 490110d525eSBaptiste Daroussin.Cm \&? . 491110d525eSBaptiste Daroussin.El 492110d525eSBaptiste Daroussin.Pp 493110d525eSBaptiste DaroussinBefore this copy is done, the previous contents of buffer 494110d525eSBaptiste Daroussin.Sq 1 495110d525eSBaptiste Daroussinare moved into buffer 496110d525eSBaptiste Daroussin.Sq 2 , 497110d525eSBaptiste Daroussin.Sq 2 498110d525eSBaptiste Daroussininto buffer 499110d525eSBaptiste Daroussin.Sq 3 , 500110d525eSBaptiste Daroussinand so on. 501110d525eSBaptiste DaroussinThe contents of buffer 502110d525eSBaptiste Daroussin.Sq 9 503110d525eSBaptiste Daroussinare discarded. 504110d525eSBaptiste DaroussinNote that this rotation occurs 505110d525eSBaptiste Daroussin.Em regardless 506110d525eSBaptiste Daroussinof the user specifying another buffer. 507110d525eSBaptiste DaroussinIn 508110d525eSBaptiste Daroussin.Nm vi , 509110d525eSBaptiste Daroussintext may be explicitly stored into the numeric buffers. 510110d525eSBaptiste DaroussinIn this case, the buffer rotation occurs before the replacement of the buffer's 511110d525eSBaptiste Daroussincontents. 512110d525eSBaptiste DaroussinThe numeric buffers are only available in 513110d525eSBaptiste Daroussin.Nm vi 514110d525eSBaptiste Daroussinmode. 515110d525eSBaptiste Daroussin.Sh VI COMMANDS 516110d525eSBaptiste DaroussinThe following section describes the commands available in the command 517110d525eSBaptiste Daroussinmode of the 518110d525eSBaptiste Daroussin.Nm vi 519110d525eSBaptiste Daroussineditor. 520110d525eSBaptiste DaroussinThe following words have a special meaning in the commands description: 521110d525eSBaptiste Daroussin.Pp 522110d525eSBaptiste Daroussin.Bl -tag -width bigword -compact -offset 3u 523110d525eSBaptiste Daroussin.It Ar bigword 524110d525eSBaptiste DaroussinA set of non-whitespace characters. 525110d525eSBaptiste Daroussin.It Ar buffer 526110d525eSBaptiste DaroussinTemporary area where commands may place text. 527110d525eSBaptiste DaroussinIf not specified, the default buffer is used. 528110d525eSBaptiste DaroussinSee also 529110d525eSBaptiste Daroussin.Sx BUFFERS , 530110d525eSBaptiste Daroussinabove. 531110d525eSBaptiste Daroussin.It Ar count 532110d525eSBaptiste DaroussinA positive number used to specify the desired number of iterations 533110d525eSBaptiste Daroussinof a command. 534110d525eSBaptiste DaroussinIt defaults to 1 if not specified. 535110d525eSBaptiste Daroussin.It Ar motion 536110d525eSBaptiste DaroussinA cursor movement command which indicates the other end of the affected region 537110d525eSBaptiste Daroussinof text, the first being the current cursor position. 538110d525eSBaptiste DaroussinRepeating the command character makes it affect the whole current line. 539110d525eSBaptiste Daroussin.It Ar word 540110d525eSBaptiste DaroussinA sequence of letters, digits or underscores. 541110d525eSBaptiste Daroussin.El 542110d525eSBaptiste Daroussin.Pp 543110d525eSBaptiste Daroussin.Ar buffer 544110d525eSBaptiste Daroussinand 545110d525eSBaptiste Daroussin.Ar count , 546110d525eSBaptiste Daroussinif both present, may be specified in any order. 547110d525eSBaptiste Daroussin.Ar motion 548110d525eSBaptiste Daroussinand 549110d525eSBaptiste Daroussin.Ar count , 550110d525eSBaptiste Daroussinif both present, are effectively multiplied together 551110d525eSBaptiste Daroussinand considered part of the motion. 552110d525eSBaptiste Daroussin.Pp 553110d525eSBaptiste Daroussin.Bl -tag -width Ds -compact 554110d525eSBaptiste Daroussin.It Xo 555110d525eSBaptiste Daroussin.Aq Cm control-A 556110d525eSBaptiste Daroussin.Xc 557110d525eSBaptiste DaroussinSearch forward 558110d525eSBaptiste Daroussinfor the word starting at the cursor position. 559110d525eSBaptiste Daroussin.Pp 560110d525eSBaptiste Daroussin.It Xo 561110d525eSBaptiste Daroussin.Op Ar count 562110d525eSBaptiste Daroussin.Aq Cm control-B 563110d525eSBaptiste Daroussin.Xc 564110d525eSBaptiste DaroussinPage backwards 565110d525eSBaptiste Daroussin.Ar count 566110d525eSBaptiste Daroussinscreens. 567110d525eSBaptiste DaroussinTwo lines of overlap are maintained, if possible. 568110d525eSBaptiste Daroussin.Pp 569110d525eSBaptiste Daroussin.It Xo 570110d525eSBaptiste Daroussin.Op Ar count 571110d525eSBaptiste Daroussin.Aq Cm control-D 572110d525eSBaptiste Daroussin.Xc 573110d525eSBaptiste DaroussinScroll forward 574110d525eSBaptiste Daroussin.Ar count 575110d525eSBaptiste Daroussinlines. 576110d525eSBaptiste DaroussinIf 577110d525eSBaptiste Daroussin.Ar count 578110d525eSBaptiste Daroussinis not given, scroll forward the number of lines specified by the last 579110d525eSBaptiste Daroussin.Aq Cm control-D 580110d525eSBaptiste Daroussinor 581110d525eSBaptiste Daroussin.Aq Cm control-U 582110d525eSBaptiste Daroussincommand. 583110d525eSBaptiste DaroussinIf this is the first 584110d525eSBaptiste Daroussin.Aq Cm control-D 585110d525eSBaptiste Daroussincommand, scroll half the number of lines in the current screen. 586110d525eSBaptiste Daroussin.Pp 587110d525eSBaptiste Daroussin.It Xo 588110d525eSBaptiste Daroussin.Op Ar count 589110d525eSBaptiste Daroussin.Aq Cm control-E 590110d525eSBaptiste Daroussin.Xc 591110d525eSBaptiste DaroussinScroll forward 592110d525eSBaptiste Daroussin.Ar count 593110d525eSBaptiste Daroussinlines, leaving the current line and column as is, if possible. 594110d525eSBaptiste Daroussin.Pp 595110d525eSBaptiste Daroussin.It Xo 596110d525eSBaptiste Daroussin.Op Ar count 597110d525eSBaptiste Daroussin.Aq Cm control-F 598110d525eSBaptiste Daroussin.Xc 599110d525eSBaptiste DaroussinPage forward 600110d525eSBaptiste Daroussin.Ar count 601110d525eSBaptiste Daroussinscreens. 602110d525eSBaptiste DaroussinTwo lines of overlap are maintained, if possible. 603110d525eSBaptiste Daroussin.Pp 604110d525eSBaptiste Daroussin.It Aq Cm control-G 605110d525eSBaptiste DaroussinDisplay the following file information: 606110d525eSBaptiste Daroussinthe file name 607110d525eSBaptiste Daroussin.Pq as given to Nm vi ; 608110d525eSBaptiste Daroussinwhether the file has been modified since it was last written; 609110d525eSBaptiste Daroussinif the file is read-only; 610110d525eSBaptiste Daroussinthe current line number; 611110d525eSBaptiste Daroussinthe total number of lines in the file; 612110d525eSBaptiste Daroussinand the current line number as a percentage of the total lines in the file. 613110d525eSBaptiste Daroussin.Pp 614110d525eSBaptiste Daroussin.It Xo 615110d525eSBaptiste Daroussin.Op Ar count 616110d525eSBaptiste Daroussin.Aq Cm control-H 617110d525eSBaptiste Daroussin.Xc 618110d525eSBaptiste Daroussin.It Xo 619110d525eSBaptiste Daroussin.Op Ar count 620110d525eSBaptiste Daroussin.Cm h 621110d525eSBaptiste Daroussin.Xc 622110d525eSBaptiste DaroussinMove the cursor back 623110d525eSBaptiste Daroussin.Ar count 624110d525eSBaptiste Daroussincharacters in the current line. 625110d525eSBaptiste Daroussin.Pp 626110d525eSBaptiste Daroussin.It Xo 627110d525eSBaptiste Daroussin.Op Ar count 628110d525eSBaptiste Daroussin.Aq Cm control-J 629110d525eSBaptiste Daroussin.Xc 630110d525eSBaptiste Daroussin.It Xo 631110d525eSBaptiste Daroussin.Op Ar count 632110d525eSBaptiste Daroussin.Aq Cm control-N 633110d525eSBaptiste Daroussin.Xc 634110d525eSBaptiste Daroussin.It Xo 635110d525eSBaptiste Daroussin.Op Ar count 636110d525eSBaptiste Daroussin.Cm j 637110d525eSBaptiste Daroussin.Xc 638110d525eSBaptiste DaroussinMove the cursor down 639110d525eSBaptiste Daroussin.Ar count 640110d525eSBaptiste Daroussinlines without changing the current column. 641110d525eSBaptiste Daroussin.Pp 642110d525eSBaptiste Daroussin.It Aq Cm control-L 643110d525eSBaptiste Daroussin.It Aq Cm control-R 644110d525eSBaptiste DaroussinRepaint the screen. 645110d525eSBaptiste Daroussin.Pp 646110d525eSBaptiste Daroussin.It Xo 647110d525eSBaptiste Daroussin.Op Ar count 648110d525eSBaptiste Daroussin.Aq Cm control-M 649110d525eSBaptiste Daroussin.Xc 650110d525eSBaptiste Daroussin.It Xo 651110d525eSBaptiste Daroussin.Op Ar count 652110d525eSBaptiste Daroussin.Cm + 653110d525eSBaptiste Daroussin.Xc 654110d525eSBaptiste DaroussinMove the cursor down 655110d525eSBaptiste Daroussin.Ar count 656110d525eSBaptiste Daroussinlines to the first non-blank character of that line. 657110d525eSBaptiste Daroussin.Pp 658110d525eSBaptiste Daroussin.It Xo 659110d525eSBaptiste Daroussin.Op Ar count 660110d525eSBaptiste Daroussin.Aq Cm control-P 661110d525eSBaptiste Daroussin.Xc 662110d525eSBaptiste Daroussin.It Xo 663110d525eSBaptiste Daroussin.Op Ar count 664110d525eSBaptiste Daroussin.Cm k 665110d525eSBaptiste Daroussin.Xc 666110d525eSBaptiste DaroussinMove the cursor up 667110d525eSBaptiste Daroussin.Ar count 668110d525eSBaptiste Daroussinlines, without changing the current column. 669110d525eSBaptiste Daroussin.Pp 670110d525eSBaptiste Daroussin.It Aq Cm control-T 671110d525eSBaptiste DaroussinReturn to the most recent tag context. 672110d525eSBaptiste Daroussin.Pp 673110d525eSBaptiste Daroussin.It Xo 674110d525eSBaptiste Daroussin.Op Ar count 675110d525eSBaptiste Daroussin.Aq Cm control-U 676110d525eSBaptiste Daroussin.Xc 677110d525eSBaptiste DaroussinScroll backwards 678110d525eSBaptiste Daroussin.Ar count 679110d525eSBaptiste Daroussinlines. 680110d525eSBaptiste DaroussinIf 681110d525eSBaptiste Daroussin.Ar count 682110d525eSBaptiste Daroussinis not given, scroll backwards the number of lines specified by the last 683110d525eSBaptiste Daroussin.Aq Cm control-D 684110d525eSBaptiste Daroussinor 685110d525eSBaptiste Daroussin.Aq Cm control-U 686110d525eSBaptiste Daroussincommand. 687110d525eSBaptiste DaroussinIf this is the first 688110d525eSBaptiste Daroussin.Aq Cm control-U 689110d525eSBaptiste Daroussincommand, scroll half the number of lines in the current screen. 690110d525eSBaptiste Daroussin.Pp 691110d525eSBaptiste Daroussin.It Aq Cm control-W 692110d525eSBaptiste DaroussinSwitch to the next lower screen in the window, 693110d525eSBaptiste Daroussinor to the first screen if there are no lower screens in the window. 694110d525eSBaptiste Daroussin.Pp 695110d525eSBaptiste Daroussin.It Xo 696110d525eSBaptiste Daroussin.Op Ar count 697110d525eSBaptiste Daroussin.Aq Cm control-Y 698110d525eSBaptiste Daroussin.Xc 699110d525eSBaptiste DaroussinScroll backwards 700110d525eSBaptiste Daroussin.Ar count 701110d525eSBaptiste Daroussinlines, leaving the current line and column as is, if possible. 702110d525eSBaptiste Daroussin.Pp 703110d525eSBaptiste Daroussin.It Aq Cm control-Z 704110d525eSBaptiste DaroussinSuspend the current editor session. 705110d525eSBaptiste Daroussin.Pp 706110d525eSBaptiste Daroussin.It Aq Cm escape 707110d525eSBaptiste DaroussinExecute the 708110d525eSBaptiste Daroussin.Nm ex 709110d525eSBaptiste Daroussincommand being entered, or cancel it if it is only partial. 710110d525eSBaptiste Daroussin.Pp 711*4087ffdbSBaptiste Daroussin.It Aq Cm control-\(rB 712110d525eSBaptiste DaroussinPush a tag reference onto the tag stack. 713110d525eSBaptiste Daroussin.Pp 714110d525eSBaptiste Daroussin.It Aq Cm control-\(ha 715110d525eSBaptiste DaroussinSwitch to the most recently edited file. 716110d525eSBaptiste Daroussin.Pp 717110d525eSBaptiste Daroussin.It Xo 718110d525eSBaptiste Daroussin.Op Ar count 719110d525eSBaptiste Daroussin.Aq Cm space 720110d525eSBaptiste Daroussin.Xc 721110d525eSBaptiste Daroussin.It Xo 722110d525eSBaptiste Daroussin.Op Ar count 723110d525eSBaptiste Daroussin.Cm l 724110d525eSBaptiste Daroussin.Xc 725110d525eSBaptiste DaroussinMove the cursor forward 726110d525eSBaptiste Daroussin.Ar count 727110d525eSBaptiste Daroussincharacters without changing the current line. 728110d525eSBaptiste Daroussin.Pp 729110d525eSBaptiste Daroussin.It Xo 730110d525eSBaptiste Daroussin.Op Ar count 731110d525eSBaptiste Daroussin.Cm !\& 732110d525eSBaptiste Daroussin.Ar motion shell-argument(s) 733110d525eSBaptiste Daroussin.Aq Li carriage-return 734110d525eSBaptiste Daroussin.Xc 735110d525eSBaptiste DaroussinReplace the lines spanned by 736110d525eSBaptiste Daroussin.Ar count 737110d525eSBaptiste Daroussinand 738110d525eSBaptiste Daroussin.Ar motion 739110d525eSBaptiste Daroussinwith the output 740110d525eSBaptiste Daroussin.Pq standard output and standard error 741110d525eSBaptiste Daroussinof the program named by the 742110d525eSBaptiste Daroussin.Cm shell 743110d525eSBaptiste Daroussinoption, called with a 744110d525eSBaptiste Daroussin.Fl c 745110d525eSBaptiste Daroussinflag followed by the 746110d525eSBaptiste Daroussin.Ar shell-argument(s) 747110d525eSBaptiste Daroussin.Pq bundled into a single argument . 748110d525eSBaptiste DaroussinWithin 749110d525eSBaptiste Daroussin.Ar shell-argument(s) , 750110d525eSBaptiste Daroussinthe 751110d525eSBaptiste Daroussin.Sq % , 752110d525eSBaptiste Daroussin.Sq # 753110d525eSBaptiste Daroussinand 754110d525eSBaptiste Daroussin.Sq !\& 755110d525eSBaptiste Daroussincharacters are expanded to the current file name, 756110d525eSBaptiste Daroussinthe previous current file name, 757110d525eSBaptiste Daroussinand the command text of the previous 758110d525eSBaptiste Daroussin.Cm !\& 759110d525eSBaptiste Daroussinor 760110d525eSBaptiste Daroussin.Cm :! 761110d525eSBaptiste Daroussincommands, respectively. 762110d525eSBaptiste DaroussinThe special meaning of 763110d525eSBaptiste Daroussin.Sq % , 764110d525eSBaptiste Daroussin.Sq # 765110d525eSBaptiste Daroussinand 766110d525eSBaptiste Daroussin.Sq !\& 767110d525eSBaptiste Daroussincan be overridden by escaping them with a backslash. 768110d525eSBaptiste Daroussin.Pp 769110d525eSBaptiste Daroussin.It Xo 770110d525eSBaptiste Daroussin.Op Ar count 771110d525eSBaptiste Daroussin.Cm # 772110d525eSBaptiste Daroussin.Sm off 773110d525eSBaptiste Daroussin.Cm # | + | - 774110d525eSBaptiste Daroussin.Sm on 775110d525eSBaptiste Daroussin.Xc 776110d525eSBaptiste DaroussinIncrement 777110d525eSBaptiste Daroussin.Pq trailing So # Sc or So + Sc 778110d525eSBaptiste Daroussinor decrement 779110d525eSBaptiste Daroussin.Pq trailing Sq - 780110d525eSBaptiste Daroussinthe number under the cursor by 781110d525eSBaptiste Daroussin.Ar count , 782110d525eSBaptiste Daroussinstarting at the cursor position or at the first non-blank 783110d525eSBaptiste Daroussincharacter following it. 784110d525eSBaptiste DaroussinNumbers with a leading 785110d525eSBaptiste Daroussin.Sq 0x 786110d525eSBaptiste Daroussinor 787110d525eSBaptiste Daroussin.Sq 0X 788110d525eSBaptiste Daroussinare interpreted as hexadecimal numbers. 789110d525eSBaptiste DaroussinNumbers with a leading 790110d525eSBaptiste Daroussin.Sq 0 791110d525eSBaptiste Daroussinare interpreted as octal numbers unless they contain a non-octal digit. 792110d525eSBaptiste DaroussinOther numbers may be prefixed with a 793110d525eSBaptiste Daroussin.Sq + 794110d525eSBaptiste Daroussinor 795110d525eSBaptiste Daroussin.Sq - 796110d525eSBaptiste Daroussinsign. 797110d525eSBaptiste Daroussin.Pp 798110d525eSBaptiste Daroussin.It Xo 799110d525eSBaptiste Daroussin.Op Ar count 800110d525eSBaptiste Daroussin.Cm $ 801110d525eSBaptiste Daroussin.Xc 802110d525eSBaptiste DaroussinMove the cursor to the end of a line. 803110d525eSBaptiste DaroussinIf 804110d525eSBaptiste Daroussin.Ar count 805110d525eSBaptiste Daroussinis specified, additionally move the cursor down 806110d525eSBaptiste Daroussin.Ar count 807110d525eSBaptiste Daroussin\(mi 1 lines. 808110d525eSBaptiste Daroussin.Pp 809110d525eSBaptiste Daroussin.It Cm % 810110d525eSBaptiste DaroussinMove to the 811110d525eSBaptiste Daroussin.Cm matchchars 812110d525eSBaptiste Daroussincharacter matching 813110d525eSBaptiste Daroussinthe one found at the cursor position or the closest to the right of it. 814110d525eSBaptiste Daroussin.Pp 815110d525eSBaptiste Daroussin.It Cm & 816110d525eSBaptiste DaroussinRepeat the previous substitution command on the current line. 817110d525eSBaptiste Daroussin.Pp 818110d525eSBaptiste Daroussin.It Xo 819110d525eSBaptiste Daroussin.Cm \(aq Ns Aq Ar character 820110d525eSBaptiste Daroussin.Xc 821110d525eSBaptiste Daroussin.It Xo 822110d525eSBaptiste Daroussin.Cm \` Ns Aq Ar character 823110d525eSBaptiste Daroussin.Xc 824110d525eSBaptiste DaroussinReturn to the cursor position marked by the character 825110d525eSBaptiste Daroussin.Ar character , 826110d525eSBaptiste Daroussinor, if 827110d525eSBaptiste Daroussin.Ar character 828110d525eSBaptiste Daroussinis 829110d525eSBaptiste Daroussin.Sq \(aq 830110d525eSBaptiste Daroussinor 831110d525eSBaptiste Daroussin.Sq \` , 832110d525eSBaptiste Daroussinto the position of the cursor before the last of the following commands: 833110d525eSBaptiste Daroussin.Aq Cm control-A , 834110d525eSBaptiste Daroussin.Aq Cm control-T , 835*4087ffdbSBaptiste Daroussin.Aq Cm control-\(rB , 836110d525eSBaptiste Daroussin.Cm % , 837110d525eSBaptiste Daroussin.Cm \(aq , 838110d525eSBaptiste Daroussin.Cm \` , 839110d525eSBaptiste Daroussin.Cm (\& , 840110d525eSBaptiste Daroussin.Cm )\& , 841110d525eSBaptiste Daroussin.Cm / , 842110d525eSBaptiste Daroussin.Cm ?\& , 843110d525eSBaptiste Daroussin.Cm G , 844110d525eSBaptiste Daroussin.Cm H , 845110d525eSBaptiste Daroussin.Cm L , 846110d525eSBaptiste Daroussin.Cm [[ , 847110d525eSBaptiste Daroussin.Cm ]] , 848110d525eSBaptiste Daroussin.Cm { , 849110d525eSBaptiste Daroussin.Cm } . 850110d525eSBaptiste DaroussinThe first form returns to the first non-blank character of the line marked by 851110d525eSBaptiste Daroussin.Ar character . 852110d525eSBaptiste DaroussinThe second form returns to the line and column marked by 853110d525eSBaptiste Daroussin.Ar character . 854110d525eSBaptiste Daroussin.Pp 855110d525eSBaptiste Daroussin.It Xo 856110d525eSBaptiste Daroussin.Op Ar count 857110d525eSBaptiste Daroussin.Cm \&( 858110d525eSBaptiste Daroussin.Xc 859110d525eSBaptiste Daroussin.It Xo 860110d525eSBaptiste Daroussin.Op Ar count 861110d525eSBaptiste Daroussin.Cm \&) 862110d525eSBaptiste Daroussin.Xc 863110d525eSBaptiste DaroussinMove 864110d525eSBaptiste Daroussin.Ar count 865110d525eSBaptiste Daroussinsentences backward or forward, respectively. 866110d525eSBaptiste DaroussinA sentence is an area of text that begins with the first nonblank character 867110d525eSBaptiste Daroussinfollowing the previous sentence, paragraph, or section 868110d525eSBaptiste Daroussinboundary and continues until the next period, exclamation point, 869110d525eSBaptiste Daroussinor question mark character, followed by any number of closing parentheses, 870110d525eSBaptiste Daroussinbrackets, double or single quote characters, followed by 871110d525eSBaptiste Daroussineither an end-of-line or two whitespace characters. 872110d525eSBaptiste DaroussinGroups of empty lines 873110d525eSBaptiste Daroussin.Pq or lines containing only whitespace characters 874110d525eSBaptiste Daroussinare treated as a single sentence. 875110d525eSBaptiste Daroussin.Pp 876110d525eSBaptiste Daroussin.It Xo 877110d525eSBaptiste Daroussin.Op Ar count 878110d525eSBaptiste Daroussin.Cm ,\& 879110d525eSBaptiste Daroussin.Xc 880110d525eSBaptiste DaroussinReverse find character 881110d525eSBaptiste Daroussin.Pq i.e., the last Cm F , f , T No or Cm t No command 882110d525eSBaptiste Daroussin.Ar count 883110d525eSBaptiste Daroussintimes. 884110d525eSBaptiste Daroussin.Pp 885110d525eSBaptiste Daroussin.It Xo 886110d525eSBaptiste Daroussin.Op Ar count 887110d525eSBaptiste Daroussin.Cm - 888110d525eSBaptiste Daroussin.Xc 889110d525eSBaptiste DaroussinMove to the first non-blank character of the previous line, 890110d525eSBaptiste Daroussin.Ar count 891110d525eSBaptiste Daroussintimes. 892110d525eSBaptiste Daroussin.Pp 893110d525eSBaptiste Daroussin.It Xo 894110d525eSBaptiste Daroussin.Op Ar count 895110d525eSBaptiste Daroussin.Cm .\& 896110d525eSBaptiste Daroussin.Xc 897110d525eSBaptiste DaroussinRepeat the last 898110d525eSBaptiste Daroussin.Nm vi 899110d525eSBaptiste Daroussincommand that modified text. 900110d525eSBaptiste Daroussin.Ar count 901110d525eSBaptiste Daroussinreplaces both the 902110d525eSBaptiste Daroussin.Ar count 903110d525eSBaptiste Daroussinargument of the repeated command and that of the associated 904110d525eSBaptiste Daroussin.Ar motion . 905110d525eSBaptiste DaroussinIf the 906110d525eSBaptiste Daroussin.Cm .\& 907110d525eSBaptiste Daroussincommand repeats the 908110d525eSBaptiste Daroussin.Cm u 909110d525eSBaptiste Daroussincommand, the change log is rolled forward or backward, depending on the action 910110d525eSBaptiste Daroussinof the 911110d525eSBaptiste Daroussin.Cm u 912110d525eSBaptiste Daroussincommand. 913110d525eSBaptiste Daroussin.Pp 914110d525eSBaptiste Daroussin.It Xo 915110d525eSBaptiste Daroussin.Pf / Ns Ar RE 916110d525eSBaptiste Daroussin.Aq Li carriage-return 917110d525eSBaptiste Daroussin.Xc 918110d525eSBaptiste Daroussin.It Xo 919110d525eSBaptiste Daroussin.Pf / Ns Ar RE Ns / 920110d525eSBaptiste Daroussin.Op Ar offset 921110d525eSBaptiste Daroussin.Op Cm z 922110d525eSBaptiste Daroussin.Aq Li carriage-return 923110d525eSBaptiste Daroussin.Xc 924110d525eSBaptiste Daroussin.It Xo 925110d525eSBaptiste Daroussin.Pf ?\& Ns Ar RE 926110d525eSBaptiste Daroussin.Aq Li carriage-return 927110d525eSBaptiste Daroussin.Xc 928110d525eSBaptiste Daroussin.It Xo 929110d525eSBaptiste Daroussin.Pf ?\& Ns Ar RE Ns ?\& 930110d525eSBaptiste Daroussin.Op Ar offset 931110d525eSBaptiste Daroussin.Op Cm z 932110d525eSBaptiste Daroussin.Aq Li carriage-return 933110d525eSBaptiste Daroussin.Xc 934110d525eSBaptiste Daroussin.It Cm N 935110d525eSBaptiste Daroussin.It Cm n 936110d525eSBaptiste DaroussinSearch forward 937110d525eSBaptiste Daroussin.Pq Sq / 938110d525eSBaptiste Daroussinor backward 939110d525eSBaptiste Daroussin.Pq Sq ?\& 940110d525eSBaptiste Daroussinfor a regular expression. 941110d525eSBaptiste Daroussin.Cm n 942110d525eSBaptiste Daroussinand 943110d525eSBaptiste Daroussin.Cm N 944110d525eSBaptiste Daroussinrepeat the last search in the same or opposite directions, respectively. 945110d525eSBaptiste DaroussinIf 946110d525eSBaptiste Daroussin.Ar RE 947110d525eSBaptiste Daroussinis empty, the last search regular expression is used. 948110d525eSBaptiste DaroussinIf 949110d525eSBaptiste Daroussin.Ar offset 950110d525eSBaptiste Daroussinis specified, the cursor is placed 951110d525eSBaptiste Daroussin.Ar offset 952110d525eSBaptiste Daroussinlines before or after the matched regular expression. 953110d525eSBaptiste DaroussinIf either 954110d525eSBaptiste Daroussin.Cm n 955110d525eSBaptiste Daroussinor 956110d525eSBaptiste Daroussin.Cm N 957110d525eSBaptiste Daroussincommands are used as motion components for the 958110d525eSBaptiste Daroussin.Cm !\& 959110d525eSBaptiste Daroussincommand, there will be no prompt for the text of the command and the previous 960110d525eSBaptiste Daroussin.Cm !\& 961110d525eSBaptiste Daroussinwill be executed. 962110d525eSBaptiste DaroussinMultiple search patterns may be grouped together by delimiting them with 963110d525eSBaptiste Daroussinsemicolons and zero or more whitespace characters. 964110d525eSBaptiste DaroussinThese patterns are evaluated from left to right with the final cursor position 965110d525eSBaptiste Daroussindetermined by the last search pattern. 966110d525eSBaptiste DaroussinA 967110d525eSBaptiste Daroussin.Cm z 968110d525eSBaptiste Daroussincommand may be appended to the closed search expressions to reposition the 969110d525eSBaptiste Daroussinresult line. 970110d525eSBaptiste Daroussin.Pp 971110d525eSBaptiste Daroussin.It Cm 0 972110d525eSBaptiste DaroussinMove to the first character in the current line. 973110d525eSBaptiste Daroussin.Pp 974110d525eSBaptiste Daroussin.It Cm :\& 975110d525eSBaptiste DaroussinExecute an 976110d525eSBaptiste Daroussin.Nm ex 977110d525eSBaptiste Daroussincommand. 978110d525eSBaptiste Daroussin.Pp 979110d525eSBaptiste Daroussin.It Xo 980110d525eSBaptiste Daroussin.Op Ar count 981110d525eSBaptiste Daroussin.Cm ;\& 982110d525eSBaptiste Daroussin.Xc 983110d525eSBaptiste DaroussinRepeat the last character find 984110d525eSBaptiste Daroussin(i.e., the last 985110d525eSBaptiste Daroussin.Cm F , f , T 986110d525eSBaptiste Daroussinor 987110d525eSBaptiste Daroussin.Cm t 988110d525eSBaptiste Daroussincommand) 989110d525eSBaptiste Daroussin.Ar count 990110d525eSBaptiste Daroussintimes. 991110d525eSBaptiste Daroussin.Pp 992110d525eSBaptiste Daroussin.It Xo 993110d525eSBaptiste Daroussin.Op Ar count 994110d525eSBaptiste Daroussin.Cm < 995110d525eSBaptiste Daroussin.Ar motion 996110d525eSBaptiste Daroussin.Xc 997110d525eSBaptiste Daroussin.It Xo 998110d525eSBaptiste Daroussin.Op Ar count 999110d525eSBaptiste Daroussin.Cm > 1000110d525eSBaptiste Daroussin.Ar motion 1001110d525eSBaptiste Daroussin.Xc 1002110d525eSBaptiste DaroussinShift 1003110d525eSBaptiste Daroussin.Ar count 1004110d525eSBaptiste Daroussinlines left or right, respectively, by an amount of 1005110d525eSBaptiste Daroussin.Cm shiftwidth . 1006110d525eSBaptiste Daroussin.Pp 1007110d525eSBaptiste Daroussin.It Cm @ Ar buffer 1008110d525eSBaptiste DaroussinExecute a named 1009110d525eSBaptiste Daroussin.Ar buffer 1010110d525eSBaptiste Daroussinas 1011110d525eSBaptiste Daroussin.Nm vi 1012110d525eSBaptiste Daroussincommands. 1013110d525eSBaptiste DaroussinThe buffer may include 1014110d525eSBaptiste Daroussin.Nm ex 1015110d525eSBaptiste Daroussincommands too, but they must be expressed as a 1016110d525eSBaptiste Daroussin.Cm \&: 1017110d525eSBaptiste Daroussincommand. 1018110d525eSBaptiste DaroussinIf 1019110d525eSBaptiste Daroussin.Ar buffer 1020110d525eSBaptiste Daroussinis 1021110d525eSBaptiste Daroussin.Sq @ 1022110d525eSBaptiste Daroussinor 1023110d525eSBaptiste Daroussin.Sq * , 1024110d525eSBaptiste Daroussinthen the last buffer executed shall be used. 1025110d525eSBaptiste Daroussin.Pp 1026110d525eSBaptiste Daroussin.It Xo 1027110d525eSBaptiste Daroussin.Op Ar count 1028110d525eSBaptiste Daroussin.Cm A 1029110d525eSBaptiste Daroussin.Xc 1030110d525eSBaptiste DaroussinEnter input mode, appending the text after the end of the line. 1031110d525eSBaptiste DaroussinIf a 1032110d525eSBaptiste Daroussin.Ar count 1033110d525eSBaptiste Daroussinargument is given, the characters input are repeated 1034110d525eSBaptiste Daroussin.Ar count 1035110d525eSBaptiste Daroussin\(mi 1 times after input mode is exited. 1036110d525eSBaptiste Daroussin.Pp 1037110d525eSBaptiste Daroussin.It Xo 1038110d525eSBaptiste Daroussin.Op Ar count 1039110d525eSBaptiste Daroussin.Cm B 1040110d525eSBaptiste Daroussin.Xc 1041110d525eSBaptiste DaroussinMove backwards 1042110d525eSBaptiste Daroussin.Ar count 1043110d525eSBaptiste Daroussinbigwords. 1044110d525eSBaptiste Daroussin.Pp 1045110d525eSBaptiste Daroussin.It Xo 1046110d525eSBaptiste Daroussin.Op Ar buffer 1047110d525eSBaptiste Daroussin.Cm C 1048110d525eSBaptiste Daroussin.Xc 1049110d525eSBaptiste DaroussinChange text from the current position to the end-of-line. 1050110d525eSBaptiste DaroussinIf 1051110d525eSBaptiste Daroussin.Ar buffer 1052110d525eSBaptiste Daroussinis specified, 1053110d525eSBaptiste Daroussin.Dq yank 1054110d525eSBaptiste Daroussinthe deleted text into 1055110d525eSBaptiste Daroussin.Ar buffer . 1056110d525eSBaptiste Daroussin.Pp 1057110d525eSBaptiste Daroussin.It Xo 1058110d525eSBaptiste Daroussin.Op Ar buffer 1059110d525eSBaptiste Daroussin.Cm D 1060110d525eSBaptiste Daroussin.Xc 1061110d525eSBaptiste DaroussinDelete text from the current position to the end-of-line. 1062110d525eSBaptiste DaroussinIf 1063110d525eSBaptiste Daroussin.Ar buffer 1064110d525eSBaptiste Daroussinis specified, 1065110d525eSBaptiste Daroussin.Dq yank 1066110d525eSBaptiste Daroussinthe deleted text into 1067110d525eSBaptiste Daroussin.Ar buffer . 1068110d525eSBaptiste Daroussin.Pp 1069110d525eSBaptiste Daroussin.It Xo 1070110d525eSBaptiste Daroussin.Op Ar count 1071110d525eSBaptiste Daroussin.Cm E 1072110d525eSBaptiste Daroussin.Xc 1073110d525eSBaptiste DaroussinMove forward 1074110d525eSBaptiste Daroussin.Ar count 1075110d525eSBaptiste Daroussinend-of-bigwords. 1076110d525eSBaptiste Daroussin.Pp 1077110d525eSBaptiste Daroussin.It Xo 1078110d525eSBaptiste Daroussin.Op Ar count 1079110d525eSBaptiste Daroussin.Cm F Aq Ar character 1080110d525eSBaptiste Daroussin.Xc 1081110d525eSBaptiste DaroussinSearch 1082110d525eSBaptiste Daroussin.Ar count 1083110d525eSBaptiste Daroussintimes backward through the current line for 1084110d525eSBaptiste Daroussin.Aq Ar character . 1085110d525eSBaptiste Daroussin.Pp 1086110d525eSBaptiste Daroussin.It Xo 1087110d525eSBaptiste Daroussin.Op Ar count 1088110d525eSBaptiste Daroussin.Cm G 1089110d525eSBaptiste Daroussin.Xc 1090110d525eSBaptiste DaroussinMove to line 1091110d525eSBaptiste Daroussin.Ar count , 1092110d525eSBaptiste Daroussinor the last line of the file if 1093110d525eSBaptiste Daroussin.Ar count 1094110d525eSBaptiste Daroussinis not specified. 1095110d525eSBaptiste Daroussin.Pp 1096110d525eSBaptiste Daroussin.It Xo 1097110d525eSBaptiste Daroussin.Op Ar count 1098110d525eSBaptiste Daroussin.Cm H 1099110d525eSBaptiste Daroussin.Xc 1100110d525eSBaptiste DaroussinMove to the screen line 1101110d525eSBaptiste Daroussin.Ar count 1102110d525eSBaptiste Daroussin\(mi 1 lines below the top of the screen. 1103110d525eSBaptiste Daroussin.Pp 1104110d525eSBaptiste Daroussin.It Xo 1105110d525eSBaptiste Daroussin.Op Ar count 1106110d525eSBaptiste Daroussin.Cm I 1107110d525eSBaptiste Daroussin.Xc 1108110d525eSBaptiste DaroussinEnter input mode, inserting the text at the beginning of the line. 1109110d525eSBaptiste DaroussinIf a 1110110d525eSBaptiste Daroussin.Ar count 1111110d525eSBaptiste Daroussinargument is given, 1112110d525eSBaptiste Daroussinthe characters input are repeated 1113110d525eSBaptiste Daroussin.Ar count 1114110d525eSBaptiste Daroussin\(mi 1 more times. 1115110d525eSBaptiste Daroussin.Pp 1116110d525eSBaptiste Daroussin.It Xo 1117110d525eSBaptiste Daroussin.Op Ar count 1118110d525eSBaptiste Daroussin.Cm J 1119110d525eSBaptiste Daroussin.Xc 1120110d525eSBaptiste DaroussinJoin 1121110d525eSBaptiste Daroussin.Ar count 1122110d525eSBaptiste Daroussinlines with the current line. 1123110d525eSBaptiste DaroussinThe spacing between two joined lines is set to two whitespace characters if the 1124110d525eSBaptiste Daroussinformer ends with a question mark, a period or an exclamation point. 1125110d525eSBaptiste DaroussinIt is set to one whitespace character otherwise. 1126110d525eSBaptiste Daroussin.Pp 1127110d525eSBaptiste Daroussin.It Xo 1128110d525eSBaptiste Daroussin.Op Ar count 1129110d525eSBaptiste Daroussin.Cm L 1130110d525eSBaptiste Daroussin.Xc 1131110d525eSBaptiste DaroussinMove to the screen line 1132110d525eSBaptiste Daroussin.Ar count 1133110d525eSBaptiste Daroussin\(mi 1 lines above the bottom of the screen. 1134110d525eSBaptiste Daroussin.Pp 1135110d525eSBaptiste Daroussin.It Cm M 1136110d525eSBaptiste DaroussinMove to the screen line in the middle of the screen. 1137110d525eSBaptiste Daroussin.Pp 1138110d525eSBaptiste Daroussin.It Xo 1139110d525eSBaptiste Daroussin.Op Ar count 1140110d525eSBaptiste Daroussin.Cm O 1141110d525eSBaptiste Daroussin.Xc 1142110d525eSBaptiste DaroussinEnter input mode, appending text in a new line above the current line. 1143110d525eSBaptiste DaroussinIf a 1144110d525eSBaptiste Daroussin.Ar count 1145110d525eSBaptiste Daroussinargument is given, 1146110d525eSBaptiste Daroussinthe characters input are repeated 1147110d525eSBaptiste Daroussin.Ar count 1148110d525eSBaptiste Daroussin\(mi 1 more times. 1149110d525eSBaptiste Daroussin.Pp 1150110d525eSBaptiste Daroussin.It Xo 1151110d525eSBaptiste Daroussin.Op Ar buffer 1152110d525eSBaptiste Daroussin.Cm P 1153110d525eSBaptiste Daroussin.Xc 1154110d525eSBaptiste DaroussinInsert text from 1155110d525eSBaptiste Daroussin.Ar buffer 1156110d525eSBaptiste Daroussinbefore the current column if 1157110d525eSBaptiste Daroussin.Ar buffer 1158110d525eSBaptiste Daroussinis character-oriented or before the current line if it is line-oriented. 1159110d525eSBaptiste Daroussin.Pp 1160110d525eSBaptiste Daroussin.It Cm Q 1161110d525eSBaptiste DaroussinExit 1162110d525eSBaptiste Daroussin.Nm vi 1163110d525eSBaptiste Daroussin.Pq or visual 1164110d525eSBaptiste Daroussinmode and switch to 1165110d525eSBaptiste Daroussin.Nm ex 1166110d525eSBaptiste Daroussinmode. 1167110d525eSBaptiste Daroussin.Pp 1168110d525eSBaptiste Daroussin.It Xo 1169110d525eSBaptiste Daroussin.Op Ar count 1170110d525eSBaptiste Daroussin.Cm R 1171110d525eSBaptiste Daroussin.Xc 1172110d525eSBaptiste DaroussinEnter input mode, replacing the characters in the current line. 1173110d525eSBaptiste DaroussinIf a 1174110d525eSBaptiste Daroussin.Ar count 1175110d525eSBaptiste Daroussinargument is given, 1176110d525eSBaptiste Daroussinthe characters input are repeated 1177110d525eSBaptiste Daroussin.Ar count 1178110d525eSBaptiste Daroussin\(mi 1 more times upon exit from insert mode. 1179110d525eSBaptiste Daroussin.Pp 1180110d525eSBaptiste Daroussin.It Xo 1181110d525eSBaptiste Daroussin.Op Ar buffer 1182110d525eSBaptiste Daroussin.Op Ar count 1183110d525eSBaptiste Daroussin.Cm S 1184110d525eSBaptiste Daroussin.Xc 1185110d525eSBaptiste DaroussinSubstitute 1186110d525eSBaptiste Daroussin.Ar count 1187110d525eSBaptiste Daroussinlines. 1188110d525eSBaptiste DaroussinIf 1189110d525eSBaptiste Daroussin.Ar buffer 1190110d525eSBaptiste Daroussinis specified, 1191110d525eSBaptiste Daroussin.Dq yank 1192110d525eSBaptiste Daroussinthe deleted text into 1193110d525eSBaptiste Daroussin.Ar buffer . 1194110d525eSBaptiste Daroussin.Pp 1195110d525eSBaptiste Daroussin.It Xo 1196110d525eSBaptiste Daroussin.Op Ar count 1197110d525eSBaptiste Daroussin.Cm T 1198110d525eSBaptiste Daroussin.Aq Ar character 1199110d525eSBaptiste Daroussin.Xc 1200110d525eSBaptiste DaroussinSearch backwards, 1201110d525eSBaptiste Daroussin.Ar count 1202110d525eSBaptiste Daroussintimes, through the current line for the character after the specified 1203110d525eSBaptiste Daroussin.Aq Ar character . 1204110d525eSBaptiste Daroussin.Pp 1205110d525eSBaptiste Daroussin.It Cm U 1206110d525eSBaptiste DaroussinRestore the current line to its state before the cursor last moved to it. 1207110d525eSBaptiste Daroussin.Pp 1208110d525eSBaptiste Daroussin.It Xo 1209110d525eSBaptiste Daroussin.Op Ar count 1210110d525eSBaptiste Daroussin.Cm W 1211110d525eSBaptiste Daroussin.Xc 1212110d525eSBaptiste DaroussinMove forward 1213110d525eSBaptiste Daroussin.Ar count 1214110d525eSBaptiste Daroussinbigwords. 1215110d525eSBaptiste Daroussin.Pp 1216110d525eSBaptiste Daroussin.It Xo 1217110d525eSBaptiste Daroussin.Op Ar buffer 1218110d525eSBaptiste Daroussin.Op Ar count 1219110d525eSBaptiste Daroussin.Cm X 1220110d525eSBaptiste Daroussin.Xc 1221110d525eSBaptiste DaroussinDelete 1222110d525eSBaptiste Daroussin.Ar count 1223110d525eSBaptiste Daroussincharacters before the cursor, on the current line. 1224110d525eSBaptiste DaroussinIf 1225110d525eSBaptiste Daroussin.Ar buffer 1226110d525eSBaptiste Daroussinis specified, 1227110d525eSBaptiste Daroussin.Dq yank 1228110d525eSBaptiste Daroussinthe deleted text into 1229110d525eSBaptiste Daroussin.Ar buffer . 1230110d525eSBaptiste Daroussin.Pp 1231110d525eSBaptiste Daroussin.It Xo 1232110d525eSBaptiste Daroussin.Op Ar buffer 1233110d525eSBaptiste Daroussin.Op Ar count 1234110d525eSBaptiste Daroussin.Cm Y 1235110d525eSBaptiste Daroussin.Xc 1236110d525eSBaptiste DaroussinCopy 1237110d525eSBaptiste Daroussin.Pq or Dq yank 1238110d525eSBaptiste Daroussin.Ar count 1239110d525eSBaptiste Daroussinlines into 1240110d525eSBaptiste Daroussin.Ar buffer . 1241110d525eSBaptiste Daroussin.Pp 1242110d525eSBaptiste Daroussin.It Cm ZZ 1243110d525eSBaptiste DaroussinWrite the file and exit 1244110d525eSBaptiste Daroussin.Nm vi 1245110d525eSBaptiste Daroussinif there are no more files to edit. 1246110d525eSBaptiste DaroussinEntering two 1247110d525eSBaptiste Daroussin.Dq quit 1248110d525eSBaptiste Daroussincommands in a row ignores any remaining file to edit. 1249110d525eSBaptiste Daroussin.Pp 1250110d525eSBaptiste Daroussin.It Xo 1251110d525eSBaptiste Daroussin.Op Ar count 1252110d525eSBaptiste Daroussin.Cm [[ 1253110d525eSBaptiste Daroussin.Xc 1254110d525eSBaptiste DaroussinBack up 1255110d525eSBaptiste Daroussin.Ar count 1256110d525eSBaptiste Daroussinsection boundaries. 1257110d525eSBaptiste Daroussin.Pp 1258110d525eSBaptiste Daroussin.It Xo 1259110d525eSBaptiste Daroussin.Op Ar count 1260110d525eSBaptiste Daroussin.Cm ]] 1261110d525eSBaptiste Daroussin.Xc 1262110d525eSBaptiste DaroussinMove forward 1263110d525eSBaptiste Daroussin.Ar count 1264110d525eSBaptiste Daroussinsection boundaries. 1265110d525eSBaptiste Daroussin.Pp 1266110d525eSBaptiste Daroussin.It Cm \(ha 1267110d525eSBaptiste DaroussinMove to the first non-blank character on the current line. 1268110d525eSBaptiste Daroussin.Pp 1269110d525eSBaptiste Daroussin.It Xo 1270110d525eSBaptiste Daroussin.Op Ar count 1271110d525eSBaptiste Daroussin.Cm _ 1272110d525eSBaptiste Daroussin.Xc 1273110d525eSBaptiste DaroussinMove down 1274110d525eSBaptiste Daroussin.Ar count 1275110d525eSBaptiste Daroussin\(mi 1 lines, to the first non-blank character. 1276110d525eSBaptiste Daroussin.Pp 1277110d525eSBaptiste Daroussin.It Xo 1278110d525eSBaptiste Daroussin.Op Ar count 1279110d525eSBaptiste Daroussin.Cm a 1280110d525eSBaptiste Daroussin.Xc 1281110d525eSBaptiste DaroussinEnter input mode, appending the text after the cursor. 1282110d525eSBaptiste DaroussinIf a 1283110d525eSBaptiste Daroussin.Ar count 1284110d525eSBaptiste Daroussinargument is given, 1285110d525eSBaptiste Daroussinthe characters input are repeated 1286110d525eSBaptiste Daroussin.Ar count 1287110d525eSBaptiste Daroussinnumber of times. 1288110d525eSBaptiste Daroussin.Pp 1289110d525eSBaptiste Daroussin.It Xo 1290110d525eSBaptiste Daroussin.Op Ar count 1291110d525eSBaptiste Daroussin.Cm b 1292110d525eSBaptiste Daroussin.Xc 1293110d525eSBaptiste DaroussinMove backwards 1294110d525eSBaptiste Daroussin.Ar count 1295110d525eSBaptiste Daroussinwords. 1296110d525eSBaptiste Daroussin.Pp 1297110d525eSBaptiste Daroussin.It Xo 1298110d525eSBaptiste Daroussin.Op Ar buffer 1299110d525eSBaptiste Daroussin.Op Ar count 1300110d525eSBaptiste Daroussin.Cm c 1301110d525eSBaptiste Daroussin.Ar motion 1302110d525eSBaptiste Daroussin.Xc 1303110d525eSBaptiste DaroussinChange the region of text described by 1304110d525eSBaptiste Daroussin.Ar count 1305110d525eSBaptiste Daroussinand 1306110d525eSBaptiste Daroussin.Ar motion . 1307110d525eSBaptiste DaroussinIf 1308110d525eSBaptiste Daroussin.Ar buffer 1309110d525eSBaptiste Daroussinis specified, 1310110d525eSBaptiste Daroussin.Dq yank 1311110d525eSBaptiste Daroussinthe changed text into 1312110d525eSBaptiste Daroussin.Ar buffer . 1313110d525eSBaptiste Daroussin.Pp 1314110d525eSBaptiste Daroussin.It Xo 1315110d525eSBaptiste Daroussin.Op Ar buffer 1316110d525eSBaptiste Daroussin.Op Ar count 1317110d525eSBaptiste Daroussin.Cm d 1318110d525eSBaptiste Daroussin.Ar motion 1319110d525eSBaptiste Daroussin.Xc 1320110d525eSBaptiste DaroussinDelete the region of text described by 1321110d525eSBaptiste Daroussin.Ar count 1322110d525eSBaptiste Daroussinand 1323110d525eSBaptiste Daroussin.Ar motion . 1324110d525eSBaptiste DaroussinIf 1325110d525eSBaptiste Daroussin.Ar buffer 1326110d525eSBaptiste Daroussinis specified, 1327110d525eSBaptiste Daroussin.Dq yank 1328110d525eSBaptiste Daroussinthe deleted text into 1329110d525eSBaptiste Daroussin.Ar buffer . 1330110d525eSBaptiste Daroussin.Pp 1331110d525eSBaptiste Daroussin.It Xo 1332110d525eSBaptiste Daroussin.Op Ar count 1333110d525eSBaptiste Daroussin.Cm e 1334110d525eSBaptiste Daroussin.Xc 1335110d525eSBaptiste DaroussinMove forward 1336110d525eSBaptiste Daroussin.Ar count 1337110d525eSBaptiste Daroussinend-of-words. 1338110d525eSBaptiste Daroussin.Pp 1339110d525eSBaptiste Daroussin.It Xo 1340110d525eSBaptiste Daroussin.Op Ar count 1341110d525eSBaptiste Daroussin.Cm f Aq Ar character 1342110d525eSBaptiste Daroussin.Xc 1343110d525eSBaptiste DaroussinSearch forward, 1344110d525eSBaptiste Daroussin.Ar count 1345110d525eSBaptiste Daroussintimes, through the rest of the current line for 1346110d525eSBaptiste Daroussin.Aq Ar character . 1347110d525eSBaptiste Daroussin.Pp 1348110d525eSBaptiste Daroussin.It Xo 1349110d525eSBaptiste Daroussin.Op Ar count 1350110d525eSBaptiste Daroussin.Cm i 1351110d525eSBaptiste Daroussin.Xc 1352110d525eSBaptiste DaroussinEnter input mode, inserting the text before the cursor. 1353110d525eSBaptiste DaroussinIf a 1354110d525eSBaptiste Daroussin.Ar count 1355110d525eSBaptiste Daroussinargument is given, 1356110d525eSBaptiste Daroussinthe characters input are repeated 1357110d525eSBaptiste Daroussin.Ar count 1358110d525eSBaptiste Daroussinnumber of times. 1359110d525eSBaptiste Daroussin.Pp 1360110d525eSBaptiste Daroussin.It Xo 1361110d525eSBaptiste Daroussin.Cm m 1362110d525eSBaptiste Daroussin.Aq Ar character 1363110d525eSBaptiste Daroussin.Xc 1364110d525eSBaptiste DaroussinSave the current context 1365110d525eSBaptiste Daroussin.Pq line and column 1366110d525eSBaptiste Daroussinas 1367110d525eSBaptiste Daroussin.Aq Ar character . 1368110d525eSBaptiste Daroussin.Pp 1369110d525eSBaptiste Daroussin.It Xo 1370110d525eSBaptiste Daroussin.Op Ar count 1371110d525eSBaptiste Daroussin.Cm o 1372110d525eSBaptiste Daroussin.Xc 1373110d525eSBaptiste DaroussinEnter input mode, appending text in a new line under the current line. 1374110d525eSBaptiste DaroussinIf a 1375110d525eSBaptiste Daroussin.Ar count 1376110d525eSBaptiste Daroussinargument is given, 1377110d525eSBaptiste Daroussinthe characters input are repeated 1378110d525eSBaptiste Daroussin.Ar count 1379110d525eSBaptiste Daroussin\(mi 1 more times. 1380110d525eSBaptiste Daroussin.Pp 1381110d525eSBaptiste Daroussin.It Xo 1382110d525eSBaptiste Daroussin.Op Ar buffer 1383110d525eSBaptiste Daroussin.Cm p 1384110d525eSBaptiste Daroussin.Xc 1385110d525eSBaptiste DaroussinAppend text from 1386110d525eSBaptiste Daroussin.Ar buffer . 1387110d525eSBaptiste DaroussinText is appended after the current column if 1388110d525eSBaptiste Daroussin.Ar buffer 1389110d525eSBaptiste Daroussinis character oriented, or after the current line otherwise. 1390110d525eSBaptiste Daroussin.Pp 1391110d525eSBaptiste Daroussin.It Xo 1392110d525eSBaptiste Daroussin.Op Ar count 1393110d525eSBaptiste Daroussin.Cm r 1394110d525eSBaptiste Daroussin.Aq Ar character 1395110d525eSBaptiste Daroussin.Xc 1396110d525eSBaptiste DaroussinReplace 1397110d525eSBaptiste Daroussin.Ar count 1398110d525eSBaptiste Daroussincharacters with 1399110d525eSBaptiste Daroussin.Ar character . 1400110d525eSBaptiste Daroussin.Pp 1401110d525eSBaptiste Daroussin.It Xo 1402110d525eSBaptiste Daroussin.Op Ar buffer 1403110d525eSBaptiste Daroussin.Op Ar count 1404110d525eSBaptiste Daroussin.Cm s 1405110d525eSBaptiste Daroussin.Xc 1406110d525eSBaptiste DaroussinSubstitute 1407110d525eSBaptiste Daroussin.Ar count 1408110d525eSBaptiste Daroussincharacters in the current line starting with the current character. 1409110d525eSBaptiste DaroussinIf 1410110d525eSBaptiste Daroussin.Ar buffer 1411110d525eSBaptiste Daroussinis specified, 1412110d525eSBaptiste Daroussin.Dq yank 1413110d525eSBaptiste Daroussinthe substituted text into 1414110d525eSBaptiste Daroussin.Ar buffer . 1415110d525eSBaptiste Daroussin.Pp 1416110d525eSBaptiste Daroussin.It Xo 1417110d525eSBaptiste Daroussin.Op Ar count 1418110d525eSBaptiste Daroussin.Cm t 1419110d525eSBaptiste Daroussin.Aq Ar character 1420110d525eSBaptiste Daroussin.Xc 1421110d525eSBaptiste DaroussinSearch forward, 1422110d525eSBaptiste Daroussin.Ar count 1423110d525eSBaptiste Daroussintimes, through the current line for the character immediately before 1424110d525eSBaptiste Daroussin.Aq Ar character . 1425110d525eSBaptiste Daroussin.Pp 1426110d525eSBaptiste Daroussin.It Cm u 1427110d525eSBaptiste DaroussinUndo the last change made to the file. 1428110d525eSBaptiste DaroussinIf repeated, the 1429110d525eSBaptiste Daroussin.Cm u 1430110d525eSBaptiste Daroussincommand alternates between these two states. 1431110d525eSBaptiste DaroussinThe 1432110d525eSBaptiste Daroussin.Cm .\& 1433110d525eSBaptiste Daroussincommand, when used immediately after 1434110d525eSBaptiste Daroussin.Cm u , 1435110d525eSBaptiste Daroussincauses the change log to be rolled forward or backward, depending on the action 1436110d525eSBaptiste Daroussinof the 1437110d525eSBaptiste Daroussin.Cm u 1438110d525eSBaptiste Daroussincommand. 1439110d525eSBaptiste Daroussin.Pp 1440110d525eSBaptiste Daroussin.It Xo 1441110d525eSBaptiste Daroussin.Op Ar count 1442110d525eSBaptiste Daroussin.Cm w 1443110d525eSBaptiste Daroussin.Xc 1444110d525eSBaptiste DaroussinMove forward 1445110d525eSBaptiste Daroussin.Ar count 1446110d525eSBaptiste Daroussinwords. 1447110d525eSBaptiste Daroussin.Pp 1448110d525eSBaptiste Daroussin.It Xo 1449110d525eSBaptiste Daroussin.Op Ar buffer 1450110d525eSBaptiste Daroussin.Op Ar count 1451110d525eSBaptiste Daroussin.Cm x 1452110d525eSBaptiste Daroussin.Xc 1453110d525eSBaptiste DaroussinDelete 1454110d525eSBaptiste Daroussin.Ar count 1455110d525eSBaptiste Daroussincharacters at the current cursor position, but no more than there are till the 1456110d525eSBaptiste Daroussinend of the line. 1457110d525eSBaptiste Daroussin.Pp 1458110d525eSBaptiste Daroussin.It Xo 1459110d525eSBaptiste Daroussin.Op Ar buffer 1460110d525eSBaptiste Daroussin.Op Ar count 1461110d525eSBaptiste Daroussin.Cm y 1462110d525eSBaptiste Daroussin.Ar motion 1463110d525eSBaptiste Daroussin.Xc 1464110d525eSBaptiste DaroussinCopy 1465110d525eSBaptiste Daroussin.Pq or Dq yank 1466110d525eSBaptiste Daroussina text region specified by 1467110d525eSBaptiste Daroussin.Ar count 1468110d525eSBaptiste Daroussinand 1469110d525eSBaptiste Daroussin.Ar motion 1470110d525eSBaptiste Daroussininto a buffer. 1471110d525eSBaptiste Daroussin.Pp 1472110d525eSBaptiste Daroussin.It Xo 1473110d525eSBaptiste Daroussin.Op Ar count1 1474110d525eSBaptiste Daroussin.Cm z 1475110d525eSBaptiste Daroussin.Op Ar count2 1476110d525eSBaptiste Daroussin.Cm type 1477110d525eSBaptiste Daroussin.Xc 1478110d525eSBaptiste DaroussinRedraw, optionally repositioning and resizing the screen. 1479110d525eSBaptiste DaroussinIf 1480110d525eSBaptiste Daroussin.Ar count2 1481110d525eSBaptiste Daroussinis specified, limit the screen size to 1482110d525eSBaptiste Daroussin.Ar count2 1483110d525eSBaptiste Daroussinlines. 1484110d525eSBaptiste DaroussinThe following 1485110d525eSBaptiste Daroussin.Cm type 1486110d525eSBaptiste Daroussincharacters may be used: 1487110d525eSBaptiste Daroussin.Bl -tag -width Ds 1488110d525eSBaptiste Daroussin.It Cm + 1489110d525eSBaptiste DaroussinIf 1490110d525eSBaptiste Daroussin.Ar count1 1491110d525eSBaptiste Daroussinis specified, place the line 1492110d525eSBaptiste Daroussin.Ar count1 1493110d525eSBaptiste Daroussinat the top of the screen. 1494110d525eSBaptiste DaroussinOtherwise, display the screen after the current screen. 1495110d525eSBaptiste Daroussin.It Aq Cm carriage-return 1496110d525eSBaptiste DaroussinPlace the line 1497110d525eSBaptiste Daroussin.Ar count1 1498110d525eSBaptiste Daroussinat the top of the screen. 1499110d525eSBaptiste Daroussin.It Cm .\& 1500110d525eSBaptiste DaroussinPlace the line 1501110d525eSBaptiste Daroussin.Ar count1 1502110d525eSBaptiste Daroussinin the center of the screen. 1503110d525eSBaptiste Daroussin.It Cm - 1504110d525eSBaptiste DaroussinPlace the line 1505110d525eSBaptiste Daroussin.Ar count1 1506110d525eSBaptiste Daroussinat the bottom of the screen. 1507110d525eSBaptiste Daroussin.It Cm \(ha 1508110d525eSBaptiste DaroussinIf 1509110d525eSBaptiste Daroussin.Ar count1 1510110d525eSBaptiste Daroussinis given, 1511110d525eSBaptiste Daroussindisplay the screen before the screen before 1512110d525eSBaptiste Daroussin.Ar count1 1513110d525eSBaptiste Daroussin.Pq i.e., 2 screens before . 1514110d525eSBaptiste DaroussinOtherwise, display the screen before the current screen. 1515110d525eSBaptiste Daroussin.El 1516110d525eSBaptiste Daroussin.Pp 1517110d525eSBaptiste Daroussin.It Xo 1518110d525eSBaptiste Daroussin.Op Ar count 1519110d525eSBaptiste Daroussin.Cm {\& 1520110d525eSBaptiste Daroussin.Xc 1521110d525eSBaptiste DaroussinMove backward 1522110d525eSBaptiste Daroussin.Ar count 1523110d525eSBaptiste Daroussinparagraphs. 1524110d525eSBaptiste Daroussin.Pp 1525110d525eSBaptiste Daroussin.It Xo 1526110d525eSBaptiste Daroussin.Op Ar column 1527110d525eSBaptiste Daroussin.Cm |\& 1528110d525eSBaptiste Daroussin.Xc 1529110d525eSBaptiste DaroussinMove to a specific 1530110d525eSBaptiste Daroussin.Ar column 1531110d525eSBaptiste Daroussinposition on the current line. 1532110d525eSBaptiste DaroussinIf 1533110d525eSBaptiste Daroussin.Ar column 1534110d525eSBaptiste Daroussinis omitted, 1535110d525eSBaptiste Daroussinmove to the start of the current line. 1536110d525eSBaptiste Daroussin.Pp 1537110d525eSBaptiste Daroussin.It Xo 1538110d525eSBaptiste Daroussin.Op Ar count 1539110d525eSBaptiste Daroussin.Cm }\& 1540110d525eSBaptiste Daroussin.Xc 1541110d525eSBaptiste DaroussinMove forward 1542110d525eSBaptiste Daroussin.Ar count 1543110d525eSBaptiste Daroussinparagraphs. 1544110d525eSBaptiste Daroussin.Pp 1545110d525eSBaptiste Daroussin.It Xo 1546110d525eSBaptiste Daroussin.Op Ar count 1547110d525eSBaptiste Daroussin.Cm \(ti 1548110d525eSBaptiste Daroussin.Ar motion 1549110d525eSBaptiste Daroussin.Xc 1550110d525eSBaptiste DaroussinIf the 1551110d525eSBaptiste Daroussin.Cm tildeop 1552110d525eSBaptiste Daroussinoption is not set, reverse the case of the next 1553110d525eSBaptiste Daroussin.Ar count 1554110d525eSBaptiste Daroussincharacter(s) and no 1555110d525eSBaptiste Daroussin.Ar motion 1556110d525eSBaptiste Daroussincan be specified. 1557110d525eSBaptiste DaroussinOtherwise 1558110d525eSBaptiste Daroussin.Ar motion 1559110d525eSBaptiste Daroussinis mandatory and 1560110d525eSBaptiste Daroussin.Cm \(ti 1561110d525eSBaptiste Daroussinreverses the case of the characters in a text region specified by the 1562110d525eSBaptiste Daroussin.Ar count 1563110d525eSBaptiste Daroussinand 1564110d525eSBaptiste Daroussin.Ar motion . 1565110d525eSBaptiste Daroussin.Pp 1566110d525eSBaptiste Daroussin.It Aq Cm interrupt 1567110d525eSBaptiste DaroussinInterrupt the current operation. 1568110d525eSBaptiste DaroussinThe 1569110d525eSBaptiste Daroussin.Aq interrupt 1570110d525eSBaptiste Daroussincharacter is usually 1571110d525eSBaptiste Daroussin.Aq control-C . 1572110d525eSBaptiste Daroussin.El 1573110d525eSBaptiste Daroussin.Sh VI TEXT INPUT COMMANDS 1574110d525eSBaptiste DaroussinThe following section describes the commands available in the text input mode 1575110d525eSBaptiste Daroussinof the 1576110d525eSBaptiste Daroussin.Nm vi 1577110d525eSBaptiste Daroussineditor. 1578110d525eSBaptiste Daroussin.Pp 1579110d525eSBaptiste Daroussin.Bl -tag -width Ds -compact 1580110d525eSBaptiste Daroussin.It Aq Cm nul 1581110d525eSBaptiste DaroussinReplay the previous input. 1582110d525eSBaptiste Daroussin.Pp 1583110d525eSBaptiste Daroussin.It Aq Cm control-D 1584110d525eSBaptiste DaroussinErase to the previous 1585110d525eSBaptiste Daroussin.Ar shiftwidth 1586110d525eSBaptiste Daroussincolumn boundary. 1587110d525eSBaptiste Daroussin.Pp 1588110d525eSBaptiste Daroussin.It Cm \(ha Ns Aq Cm control-D 1589110d525eSBaptiste DaroussinErase all of the autoindent characters, and reset the autoindent level. 1590110d525eSBaptiste Daroussin.Pp 1591110d525eSBaptiste Daroussin.It Cm 0 Ns Aq Cm control-D 1592110d525eSBaptiste DaroussinErase all of the autoindent characters. 1593110d525eSBaptiste Daroussin.Pp 1594110d525eSBaptiste Daroussin.It Aq Cm control-T 1595110d525eSBaptiste DaroussinInsert sufficient 1596110d525eSBaptiste Daroussin.Aq tab 1597110d525eSBaptiste Daroussinand 1598110d525eSBaptiste Daroussin.Aq space 1599110d525eSBaptiste Daroussincharacters to move forward to the next 1600110d525eSBaptiste Daroussin.Ar shiftwidth 1601110d525eSBaptiste Daroussincolumn boundary. 1602110d525eSBaptiste DaroussinIf the 1603110d525eSBaptiste Daroussin.Cm expandtab 1604110d525eSBaptiste Daroussinoption is set, only insert 1605110d525eSBaptiste Daroussin.Aq space 1606110d525eSBaptiste Daroussincharacters. 1607110d525eSBaptiste Daroussin.Pp 1608110d525eSBaptiste Daroussin.It Aq Cm erase 1609110d525eSBaptiste Daroussin.It Aq Cm control-H 1610110d525eSBaptiste DaroussinErase the last character. 1611110d525eSBaptiste Daroussin.Pp 1612110d525eSBaptiste Daroussin.It Aq Cm literal next 1613110d525eSBaptiste DaroussinEscape the next character from any special meaning. 1614110d525eSBaptiste DaroussinThe 1615110d525eSBaptiste Daroussin.Aq literal\ \&next 1616110d525eSBaptiste Daroussincharacter is usually 1617110d525eSBaptiste Daroussin.Aq control-V . 1618110d525eSBaptiste Daroussin.Pp 1619110d525eSBaptiste Daroussin.It Aq Cm escape 1620110d525eSBaptiste DaroussinResolve all text input into the file, and return to command mode. 1621110d525eSBaptiste Daroussin.Pp 1622110d525eSBaptiste Daroussin.It Aq Cm line erase 1623110d525eSBaptiste DaroussinErase the current line. 1624110d525eSBaptiste Daroussin.Pp 1625110d525eSBaptiste Daroussin.It Aq Cm control-W 1626110d525eSBaptiste Daroussin.It Aq Cm word erase 1627110d525eSBaptiste DaroussinErase the last word. 1628110d525eSBaptiste DaroussinThe definition of word is dependent on the 1629110d525eSBaptiste Daroussin.Cm altwerase 1630110d525eSBaptiste Daroussinand 1631110d525eSBaptiste Daroussin.Cm ttywerase 1632110d525eSBaptiste Daroussinoptions. 1633110d525eSBaptiste Daroussin.Pp 1634110d525eSBaptiste Daroussin.Sm off 1635110d525eSBaptiste Daroussin.It Xo 1636110d525eSBaptiste Daroussin.Aq Cm control-X 1637110d525eSBaptiste Daroussin.Bq Cm 0-9A-Fa-f 1638110d525eSBaptiste Daroussin.Cm + 1639110d525eSBaptiste Daroussin.Xc 1640110d525eSBaptiste Daroussin.Sm on 1641110d525eSBaptiste DaroussinInsert a character with the specified hexadecimal value into the text. 1642110d525eSBaptiste Daroussin.Pp 1643110d525eSBaptiste Daroussin.It Aq Cm interrupt 1644110d525eSBaptiste DaroussinInterrupt text input mode, returning to command mode. 1645110d525eSBaptiste DaroussinThe 1646110d525eSBaptiste Daroussin.Aq interrupt 1647110d525eSBaptiste Daroussincharacter is usually 1648110d525eSBaptiste Daroussin.Aq control-C . 1649110d525eSBaptiste Daroussin.El 1650110d525eSBaptiste Daroussin.Sh EX COMMANDS 1651110d525eSBaptiste DaroussinThe following section describes the commands available in the 1652110d525eSBaptiste Daroussin.Nm ex 1653110d525eSBaptiste Daroussineditor. 1654110d525eSBaptiste DaroussinIn each entry below, the tag line is a usage synopsis for the command. 1655110d525eSBaptiste Daroussin.Pp 1656110d525eSBaptiste Daroussin.Bl -tag -width Ds -compact 1657110d525eSBaptiste Daroussin.It Aq Cm end-of-file 1658110d525eSBaptiste DaroussinScroll the screen. 1659110d525eSBaptiste Daroussin.Pp 1660110d525eSBaptiste Daroussin.It Cm !\& Ar argument(s) 1661110d525eSBaptiste Daroussin.It Xo 1662110d525eSBaptiste Daroussin.Op Ar range 1663110d525eSBaptiste Daroussin.Cm !\& 1664110d525eSBaptiste Daroussin.Ar argument(s) 1665110d525eSBaptiste Daroussin.Xc 1666110d525eSBaptiste DaroussinExecute a shell command, or filter lines through a shell command. 1667110d525eSBaptiste Daroussin.Pp 1668110d525eSBaptiste Daroussin.It Cm \&" 1669110d525eSBaptiste DaroussinA comment. 1670110d525eSBaptiste Daroussin.Pp 1671110d525eSBaptiste Daroussin.It Xo 1672110d525eSBaptiste Daroussin.Op Ar range 1673110d525eSBaptiste Daroussin.Cm nu Ns Op Cm mber 1674110d525eSBaptiste Daroussin.Op Ar count 1675110d525eSBaptiste Daroussin.Op Ar flags 1676110d525eSBaptiste Daroussin.Xc 1677110d525eSBaptiste Daroussin.It Xo 1678110d525eSBaptiste Daroussin.Op Ar range 1679110d525eSBaptiste Daroussin.Cm # 1680110d525eSBaptiste Daroussin.Op Ar count 1681110d525eSBaptiste Daroussin.Op Ar flags 1682110d525eSBaptiste Daroussin.Xc 1683110d525eSBaptiste DaroussinDisplay the selected lines, each preceded with its line number. 1684110d525eSBaptiste Daroussin.Pp 1685110d525eSBaptiste Daroussin.It Cm @ Ar buffer 1686110d525eSBaptiste Daroussin.It Cm * Ar buffer 1687110d525eSBaptiste DaroussinExecute a buffer. 1688110d525eSBaptiste Daroussin.Pp 1689110d525eSBaptiste Daroussin.It Xo 1690110d525eSBaptiste Daroussin.Op Ar range 1691110d525eSBaptiste Daroussin.Cm < Ns Op Cm < ... 1692110d525eSBaptiste Daroussin.Op Ar count 1693110d525eSBaptiste Daroussin.Op Ar flags 1694110d525eSBaptiste Daroussin.Xc 1695110d525eSBaptiste DaroussinShift lines left. 1696110d525eSBaptiste Daroussin.Pp 1697110d525eSBaptiste Daroussin.It Xo 1698110d525eSBaptiste Daroussin.Op Ar line 1699110d525eSBaptiste Daroussin.Cm = 1700110d525eSBaptiste Daroussin.Op Ar flags 1701110d525eSBaptiste Daroussin.Xc 1702110d525eSBaptiste DaroussinDisplay the line number of 1703110d525eSBaptiste Daroussin.Ar line . 1704110d525eSBaptiste DaroussinIf 1705110d525eSBaptiste Daroussin.Ar line 1706110d525eSBaptiste Daroussinis not specified, display the line number of the last line in the file. 1707110d525eSBaptiste Daroussin.Pp 1708110d525eSBaptiste Daroussin.It Xo 1709110d525eSBaptiste Daroussin.Op Ar range 1710110d525eSBaptiste Daroussin.Cm > Ns Op Cm > ... 1711110d525eSBaptiste Daroussin.Op Ar count 1712110d525eSBaptiste Daroussin.Op Ar flags 1713110d525eSBaptiste Daroussin.Xc 1714110d525eSBaptiste DaroussinShift lines right. 1715110d525eSBaptiste Daroussin.Pp 1716110d525eSBaptiste Daroussin.It Xo 1717110d525eSBaptiste Daroussin.Cm ab Ns Op Cm breviate 1718110d525eSBaptiste Daroussin.Ar lhs rhs 1719110d525eSBaptiste Daroussin.Xc 1720110d525eSBaptiste Daroussin.Nm vi 1721110d525eSBaptiste Daroussinonly. 1722110d525eSBaptiste DaroussinAdd 1723110d525eSBaptiste Daroussin.Ar lhs 1724110d525eSBaptiste Daroussinas an abbreviation for 1725110d525eSBaptiste Daroussin.Ar rhs 1726110d525eSBaptiste Daroussinto the abbreviation list. 1727110d525eSBaptiste Daroussin.Pp 1728110d525eSBaptiste Daroussin.It Xo 1729110d525eSBaptiste Daroussin.Op Ar line 1730110d525eSBaptiste Daroussin.Cm a Ns Op Cm ppend Ns 1731110d525eSBaptiste Daroussin.Op Cm !\& 1732110d525eSBaptiste Daroussin.Xc 1733110d525eSBaptiste DaroussinThe input text is appended after the specified line. 1734110d525eSBaptiste Daroussin.Pp 1735110d525eSBaptiste Daroussin.It Cm ar Ns Op Cm gs 1736110d525eSBaptiste DaroussinDisplay the argument list. 1737110d525eSBaptiste Daroussin.Pp 1738110d525eSBaptiste Daroussin.It Cm bg 1739110d525eSBaptiste Daroussin.Nm vi 1740110d525eSBaptiste Daroussinonly. 1741110d525eSBaptiste DaroussinBackground the current screen. 1742110d525eSBaptiste Daroussin.Pp 1743110d525eSBaptiste Daroussin.It Xo 1744110d525eSBaptiste Daroussin.Op Ar range 1745110d525eSBaptiste Daroussin.Cm c Ns Op Cm hange Ns 1746110d525eSBaptiste Daroussin.Op Cm !\& 1747110d525eSBaptiste Daroussin.Op Ar count 1748110d525eSBaptiste Daroussin.Xc 1749110d525eSBaptiste DaroussinThe input text replaces the specified range. 1750110d525eSBaptiste Daroussin.Pp 1751110d525eSBaptiste Daroussin.It Xo 1752110d525eSBaptiste Daroussin.Cm chd Ns Op Cm ir Ns 1753110d525eSBaptiste Daroussin.Op Cm !\& 1754110d525eSBaptiste Daroussin.Op Ar directory 1755110d525eSBaptiste Daroussin.Xc 1756110d525eSBaptiste Daroussin.It Xo 1757110d525eSBaptiste Daroussin.Cm cd Ns Op Cm !\& 1758110d525eSBaptiste Daroussin.Op Ar directory 1759110d525eSBaptiste Daroussin.Xc 1760110d525eSBaptiste DaroussinChange the current working directory. 1761110d525eSBaptiste Daroussin.Pp 1762110d525eSBaptiste Daroussin.It Xo 1763110d525eSBaptiste Daroussin.Op Ar range 1764110d525eSBaptiste Daroussin.Cm co Ns Op Cm py 1765110d525eSBaptiste Daroussin.Ar line 1766110d525eSBaptiste Daroussin.Op Ar flags 1767110d525eSBaptiste Daroussin.Xc 1768110d525eSBaptiste Daroussin.It Xo 1769110d525eSBaptiste Daroussin.Op Ar range 1770110d525eSBaptiste Daroussin.Cm t 1771110d525eSBaptiste Daroussin.Ar line 1772110d525eSBaptiste Daroussin.Op Ar flags 1773110d525eSBaptiste Daroussin.Xc 1774110d525eSBaptiste DaroussinCopy the specified lines after the destination 1775110d525eSBaptiste Daroussin.Ar line . 1776110d525eSBaptiste Daroussin.Pp 1777110d525eSBaptiste Daroussin.It Xo 1778110d525eSBaptiste Daroussin.Cm cs Ns Op Cm cope 1779110d525eSBaptiste Daroussin.Cm add | find | help | kill | reset 1780110d525eSBaptiste Daroussin.Xc 1781110d525eSBaptiste DaroussinExecute a Cscope command. 1782110d525eSBaptiste Daroussin.Pp 1783110d525eSBaptiste Daroussin.It Xo 1784110d525eSBaptiste Daroussin.Op Ar range 1785110d525eSBaptiste Daroussin.Cm d Ns Op Cm elete 1786110d525eSBaptiste Daroussin.Op Ar buffer 1787110d525eSBaptiste Daroussin.Op Ar count 1788110d525eSBaptiste Daroussin.Op Ar flags 1789110d525eSBaptiste Daroussin.Xc 1790110d525eSBaptiste DaroussinDelete the lines from the file. 1791110d525eSBaptiste Daroussin.Pp 1792110d525eSBaptiste Daroussin.It Xo 1793110d525eSBaptiste Daroussin.Cm di Ns Op Cm splay 1794110d525eSBaptiste Daroussin.Cm b Ns Oo Cm uffers Oc | 1795110d525eSBaptiste Daroussin.Cm c Ns Oo Cm onnections Oc | 1796110d525eSBaptiste Daroussin.Cm s Ns Oo Cm creens Oc | 1797110d525eSBaptiste Daroussin.Cm t Ns Op Cm ags 1798110d525eSBaptiste Daroussin.Xc 1799110d525eSBaptiste DaroussinDisplay buffers, Cscope connections, screens or tags. 1800110d525eSBaptiste Daroussin.Pp 1801110d525eSBaptiste Daroussin.It Xo 1802110d525eSBaptiste Daroussin.Op Cm Ee Ns 1803110d525eSBaptiste Daroussin.Op Cm dit Ns 1804110d525eSBaptiste Daroussin.Op Cm !\& 1805110d525eSBaptiste Daroussin.Op Ar +cmd 1806110d525eSBaptiste Daroussin.Op Ar file 1807110d525eSBaptiste Daroussin.Xc 1808110d525eSBaptiste Daroussin.It Xo 1809110d525eSBaptiste Daroussin.Op Cm Ee Ns 1810110d525eSBaptiste Daroussin.Cm x Ns Op Cm !\& 1811110d525eSBaptiste Daroussin.Op Ar +cmd 1812110d525eSBaptiste Daroussin.Op Ar file 1813110d525eSBaptiste Daroussin.Xc 1814*4087ffdbSBaptiste DaroussinEdit a different file. 1815*4087ffdbSBaptiste DaroussinThe capitalized command opens a new screen below the current screen. 1816110d525eSBaptiste Daroussin.Pp 1817110d525eSBaptiste Daroussin.It Xo 1818110d525eSBaptiste Daroussin.Cm exu Ns Op Cm sage 1819110d525eSBaptiste Daroussin.Op Ar command 1820110d525eSBaptiste Daroussin.Xc 1821110d525eSBaptiste DaroussinDisplay usage for an 1822110d525eSBaptiste Daroussin.Nm ex 1823110d525eSBaptiste Daroussincommand. 1824110d525eSBaptiste Daroussin.Pp 1825110d525eSBaptiste Daroussin.It Xo 1826110d525eSBaptiste Daroussin.Cm f Ns Op Cm ile 1827110d525eSBaptiste Daroussin.Op Ar file 1828110d525eSBaptiste Daroussin.Xc 1829110d525eSBaptiste DaroussinDisplay and optionally change the file name. 1830110d525eSBaptiste Daroussin.Pp 1831110d525eSBaptiste Daroussin.It Xo 1832110d525eSBaptiste Daroussin.Op Cm Ff Ns 1833110d525eSBaptiste Daroussin.Cm g 1834110d525eSBaptiste Daroussin.Op Ar name 1835110d525eSBaptiste Daroussin.Xc 1836110d525eSBaptiste Daroussin.Nm vi 1837110d525eSBaptiste Daroussinmode only. 1838*4087ffdbSBaptiste DaroussinForeground the specified screen. 1839*4087ffdbSBaptiste DaroussinThe capitalized command opens a new screen below the current screen. 1840110d525eSBaptiste Daroussin.Pp 1841110d525eSBaptiste Daroussin.It Xo 1842110d525eSBaptiste Daroussin.Op Ar range 1843110d525eSBaptiste Daroussin.Cm g Ns Op Cm lobal 1844110d525eSBaptiste Daroussin.No / Ns Ar pattern Ns / 1845110d525eSBaptiste Daroussin.Op Ar commands 1846110d525eSBaptiste Daroussin.Xc 1847110d525eSBaptiste Daroussin.It Xo 1848110d525eSBaptiste Daroussin.Op Ar range 1849110d525eSBaptiste Daroussin.Cm v 1850110d525eSBaptiste Daroussin.No / Ns Ar pattern Ns / 1851110d525eSBaptiste Daroussin.Op Ar commands 1852110d525eSBaptiste Daroussin.Xc 1853110d525eSBaptiste DaroussinApply commands to lines matching 1854110d525eSBaptiste Daroussin.Pq Sq global 1855110d525eSBaptiste Daroussinor not matching 1856110d525eSBaptiste Daroussin.Pq Sq v 1857110d525eSBaptiste Daroussina pattern. 1858110d525eSBaptiste Daroussin.Pp 1859110d525eSBaptiste Daroussin.It Cm he Ns Op Cm lp 1860110d525eSBaptiste DaroussinDisplay a help message. 1861110d525eSBaptiste Daroussin.Pp 1862110d525eSBaptiste Daroussin.It Xo 1863110d525eSBaptiste Daroussin.Op Ar line 1864110d525eSBaptiste Daroussin.Cm i Ns Op Cm nsert Ns 1865110d525eSBaptiste Daroussin.Op Cm !\& 1866110d525eSBaptiste Daroussin.Xc 1867110d525eSBaptiste DaroussinThe input text is inserted before the specified line. 1868110d525eSBaptiste Daroussin.Pp 1869110d525eSBaptiste Daroussin.It Xo 1870110d525eSBaptiste Daroussin.Op Ar range 1871110d525eSBaptiste Daroussin.Cm j Ns Op Cm oin Ns 1872110d525eSBaptiste Daroussin.Op Cm !\& 1873110d525eSBaptiste Daroussin.Op Ar count 1874110d525eSBaptiste Daroussin.Op Ar flags 1875110d525eSBaptiste Daroussin.Xc 1876110d525eSBaptiste DaroussinJoin lines of text together. 1877110d525eSBaptiste Daroussin.Pp 1878110d525eSBaptiste Daroussin.It Xo 1879110d525eSBaptiste Daroussin.Op Ar range 1880110d525eSBaptiste Daroussin.Cm l Ns Op Cm ist 1881110d525eSBaptiste Daroussin.Op Ar count 1882110d525eSBaptiste Daroussin.Op Ar flags 1883110d525eSBaptiste Daroussin.Xc 1884110d525eSBaptiste DaroussinDisplay the lines unambiguously. 1885110d525eSBaptiste Daroussin.Pp 1886110d525eSBaptiste Daroussin.It Xo 1887110d525eSBaptiste Daroussin.Cm map Ns Op Cm !\& 1888110d525eSBaptiste Daroussin.Op Ar lhs rhs 1889110d525eSBaptiste Daroussin.Xc 1890110d525eSBaptiste DaroussinDefine or display maps 1891110d525eSBaptiste Daroussin.Pq for Nm vi No only . 1892110d525eSBaptiste Daroussin.Pp 1893110d525eSBaptiste Daroussin.It Xo 1894110d525eSBaptiste Daroussin.Op Ar line 1895110d525eSBaptiste Daroussin.Cm ma Ns Op Cm rk 1896110d525eSBaptiste Daroussin.Aq Ar character 1897110d525eSBaptiste Daroussin.Xc 1898110d525eSBaptiste Daroussin.It Xo 1899110d525eSBaptiste Daroussin.Op Ar line 1900110d525eSBaptiste Daroussin.Cm k Aq Ar character 1901110d525eSBaptiste Daroussin.Xc 1902110d525eSBaptiste DaroussinMark the line with the mark 1903110d525eSBaptiste Daroussin.Aq Ar character . 1904110d525eSBaptiste Daroussin.Pp 1905110d525eSBaptiste Daroussin.It Xo 1906110d525eSBaptiste Daroussin.Op Ar range 1907110d525eSBaptiste Daroussin.Cm m Ns Op Cm ove 1908110d525eSBaptiste Daroussin.Ar line 1909110d525eSBaptiste Daroussin.Xc 1910110d525eSBaptiste DaroussinMove the specified lines after the target line. 1911110d525eSBaptiste Daroussin.Pp 1912110d525eSBaptiste Daroussin.It Xo 1913110d525eSBaptiste Daroussin.Cm mk Ns Op Cm exrc Ns 1914110d525eSBaptiste Daroussin.Op Cm !\& 1915110d525eSBaptiste Daroussin.Ar file 1916110d525eSBaptiste Daroussin.Xc 1917110d525eSBaptiste DaroussinWrite the abbreviations, editor options and maps to the specified 1918110d525eSBaptiste Daroussin.Ar file . 1919110d525eSBaptiste Daroussin.Pp 1920110d525eSBaptiste Daroussin.It Xo 1921110d525eSBaptiste Daroussin.Op Cm Nn Ns 1922110d525eSBaptiste Daroussin.Op Cm ext Ns 1923110d525eSBaptiste Daroussin.Op Cm !\& 1924110d525eSBaptiste Daroussin.Op Ar 1925110d525eSBaptiste Daroussin.Xc 1926*4087ffdbSBaptiste DaroussinEdit the next file from the argument list. 1927*4087ffdbSBaptiste DaroussinThe capitalized command opens a new screen below the current screen. 1928110d525eSBaptiste Daroussin.\" .Pp 1929110d525eSBaptiste Daroussin.\" .It Xo 1930110d525eSBaptiste Daroussin.\" .Op Ar line 1931110d525eSBaptiste Daroussin.\" .Cm o Ns Op Cm pen 1932110d525eSBaptiste Daroussin.\" .No / Ns Ar pattern Ns / 1933110d525eSBaptiste Daroussin.\" .Op Ar flags 1934110d525eSBaptiste Daroussin.\" .Xc 1935110d525eSBaptiste Daroussin.\" Enter open mode. 1936110d525eSBaptiste Daroussin.Pp 1937110d525eSBaptiste Daroussin.It Cm pre Ns Op Cm serve 1938110d525eSBaptiste DaroussinSave the file in a form that can later be recovered using the 1939110d525eSBaptiste Daroussin.Nm ex 1940110d525eSBaptiste Daroussin.Fl r 1941110d525eSBaptiste Daroussinoption. 1942110d525eSBaptiste Daroussin.Pp 1943110d525eSBaptiste Daroussin.It Xo 1944110d525eSBaptiste Daroussin.Op Cm \&Pp Ns 1945110d525eSBaptiste Daroussin.Cm rev Ns Op Cm ious Ns 1946110d525eSBaptiste Daroussin.Op Cm !\& 1947110d525eSBaptiste Daroussin.Xc 1948*4087ffdbSBaptiste DaroussinEdit the previous file from the argument list. 1949*4087ffdbSBaptiste DaroussinThe capitalized command opens a new screen below the current screen. 1950110d525eSBaptiste Daroussin.Pp 1951110d525eSBaptiste Daroussin.It Xo 1952110d525eSBaptiste Daroussin.Op Ar range 1953110d525eSBaptiste Daroussin.Cm p Ns Op Cm rint 1954110d525eSBaptiste Daroussin.Op Ar count 1955110d525eSBaptiste Daroussin.Op Ar flags 1956110d525eSBaptiste Daroussin.Xc 1957110d525eSBaptiste DaroussinDisplay the specified lines. 1958110d525eSBaptiste Daroussin.Pp 1959110d525eSBaptiste Daroussin.It Xo 1960110d525eSBaptiste Daroussin.Op Ar line 1961110d525eSBaptiste Daroussin.Cm pu Ns Op Cm t 1962110d525eSBaptiste Daroussin.Op Ar buffer 1963110d525eSBaptiste Daroussin.Xc 1964110d525eSBaptiste DaroussinAppend buffer contents to the current line. 1965110d525eSBaptiste Daroussin.Pp 1966110d525eSBaptiste Daroussin.It Xo 1967110d525eSBaptiste Daroussin.Cm q Ns Op Cm uit Ns 1968110d525eSBaptiste Daroussin.Op Cm !\& 1969110d525eSBaptiste Daroussin.Xc 1970110d525eSBaptiste DaroussinEnd the editing session. 1971110d525eSBaptiste Daroussin.Pp 1972110d525eSBaptiste Daroussin.It Xo 1973110d525eSBaptiste Daroussin.Op Ar line 1974110d525eSBaptiste Daroussin.Cm r Ns Op Cm ead Ns 1975110d525eSBaptiste Daroussin.Op Cm !\& 1976110d525eSBaptiste Daroussin.Op Ar file 1977110d525eSBaptiste Daroussin.Xc 1978110d525eSBaptiste DaroussinRead a file. 1979110d525eSBaptiste Daroussin.Pp 1980110d525eSBaptiste Daroussin.It Xo 1981110d525eSBaptiste Daroussin.Cm rec Ns Op Cm over 1982110d525eSBaptiste Daroussin.Ar file 1983110d525eSBaptiste Daroussin.Xc 1984110d525eSBaptiste DaroussinRecover 1985110d525eSBaptiste Daroussin.Ar file 1986110d525eSBaptiste Daroussinif it was previously saved. 1987110d525eSBaptiste Daroussin.Pp 1988110d525eSBaptiste Daroussin.It Xo 1989110d525eSBaptiste Daroussin.Cm res Ns Op Cm ize 1990110d525eSBaptiste Daroussin.Op Cm + Ns | Ns Cm - Ns 1991110d525eSBaptiste Daroussin.Ar size 1992110d525eSBaptiste Daroussin.Xc 1993110d525eSBaptiste Daroussin.Nm vi 1994110d525eSBaptiste Daroussinmode only. 1995110d525eSBaptiste DaroussinGrow or shrink the current screen. 1996110d525eSBaptiste Daroussin.Pp 1997110d525eSBaptiste Daroussin.It Xo 1998110d525eSBaptiste Daroussin.Cm rew Ns Op Cm ind Ns 1999110d525eSBaptiste Daroussin.Op Cm !\& 2000110d525eSBaptiste Daroussin.Xc 2001110d525eSBaptiste DaroussinRewind the argument list. 2002110d525eSBaptiste Daroussin.Pp 2003110d525eSBaptiste Daroussin.It Xo 2004110d525eSBaptiste Daroussin.Cm se Ns Op Cm t 2005110d525eSBaptiste Daroussin.Sm off 2006110d525eSBaptiste Daroussin.Op option Oo = Oo value Oc Oc \ \&... 2007110d525eSBaptiste Daroussin.Sm on 2008110d525eSBaptiste Daroussin.Pf \ \& Op nooption ... 2009110d525eSBaptiste Daroussin.Op option? ... 2010110d525eSBaptiste Daroussin.Op Ar all 2011110d525eSBaptiste Daroussin.Xc 2012110d525eSBaptiste DaroussinDisplay or set editor options. 2013110d525eSBaptiste Daroussin.Pp 2014110d525eSBaptiste Daroussin.It Cm sh Ns Op Cm ell 2015110d525eSBaptiste DaroussinRun a shell program. 2016110d525eSBaptiste Daroussin.Pp 2017110d525eSBaptiste Daroussin.It Xo 2018110d525eSBaptiste Daroussin.Cm so Ns Op Cm urce 2019110d525eSBaptiste Daroussin.Ar file 2020110d525eSBaptiste Daroussin.Xc 2021110d525eSBaptiste DaroussinRead and execute 2022110d525eSBaptiste Daroussin.Nm ex 2023110d525eSBaptiste Daroussincommands from a file. 2024110d525eSBaptiste Daroussin.Pp 2025110d525eSBaptiste Daroussin.It Xo 2026110d525eSBaptiste Daroussin.Op Ar range 2027110d525eSBaptiste Daroussin.Cm s Ns Op Cm ubstitute 2028110d525eSBaptiste Daroussin.Sm off 2029110d525eSBaptiste Daroussin.Op / Ar pattern No / Ar replace No / 2030110d525eSBaptiste Daroussin.Sm on 2031110d525eSBaptiste Daroussin.Pf \ \& Op Ar options 2032110d525eSBaptiste Daroussin.Op Ar count 2033110d525eSBaptiste Daroussin.Op Ar flags 2034110d525eSBaptiste Daroussin.Xc 2035110d525eSBaptiste Daroussin.It Xo 2036110d525eSBaptiste Daroussin.Op Ar range 2037110d525eSBaptiste Daroussin.Cm & 2038110d525eSBaptiste Daroussin.Op Ar options 2039110d525eSBaptiste Daroussin.Op Ar count 2040110d525eSBaptiste Daroussin.Op Ar flags 2041110d525eSBaptiste Daroussin.Xc 2042110d525eSBaptiste Daroussin.It Xo 2043110d525eSBaptiste Daroussin.Op Ar range 2044110d525eSBaptiste Daroussin.Cm \(ti 2045110d525eSBaptiste Daroussin.Op Ar options 2046110d525eSBaptiste Daroussin.Op Ar count 2047110d525eSBaptiste Daroussin.Op Ar flags 2048110d525eSBaptiste Daroussin.Xc 2049110d525eSBaptiste DaroussinMake substitutions. 2050110d525eSBaptiste DaroussinThe 2051110d525eSBaptiste Daroussin.Ar replace 2052110d525eSBaptiste Daroussinfield may contain any of the following sequences: 2053110d525eSBaptiste Daroussin.Bl -tag -width Ds 2054110d525eSBaptiste Daroussin.It Sq \*(Am 2055110d525eSBaptiste DaroussinThe text matched by 2056110d525eSBaptiste Daroussin.Ar pattern . 2057110d525eSBaptiste Daroussin.It Sq \(ti 2058110d525eSBaptiste DaroussinThe replacement part of the previous 2059110d525eSBaptiste Daroussin.Cm substitute 2060110d525eSBaptiste Daroussincommand. 2061110d525eSBaptiste Daroussin.It Sq % 2062110d525eSBaptiste DaroussinIf this is the entire 2063110d525eSBaptiste Daroussin.Ar replace 2064110d525eSBaptiste Daroussinpattern, the replacement part of the previous 2065110d525eSBaptiste Daroussin.Cm substitute 2066110d525eSBaptiste Daroussincommand. 2067110d525eSBaptiste Daroussin.It Sq \e Ns Ar \(sh 2068110d525eSBaptiste DaroussinWhere 2069110d525eSBaptiste Daroussin.Sq Ar \(sh 2070110d525eSBaptiste Daroussinis an integer from 1 to 9, the text matched by the 2071110d525eSBaptiste Daroussin.Ar # Ns 'th subexpression in 2072110d525eSBaptiste Daroussin.Ar pattern . 2073110d525eSBaptiste Daroussin.It Sq \eL 2074110d525eSBaptiste DaroussinCauses the characters up to the end of the line of the next occurrence of 2075110d525eSBaptiste Daroussin.Sq \eE 2076110d525eSBaptiste Daroussinor 2077110d525eSBaptiste Daroussin.Sq \ee 2078110d525eSBaptiste Daroussinto be converted to lowercase. 2079110d525eSBaptiste Daroussin.It Sq \el 2080110d525eSBaptiste DaroussinCauses the next character to be converted to lowercase. 2081110d525eSBaptiste Daroussin.It Sq \eU 2082110d525eSBaptiste DaroussinCauses the characters up to the end of the line of the next occurrence of 2083110d525eSBaptiste Daroussin.Sq \eE 2084110d525eSBaptiste Daroussinor 2085110d525eSBaptiste Daroussin.Sq \ee 2086110d525eSBaptiste Daroussinto be converted to uppercase. 2087110d525eSBaptiste Daroussin.It Sq \eu 2088110d525eSBaptiste DaroussinCauses the next character to be converted to uppercase. 2089110d525eSBaptiste Daroussin.El 2090110d525eSBaptiste Daroussin.Pp 2091110d525eSBaptiste Daroussin.It Xo 2092110d525eSBaptiste Daroussin.Cm su Ns Op Cm spend Ns 2093110d525eSBaptiste Daroussin.Op Cm !\& 2094110d525eSBaptiste Daroussin.Xc 2095110d525eSBaptiste Daroussin.It Xo 2096110d525eSBaptiste Daroussin.Cm st Ns Op Cm op Ns 2097110d525eSBaptiste Daroussin.Op Cm !\& 2098110d525eSBaptiste Daroussin.Xc 2099110d525eSBaptiste Daroussin.It Aq Cm suspend 2100110d525eSBaptiste DaroussinSuspend the edit session. 2101110d525eSBaptiste DaroussinThe 2102110d525eSBaptiste Daroussin.Aq suspend 2103110d525eSBaptiste Daroussincharacter is usually 2104110d525eSBaptiste Daroussin.Aq control-Z . 2105110d525eSBaptiste Daroussin.Pp 2106110d525eSBaptiste Daroussin.It Xo 2107110d525eSBaptiste Daroussin.Op Cm Tt Ns 2108110d525eSBaptiste Daroussin.Cm a Ns Op Cm g Ns 2109110d525eSBaptiste Daroussin.Op Cm !\& 2110110d525eSBaptiste Daroussin.Ar tagstring 2111110d525eSBaptiste Daroussin.Xc 2112*4087ffdbSBaptiste DaroussinEdit the file containing the specified tag. 2113*4087ffdbSBaptiste DaroussinThe capitalized command opens a new screen below the current screen. 2114110d525eSBaptiste Daroussin.Pp 2115110d525eSBaptiste Daroussin.It Xo 2116110d525eSBaptiste Daroussin.Cm tagn Ns Op Cm ext Ns 2117110d525eSBaptiste Daroussin.Op Cm !\& 2118110d525eSBaptiste Daroussin.Xc 2119110d525eSBaptiste DaroussinEdit the file containing the next context for the current tag. 2120110d525eSBaptiste Daroussin.Pp 2121110d525eSBaptiste Daroussin.It Xo 2122110d525eSBaptiste Daroussin.Cm tagp Ns Op Cm op Ns 2123110d525eSBaptiste Daroussin.Op Cm !\& 2124110d525eSBaptiste Daroussin.Op Ar file | number 2125110d525eSBaptiste Daroussin.Xc 2126110d525eSBaptiste DaroussinPop to the specified tag in the tags stack. 2127110d525eSBaptiste Daroussin.Pp 2128110d525eSBaptiste Daroussin.It Xo 2129110d525eSBaptiste Daroussin.Cm tagpr Ns Op Cm ev Ns 2130110d525eSBaptiste Daroussin.Op Cm !\& 2131110d525eSBaptiste Daroussin.Xc 2132110d525eSBaptiste DaroussinEdit the file containing the previous context for the current tag. 2133110d525eSBaptiste Daroussin.Pp 2134110d525eSBaptiste Daroussin.It Xo 2135110d525eSBaptiste Daroussin.Cm tagt Ns Op Cm op Ns 2136110d525eSBaptiste Daroussin.Op Cm !\& 2137110d525eSBaptiste Daroussin.Xc 2138110d525eSBaptiste DaroussinPop to the least recent tag on the tags stack, clearing the stack. 2139110d525eSBaptiste Daroussin.Pp 2140110d525eSBaptiste Daroussin.It Xo 2141110d525eSBaptiste Daroussin.Cm una Ns Op Cm bbreviate 2142110d525eSBaptiste Daroussin.Ar lhs 2143110d525eSBaptiste Daroussin.Xc 2144110d525eSBaptiste Daroussin.Nm vi 2145110d525eSBaptiste Daroussinonly. 2146110d525eSBaptiste DaroussinDelete an abbreviation. 2147110d525eSBaptiste Daroussin.Pp 2148110d525eSBaptiste Daroussin.It Cm u Ns Op Cm ndo 2149110d525eSBaptiste DaroussinUndo the last change made to the file. 2150110d525eSBaptiste Daroussin.Pp 2151110d525eSBaptiste Daroussin.It Xo 2152110d525eSBaptiste Daroussin.Cm unm Ns Op Cm ap Ns 2153110d525eSBaptiste Daroussin.Op Cm !\& 2154110d525eSBaptiste Daroussin.Ar lhs 2155110d525eSBaptiste Daroussin.Xc 2156110d525eSBaptiste DaroussinUnmap a mapped string. 2157110d525eSBaptiste Daroussin.Pp 2158110d525eSBaptiste Daroussin.It Cm ve Ns Op Cm rsion 2159110d525eSBaptiste DaroussinDisplay the version of the 2160110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2161110d525eSBaptiste Daroussineditor. 2162110d525eSBaptiste Daroussin.Pp 2163110d525eSBaptiste Daroussin.It Xo 2164110d525eSBaptiste Daroussin.Op Ar line 2165110d525eSBaptiste Daroussin.Cm vi Ns Op Cm sual 2166110d525eSBaptiste Daroussin.Op Ar type 2167110d525eSBaptiste Daroussin.Op Ar count 2168110d525eSBaptiste Daroussin.Op Ar flags 2169110d525eSBaptiste Daroussin.Xc 2170110d525eSBaptiste Daroussin.Nm ex 2171110d525eSBaptiste Daroussinmode only. 2172110d525eSBaptiste DaroussinEnter 2173110d525eSBaptiste Daroussin.Nm vi . 2174110d525eSBaptiste Daroussin.Pp 2175110d525eSBaptiste Daroussin.It Xo 21766680e5a5SBaptiste Daroussin.Cm Vi Ns 21776680e5a5SBaptiste Daroussin.Op Cm sual Ns 2178110d525eSBaptiste Daroussin.Op Cm !\& 2179110d525eSBaptiste Daroussin.Op Ar +cmd 2180110d525eSBaptiste Daroussin.Op Ar file 2181110d525eSBaptiste Daroussin.Xc 2182110d525eSBaptiste Daroussin.Nm vi 2183*4087ffdbSBaptiste Daroussinmode only. 2184*4087ffdbSBaptiste DaroussinEdit a different file by opening a new screen below the current screen. 2185110d525eSBaptiste Daroussin.Pp 2186110d525eSBaptiste Daroussin.It Xo 2187110d525eSBaptiste Daroussin.Cm viu Ns Op Cm sage 2188110d525eSBaptiste Daroussin.Op Ar command 2189110d525eSBaptiste Daroussin.Xc 2190110d525eSBaptiste DaroussinDisplay usage for a 2191110d525eSBaptiste Daroussin.Nm vi 2192110d525eSBaptiste Daroussincommand. 2193110d525eSBaptiste Daroussin.Pp 2194110d525eSBaptiste Daroussin.It Xo 21956680e5a5SBaptiste Daroussin.Cm vs Ns Op Cm plit 21966680e5a5SBaptiste Daroussin.Op Ar +cmd 21976680e5a5SBaptiste Daroussin.Op Ar file 21986680e5a5SBaptiste Daroussin.Xc 21996680e5a5SBaptiste DaroussinEdit a different file by opening a new screen to the right of the current 22006680e5a5SBaptiste Daroussinscreen. 22016680e5a5SBaptiste Daroussin.Pp 22026680e5a5SBaptiste Daroussin.It Xo 2203110d525eSBaptiste Daroussin.Op Ar range 2204110d525eSBaptiste Daroussin.Cm w Ns Op Cm rite Ns 2205110d525eSBaptiste Daroussin.Op Cm !\& 2206110d525eSBaptiste Daroussin.Op >> 2207110d525eSBaptiste Daroussin.Op Ar file 2208110d525eSBaptiste Daroussin.Xc 2209110d525eSBaptiste Daroussin.It Xo 2210110d525eSBaptiste Daroussin.Op Ar range 2211110d525eSBaptiste Daroussin.Cm w Ns Op Cm rite 22126680e5a5SBaptiste Daroussin.Cm !\& Ns Ar shell-command 2213110d525eSBaptiste Daroussin.Xc 2214110d525eSBaptiste Daroussin.It Xo 2215110d525eSBaptiste Daroussin.Op Ar range 2216110d525eSBaptiste Daroussin.Cm wn Ns Op Cm !\& 2217110d525eSBaptiste Daroussin.Op >> 2218110d525eSBaptiste Daroussin.Op Ar file 2219110d525eSBaptiste Daroussin.Xc 2220110d525eSBaptiste Daroussin.It Xo 2221110d525eSBaptiste Daroussin.Op Ar range 2222110d525eSBaptiste Daroussin.Cm wq Ns Op Cm !\& 2223110d525eSBaptiste Daroussin.Op >> 2224110d525eSBaptiste Daroussin.Op Ar file 2225110d525eSBaptiste Daroussin.Xc 22266680e5a5SBaptiste DaroussinWrite the entire file, or 22276680e5a5SBaptiste Daroussin.Ar range . 22286680e5a5SBaptiste Daroussin.Sq !\& 22296680e5a5SBaptiste Daroussinoverwrites a different, preexisting file. 22306680e5a5SBaptiste Daroussin.Sq >> 2231*4087ffdbSBaptiste Daroussinappends to a file that may preexist. 2232*4087ffdbSBaptiste DaroussinWhitespace followed by 22336680e5a5SBaptiste Daroussin.Sq !\& 22346680e5a5SBaptiste Daroussinpipes the file to 22356680e5a5SBaptiste Daroussin.Ar shell-command . 22366680e5a5SBaptiste Daroussin.Cm wn 22376680e5a5SBaptiste Daroussinmoves to the next file if writing succeeds. 22386680e5a5SBaptiste Daroussin.Cm wq 22396680e5a5SBaptiste Daroussinexits the editor if writing succeeds, unless there are more files to edit; 22406680e5a5SBaptiste Daroussin.Sq !\& 22416680e5a5SBaptiste Daroussinexits regardless. 2242110d525eSBaptiste Daroussin.Pp 2243110d525eSBaptiste Daroussin.It Xo 2244110d525eSBaptiste Daroussin.Op Ar range 2245110d525eSBaptiste Daroussin.Cm x Ns Op Cm it Ns 2246110d525eSBaptiste Daroussin.Op Cm !\& 2247110d525eSBaptiste Daroussin.Op Ar file 2248110d525eSBaptiste Daroussin.Xc 2249110d525eSBaptiste DaroussinExit the editor, 2250110d525eSBaptiste Daroussinwriting the file if it has been modified. 2251110d525eSBaptiste Daroussin.Pp 2252110d525eSBaptiste Daroussin.It Xo 2253110d525eSBaptiste Daroussin.Op Ar range 2254110d525eSBaptiste Daroussin.Cm ya Ns Op Cm nk 2255110d525eSBaptiste Daroussin.Op Ar buffer 2256110d525eSBaptiste Daroussin.Op Ar count 2257110d525eSBaptiste Daroussin.Xc 2258110d525eSBaptiste DaroussinCopy the specified lines to a buffer. 2259110d525eSBaptiste Daroussin.Pp 2260110d525eSBaptiste Daroussin.It Xo 2261110d525eSBaptiste Daroussin.Op Ar line 2262110d525eSBaptiste Daroussin.Cm z 2263110d525eSBaptiste Daroussin.Op Ar type 2264110d525eSBaptiste Daroussin.Op Ar count 2265110d525eSBaptiste Daroussin.Op Ar flags 2266110d525eSBaptiste Daroussin.Xc 2267110d525eSBaptiste DaroussinAdjust the window. 2268110d525eSBaptiste Daroussin.El 2269110d525eSBaptiste Daroussin.Sh SET OPTIONS 2270110d525eSBaptiste DaroussinThere are a large number of options that may be set 2271110d525eSBaptiste Daroussin.Pq or unset 2272110d525eSBaptiste Daroussinto change the editor's behavior. 2273110d525eSBaptiste DaroussinThis section describes the options, their abbreviations and their 2274110d525eSBaptiste Daroussindefault values. 2275110d525eSBaptiste Daroussin.Pp 2276110d525eSBaptiste DaroussinIn each entry below, the first part of the tag line is the full name 2277110d525eSBaptiste Daroussinof the option, followed by any equivalent abbreviations. 2278110d525eSBaptiste DaroussinThe part in square brackets is the default value of the option. 2279110d525eSBaptiste DaroussinMost of the options are boolean, i.e., they are either on or off, 2280110d525eSBaptiste Daroussinand do not have an associated value. 2281110d525eSBaptiste Daroussin.Pp 2282110d525eSBaptiste DaroussinOptions apply to both 2283110d525eSBaptiste Daroussin.Nm ex 2284110d525eSBaptiste Daroussinand 2285110d525eSBaptiste Daroussin.Nm vi 2286110d525eSBaptiste Daroussinmodes, unless otherwise specified. 2287110d525eSBaptiste Daroussin.Bl -tag -width Ds 22880fcececbSBaptiste Daroussin.It Cm altnotation Bq off 22890fcececbSBaptiste DaroussinDisplay control characters less than 0x20 in <C-char> notations. 22900fcececbSBaptiste DaroussinCarriage feed, escape, and delete are marked as <Enter>, <Esc>, and <Del>, 22910fcececbSBaptiste Daroussinrespectively. 2292110d525eSBaptiste Daroussin.It Cm altwerase Bq off 2293110d525eSBaptiste Daroussin.Nm vi 2294110d525eSBaptiste Daroussinonly. 2295110d525eSBaptiste DaroussinSelect an alternate word erase algorithm. 2296110d525eSBaptiste Daroussin.It Cm autoindent , ai Bq off 2297110d525eSBaptiste DaroussinAutomatically indent new lines. 2298110d525eSBaptiste Daroussin.It Cm autoprint , ap Bq on 2299110d525eSBaptiste Daroussin.Nm ex 2300110d525eSBaptiste Daroussinonly. 2301110d525eSBaptiste DaroussinDisplay the current line automatically. 2302110d525eSBaptiste Daroussin.It Cm autowrite , aw Bq off 2303110d525eSBaptiste DaroussinWrite modified files automatically when changing files or suspending the editor 2304110d525eSBaptiste Daroussinsession. 2305110d525eSBaptiste Daroussin.It Cm backup Bq \&"\&" 2306110d525eSBaptiste DaroussinBack up files before they are overwritten. 2307110d525eSBaptiste Daroussin.It Cm beautify , bf Bq off 2308110d525eSBaptiste DaroussinDiscard control characters. 2309110d525eSBaptiste Daroussin.It Cm cdpath Bo environment variable Ev CDPATH , or current directory Bc 2310110d525eSBaptiste DaroussinThe directory paths used as path prefixes for the 2311110d525eSBaptiste Daroussin.Cm cd 2312110d525eSBaptiste Daroussincommand. 2313110d525eSBaptiste Daroussin.It Cm cedit Bq no default 2314110d525eSBaptiste DaroussinSet the character to edit the colon command-line history. 2315110d525eSBaptiste Daroussin.It Cm columns , co Bq 80 2316110d525eSBaptiste DaroussinSet the number of columns in the screen. 2317110d525eSBaptiste Daroussin.It Cm comment Bq off 2318110d525eSBaptiste Daroussin.Nm vi 2319110d525eSBaptiste Daroussinonly. 2320110d525eSBaptiste DaroussinSkip leading comments in shell, C and C++ language files. 2321110d525eSBaptiste Daroussin.It Cm directory , dir Bo environment variable Ev TMPDIR , or Pa /tmp Bc 2322110d525eSBaptiste DaroussinThe directory where temporary files are created. 2323110d525eSBaptiste Daroussin.It Cm edcompatible , ed Bq off 2324110d525eSBaptiste DaroussinRemember the values of the 2325110d525eSBaptiste Daroussin.Sq c 2326110d525eSBaptiste Daroussinand 2327110d525eSBaptiste Daroussin.Sq g 2328110d525eSBaptiste Daroussinsuffixes to the 2329110d525eSBaptiste Daroussin.Cm substitute 2330110d525eSBaptiste Daroussincommands, instead of initializing them as unset for each new command. 2331110d525eSBaptiste Daroussin.It Cm errorbells , eb Bq off 2332110d525eSBaptiste Daroussin.Nm ex 2333110d525eSBaptiste Daroussinonly. 2334110d525eSBaptiste DaroussinAnnounce error messages with a bell. 2335110d525eSBaptiste Daroussin.It Cm escapetime Bq 1 2336110d525eSBaptiste DaroussinThe tenths of a second 2337110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2338110d525eSBaptiste Daroussinwaits for a subsequent key to complete an 2339110d525eSBaptiste Daroussin.Aq escape 2340110d525eSBaptiste Daroussinkey mapping. 2341110d525eSBaptiste Daroussin.It Cm expandtab , et Bq off 2342110d525eSBaptiste DaroussinExpand 2343110d525eSBaptiste Daroussin.Aq tab 2344110d525eSBaptiste Daroussincharacters to 2345110d525eSBaptiste Daroussin.Aq space 2346110d525eSBaptiste Daroussinwhen inserting, replacing or shifting text, autoindenting, 2347110d525eSBaptiste Daroussinindenting with 2348110d525eSBaptiste Daroussin.Aq Ic control-T , 2349110d525eSBaptiste Daroussinoutdenting with 2350110d525eSBaptiste Daroussin.Aq Ic control-D , 2351110d525eSBaptiste Daroussinor 2352110d525eSBaptiste Daroussinwhen filtering lines with the 2353110d525eSBaptiste Daroussin.Cm !\& 2354110d525eSBaptiste Daroussincommand. 2355110d525eSBaptiste Daroussin.It Cm exrc , ex Bq off 2356110d525eSBaptiste DaroussinRead the startup files in the local directory. 2357110d525eSBaptiste Daroussin.It Cm extended Bq off 2358110d525eSBaptiste DaroussinUse extended regular expressions 2359110d525eSBaptiste Daroussin.Pq EREs 2360110d525eSBaptiste Daroussinrather than basic regular expressions 2361110d525eSBaptiste Daroussin.Pq BREs . 2362110d525eSBaptiste DaroussinSee 2363110d525eSBaptiste Daroussin.Xr re_format 7 2364110d525eSBaptiste Daroussinfor more information on regular expressions. 2365110d525eSBaptiste Daroussin.It Cm filec Bq Aq tab 2366110d525eSBaptiste DaroussinSet the character to perform file path completion on the colon command line. 2367110d525eSBaptiste Daroussin.It Cm fileencoding , fe Bq auto detect 2368110d525eSBaptiste DaroussinSet the encoding of the current file. 2369110d525eSBaptiste Daroussin.It Cm flash Bq on 2370110d525eSBaptiste DaroussinFlash the screen instead of beeping the keyboard on error. 2371110d525eSBaptiste Daroussin.It Cm hardtabs, ht Bq 0 2372110d525eSBaptiste DaroussinSet the spacing between hardware tab settings. 2373110d525eSBaptiste DaroussinThis option currently has no effect. 2374110d525eSBaptiste Daroussin.It Cm iclower Bq off 2375110d525eSBaptiste DaroussinMakes all regular expressions case-insensitive, 2376110d525eSBaptiste Daroussinas long as an upper-case letter does not appear in the search string. 2377110d525eSBaptiste Daroussin.It Cm ignorecase , ic Bq off 2378110d525eSBaptiste DaroussinIgnore case differences in regular expressions. 2379110d525eSBaptiste Daroussin.It Cm inputencoding , ie Bq locale 2380110d525eSBaptiste DaroussinSet the encoding of your input characters. 2381110d525eSBaptiste Daroussin.It Cm keytime Bq 6 2382110d525eSBaptiste DaroussinThe tenths of a second 2383110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2384110d525eSBaptiste Daroussinwaits for a subsequent key to complete a key mapping. 2385110d525eSBaptiste Daroussin.It Cm leftright Bq off 2386110d525eSBaptiste Daroussin.Nm vi 2387110d525eSBaptiste Daroussinonly. 2388110d525eSBaptiste DaroussinDo left-right scrolling. 2389110d525eSBaptiste Daroussin.It Cm lines , li Bq 24 2390110d525eSBaptiste Daroussin.Nm vi 2391110d525eSBaptiste Daroussinonly. 2392110d525eSBaptiste DaroussinSet the number of lines in the screen. 2393110d525eSBaptiste Daroussin.It Cm lisp Bq off 2394110d525eSBaptiste Daroussin.Nm vi 2395110d525eSBaptiste Daroussinonly. 2396110d525eSBaptiste DaroussinModify various search commands and options to work with Lisp. 2397110d525eSBaptiste DaroussinThis option is not yet implemented. 2398110d525eSBaptiste Daroussin.It Cm list Bq off 2399110d525eSBaptiste DaroussinDisplay lines in an unambiguous fashion. 2400110d525eSBaptiste Daroussin.It Cm lock Bq on 2401110d525eSBaptiste DaroussinAttempt to get an exclusive lock on any file being edited, read or written. 2402110d525eSBaptiste Daroussin.It Cm magic Bq on 2403110d525eSBaptiste DaroussinWhen turned off, all regular expression characters except for 2404110d525eSBaptiste Daroussin.Sq \(ha 2405110d525eSBaptiste Daroussinand 2406110d525eSBaptiste Daroussin.Sq \(Do 2407110d525eSBaptiste Daroussinare treated as ordinary characters. 2408110d525eSBaptiste DaroussinPreceding individual characters by 2409110d525eSBaptiste Daroussin.Sq \e 2410110d525eSBaptiste Daroussinre-enables them. 2411110d525eSBaptiste Daroussin.It Cm matchchars Bq []{}() 2412110d525eSBaptiste DaroussinCharacter pairs looked for by the 2413110d525eSBaptiste Daroussin.Cm % 2414110d525eSBaptiste Daroussincommand. 2415110d525eSBaptiste Daroussin.It Cm matchtime Bq 7 2416110d525eSBaptiste Daroussin.Nm vi 2417110d525eSBaptiste Daroussinonly. 2418110d525eSBaptiste DaroussinThe tenths of a second 2419110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2420110d525eSBaptiste Daroussinpauses on the matching character when the 2421110d525eSBaptiste Daroussin.Cm showmatch 2422110d525eSBaptiste Daroussinoption is set. 2423110d525eSBaptiste Daroussin.It Cm mesg Bq on 2424110d525eSBaptiste DaroussinPermit messages from other users. 2425110d525eSBaptiste Daroussin.It Cm msgcat Bq /usr/share/vi/catalog/ 2426110d525eSBaptiste DaroussinSelects a message catalog to be used to display error and informational 2427110d525eSBaptiste Daroussinmessages in a specified language. 2428110d525eSBaptiste Daroussin.It Cm modelines , modeline Bq off 2429110d525eSBaptiste DaroussinRead the first and last few lines of each file for 2430110d525eSBaptiste Daroussin.Nm ex 2431110d525eSBaptiste Daroussincommands. 2432110d525eSBaptiste DaroussinThis option will never be implemented. 2433110d525eSBaptiste Daroussin.It Cm noprint Bq \&"\&" 2434110d525eSBaptiste DaroussinCharacters that are never handled as printable characters. 2435110d525eSBaptiste Daroussin.It Cm number , nu Bq off 2436110d525eSBaptiste DaroussinPrecede each line displayed with its current line number. 2437110d525eSBaptiste Daroussin.It Cm octal Bq off 2438110d525eSBaptiste DaroussinDisplay unknown characters as octal numbers, instead of the default 2439110d525eSBaptiste Daroussinhexadecimal. 2440110d525eSBaptiste Daroussin.It Cm open Bq on 2441110d525eSBaptiste Daroussin.Nm ex 2442110d525eSBaptiste Daroussinonly. 2443110d525eSBaptiste DaroussinIf this option is not set, the 2444110d525eSBaptiste Daroussin.Cm open 2445110d525eSBaptiste Daroussinand 2446110d525eSBaptiste Daroussin.Cm visual 2447110d525eSBaptiste Daroussincommands are disallowed. 2448110d525eSBaptiste Daroussin.It Cm optimize , opt Bq on 2449110d525eSBaptiste Daroussin.Nm vi 2450110d525eSBaptiste Daroussinonly. 2451110d525eSBaptiste DaroussinOptimize text throughput to dumb terminals. 2452110d525eSBaptiste DaroussinThis option is not yet implemented. 2453110d525eSBaptiste Daroussin.It Cm paragraphs , para Bq "IPLPPPQPP LIpplpipbp" 2454110d525eSBaptiste Daroussin.Nm vi 2455110d525eSBaptiste Daroussinonly. 2456110d525eSBaptiste DaroussinDefine additional paragraph boundaries for the 2457110d525eSBaptiste Daroussin.Cm {\& 2458110d525eSBaptiste Daroussinand 2459110d525eSBaptiste Daroussin.Cm }\& 2460110d525eSBaptiste Daroussincommands. 2461110d525eSBaptiste Daroussin.It Cm path Bq \&"\&" 2462110d525eSBaptiste DaroussinDefine additional directories to search for files being edited. 2463110d525eSBaptiste Daroussin.It Cm print Bq \&"\&" 2464110d525eSBaptiste DaroussinCharacters that are always handled as printable characters. 2465110d525eSBaptiste Daroussin.It Cm prompt Bq on 2466110d525eSBaptiste Daroussin.Nm ex 2467110d525eSBaptiste Daroussinonly. 2468110d525eSBaptiste DaroussinDisplay a command prompt. 2469110d525eSBaptiste Daroussin.It Cm readonly , ro Bq off 2470110d525eSBaptiste DaroussinMark the file and session as read-only. 2471110d525eSBaptiste Daroussin.It Cm recdir Bq /var/tmp/vi.recover 2472110d525eSBaptiste DaroussinThe directory where recovery files are stored. 2473110d525eSBaptiste Daroussin.It Cm redraw , re Bq off 2474110d525eSBaptiste Daroussin.Nm vi 2475110d525eSBaptiste Daroussinonly. 2476110d525eSBaptiste DaroussinSimulate an intelligent terminal on a dumb one. 2477110d525eSBaptiste DaroussinThis option is not yet implemented. 2478110d525eSBaptiste Daroussin.It Cm remap Bq on 2479110d525eSBaptiste DaroussinRemap keys until resolved. 2480110d525eSBaptiste Daroussin.It Cm report Bq 5 2481110d525eSBaptiste DaroussinSet the number of lines about which the editor reports changes or yanks. 2482110d525eSBaptiste Daroussin.It Cm ruler Bq off 2483110d525eSBaptiste Daroussin.Nm vi 2484110d525eSBaptiste Daroussinonly. 2485*4087ffdbSBaptiste DaroussinDisplay a row/column/percentage ruler on the colon command line. 2486110d525eSBaptiste Daroussin.It Cm scroll , scr Bq "window size / 2" 2487110d525eSBaptiste DaroussinSet the number of lines scrolled. 2488110d525eSBaptiste Daroussin.It Cm searchincr Bq off 2489110d525eSBaptiste DaroussinMakes the 2490110d525eSBaptiste Daroussin.Cm / 2491110d525eSBaptiste Daroussinand 2492110d525eSBaptiste Daroussin.Cm ?\& 2493110d525eSBaptiste Daroussincommands incremental. 2494110d525eSBaptiste Daroussin.It Cm sections , sect Bq "NHSHH HUnhsh" 2495110d525eSBaptiste Daroussin.Nm vi 2496110d525eSBaptiste Daroussinonly. 2497110d525eSBaptiste DaroussinDefine additional section boundaries for the 2498110d525eSBaptiste Daroussin.Cm [[ 2499110d525eSBaptiste Daroussinand 2500110d525eSBaptiste Daroussin.Cm ]] 2501110d525eSBaptiste Daroussincommands. 2502110d525eSBaptiste Daroussin.It Cm secure Bq off 2503110d525eSBaptiste DaroussinTurns off all access to external programs. 2504110d525eSBaptiste Daroussin.It Cm shell , sh Bo environment variable Ev SHELL , or Pa /bin/sh Bc 2505110d525eSBaptiste DaroussinSelect the shell used by the editor. 2506110d525eSBaptiste Daroussin.It Cm shellmeta Bq \(ti{[*?$\`\(aq\&"\e 2507110d525eSBaptiste DaroussinSet the meta characters checked to determine if file name expansion 2508110d525eSBaptiste Daroussinis necessary. 2509110d525eSBaptiste Daroussin.It Cm shiftwidth , sw Bq 8 2510110d525eSBaptiste DaroussinSet the autoindent and shift command indentation width. 2511*4087ffdbSBaptiste Daroussin.It Cm showfilename Bq off 2512*4087ffdbSBaptiste Daroussin.Nm vi 2513*4087ffdbSBaptiste Daroussinonly. 2514*4087ffdbSBaptiste DaroussinDisplay the file name on the colon command line. 2515110d525eSBaptiste Daroussin.It Cm showmatch , sm Bq off 2516110d525eSBaptiste Daroussin.Nm vi 2517110d525eSBaptiste Daroussinonly. 2518110d525eSBaptiste DaroussinNote the left matching characters when the right ones are inserted. 2519110d525eSBaptiste Daroussin.It Cm showmode , smd Bq off 2520110d525eSBaptiste Daroussin.Nm vi 2521110d525eSBaptiste Daroussinonly. 2522110d525eSBaptiste DaroussinDisplay the current editor mode and a 2523110d525eSBaptiste Daroussin.Dq modified 2524110d525eSBaptiste Daroussinflag. 2525110d525eSBaptiste Daroussin.It Cm sidescroll Bq 16 2526110d525eSBaptiste Daroussin.Nm vi 2527110d525eSBaptiste Daroussinonly. 2528110d525eSBaptiste DaroussinSet the amount a left-right scroll will shift. 2529110d525eSBaptiste Daroussin.It Cm slowopen , slow Bq off 2530110d525eSBaptiste DaroussinDelay display updating during text input. 2531110d525eSBaptiste DaroussinThis option is not yet implemented. 2532110d525eSBaptiste Daroussin.It Cm sourceany Bq off 2533110d525eSBaptiste DaroussinRead startup files not owned by the current user. 2534110d525eSBaptiste DaroussinThis option will never be implemented. 2535110d525eSBaptiste Daroussin.It Cm tabstop , ts Bq 8 2536110d525eSBaptiste DaroussinThis option sets tab widths for the editor display. 2537110d525eSBaptiste Daroussin.It Cm taglength , tl Bq 0 2538110d525eSBaptiste DaroussinSet the number of significant characters in tag names. 2539110d525eSBaptiste Daroussin.It Cm tags , tag Bq tags 2540110d525eSBaptiste DaroussinSet the list of tags files. 2541110d525eSBaptiste Daroussin.It Xo 2542110d525eSBaptiste Daroussin.Cm term , ttytype , tty 2543110d525eSBaptiste Daroussin.Bq environment variable Ev TERM 2544110d525eSBaptiste Daroussin.Xc 2545110d525eSBaptiste DaroussinSet the terminal type. 2546110d525eSBaptiste Daroussin.It Cm terse Bq off 2547110d525eSBaptiste DaroussinThis option has historically made editor messages less verbose. 2548110d525eSBaptiste DaroussinIt has no effect in this implementation. 2549110d525eSBaptiste Daroussin.It Cm tildeop Bq off 2550110d525eSBaptiste DaroussinModify the 2551110d525eSBaptiste Daroussin.Cm \(ti 2552110d525eSBaptiste Daroussincommand to take an associated motion. 2553110d525eSBaptiste Daroussin.It Cm timeout , to Bq on 2554110d525eSBaptiste DaroussinTime out on keys which may be mapped. 2555110d525eSBaptiste Daroussin.It Cm ttywerase Bq off 2556110d525eSBaptiste Daroussin.Nm vi 2557110d525eSBaptiste Daroussinonly. 2558110d525eSBaptiste DaroussinSelect an alternate erase algorithm. 2559110d525eSBaptiste Daroussin.It Cm verbose Bq off 2560110d525eSBaptiste Daroussin.Nm vi 2561110d525eSBaptiste Daroussinonly. 2562110d525eSBaptiste DaroussinDisplay an error message for every error. 2563110d525eSBaptiste Daroussin.It Cm w300 Bq no default 2564110d525eSBaptiste Daroussin.Nm vi 2565110d525eSBaptiste Daroussinonly. 2566110d525eSBaptiste DaroussinSet the window size if the baud rate is less than 1200 baud. 2567110d525eSBaptiste Daroussin.It Cm w1200 Bq no default 2568110d525eSBaptiste Daroussin.Nm vi 2569110d525eSBaptiste Daroussinonly. 2570110d525eSBaptiste DaroussinSet the window size if the baud rate is equal to 1200 baud. 2571110d525eSBaptiste Daroussin.It Cm w9600 Bq no default 2572110d525eSBaptiste Daroussin.Nm vi 2573110d525eSBaptiste Daroussinonly. 2574110d525eSBaptiste DaroussinSet the window size if the baud rate is greater than 1200 baud. 2575110d525eSBaptiste Daroussin.It Cm warn Bq on 2576110d525eSBaptiste Daroussin.Nm ex 2577110d525eSBaptiste Daroussinonly. 2578110d525eSBaptiste DaroussinThis option causes a warning message to be printed on the terminal 2579110d525eSBaptiste Daroussinif the file has been modified since it was last written, before a 2580110d525eSBaptiste Daroussin.Cm !\& 2581110d525eSBaptiste Daroussincommand. 2582110d525eSBaptiste Daroussin.It Xo 2583110d525eSBaptiste Daroussin.Cm window , w , wi 2584110d525eSBaptiste Daroussin.Bq environment variable Ev LINES No \(mi 1 2585110d525eSBaptiste Daroussin.Xc 2586110d525eSBaptiste DaroussinSet the window size for the screen. 2587110d525eSBaptiste Daroussin.It Cm windowname Bq off 2588110d525eSBaptiste DaroussinChange the icon/window name to the current file name. 2589110d525eSBaptiste Daroussin.It Cm wraplen , wl Bq 0 2590110d525eSBaptiste Daroussin.Nm vi 2591110d525eSBaptiste Daroussinonly. 2592110d525eSBaptiste DaroussinBreak lines automatically, 2593110d525eSBaptiste Daroussinthe specified number of columns from the left-hand margin. 2594110d525eSBaptiste DaroussinIf both the 2595110d525eSBaptiste Daroussin.Cm wraplen 2596110d525eSBaptiste Daroussinand 2597110d525eSBaptiste Daroussin.Cm wrapmargin 2598110d525eSBaptiste Daroussinedit options are set, the 2599110d525eSBaptiste Daroussin.Cm wrapmargin 2600110d525eSBaptiste Daroussinvalue is used. 2601110d525eSBaptiste Daroussin.It Cm wrapmargin , wm Bq 0 2602110d525eSBaptiste Daroussin.Nm vi 2603110d525eSBaptiste Daroussinonly. 2604110d525eSBaptiste DaroussinBreak lines automatically, 2605110d525eSBaptiste Daroussinthe specified number of columns from the right-hand margin. 2606110d525eSBaptiste DaroussinIf both the 2607110d525eSBaptiste Daroussin.Cm wraplen 2608110d525eSBaptiste Daroussinand 2609110d525eSBaptiste Daroussin.Cm wrapmargin 2610110d525eSBaptiste Daroussinedit options are set, the 2611110d525eSBaptiste Daroussin.Cm wrapmargin 2612110d525eSBaptiste Daroussinvalue is used. 2613110d525eSBaptiste Daroussin.It Cm wrapscan , ws Bq on 2614110d525eSBaptiste DaroussinSet searches to wrap around the end or beginning of the file. 2615110d525eSBaptiste Daroussin.It Cm writeany , wa Bq off 2616110d525eSBaptiste DaroussinTurn off file-overwriting checks. 2617110d525eSBaptiste Daroussin.El 2618110d525eSBaptiste Daroussin.Sh ENVIRONMENT 2619110d525eSBaptiste Daroussin.Bl -tag -width "COLUMNS" 2620110d525eSBaptiste Daroussin.It Ev COLUMNS 2621110d525eSBaptiste DaroussinThe number of columns on the screen. 2622110d525eSBaptiste DaroussinThis value overrides any system or terminal specific values. 2623110d525eSBaptiste DaroussinIf the 2624110d525eSBaptiste Daroussin.Ev COLUMNS 2625110d525eSBaptiste Daroussinenvironment variable is not set when 2626110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2627110d525eSBaptiste Daroussinruns, or the 2628110d525eSBaptiste Daroussin.Cm columns 2629110d525eSBaptiste Daroussinoption is explicitly reset by the user, 2630110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2631110d525eSBaptiste Daroussinenters the value into the environment. 2632110d525eSBaptiste Daroussin.It Ev EXINIT 2633110d525eSBaptiste DaroussinA list of 2634110d525eSBaptiste Daroussin.Nm ex 2635110d525eSBaptiste Daroussinstartup commands, read after 2636110d525eSBaptiste Daroussin.Pa /etc/vi.exrc 2637110d525eSBaptiste Daroussinunless the variable 2638110d525eSBaptiste Daroussin.Ev NEXINIT 2639110d525eSBaptiste Daroussinis also set. 2640110d525eSBaptiste Daroussin.It Ev HOME 2641110d525eSBaptiste DaroussinThe user's home directory, used as the initial directory path for the startup 2642110d525eSBaptiste Daroussin.Pa $HOME/.nexrc 2643110d525eSBaptiste Daroussinand 2644110d525eSBaptiste Daroussin.Pa $HOME/.exrc 2645110d525eSBaptiste Daroussinfiles. 2646110d525eSBaptiste DaroussinThis value is also used as the default directory for the 2647110d525eSBaptiste Daroussin.Cm cd 2648110d525eSBaptiste Daroussincommand. 2649110d525eSBaptiste Daroussin.It Ev LINES 2650110d525eSBaptiste DaroussinThe number of rows on the screen. 2651110d525eSBaptiste DaroussinThis value overrides any system or terminal specific values. 2652110d525eSBaptiste DaroussinIf the 2653110d525eSBaptiste Daroussin.Ev LINES 2654110d525eSBaptiste Daroussinenvironment variable is not set when 2655110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2656110d525eSBaptiste Daroussinruns, or the 2657110d525eSBaptiste Daroussin.Cm lines 2658110d525eSBaptiste Daroussinoption is explicitly reset by the user, 2659110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2660110d525eSBaptiste Daroussinenters the value into the environment. 2661110d525eSBaptiste Daroussin.It Ev NEXINIT 2662110d525eSBaptiste DaroussinA list of 2663110d525eSBaptiste Daroussin.Nm ex 2664110d525eSBaptiste Daroussinstartup commands, read after 2665110d525eSBaptiste Daroussin.Pa /etc/vi.exrc . 2666110d525eSBaptiste Daroussin.It Ev SHELL 2667110d525eSBaptiste DaroussinThe user's shell of choice 2668110d525eSBaptiste Daroussin.Pq see also the Cm shell No option . 2669110d525eSBaptiste Daroussin.It Ev TERM 2670110d525eSBaptiste DaroussinThe user's terminal type. 2671110d525eSBaptiste DaroussinThe default is the type 2672110d525eSBaptiste Daroussin.Dq unknown . 2673110d525eSBaptiste DaroussinIf the 2674110d525eSBaptiste Daroussin.Ev TERM 2675110d525eSBaptiste Daroussinenvironment variable is not set when 2676110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2677110d525eSBaptiste Daroussinruns, or the 2678110d525eSBaptiste Daroussin.Cm term 2679110d525eSBaptiste Daroussinoption is explicitly reset by the user, 2680110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2681110d525eSBaptiste Daroussinenters the value into the environment. 2682110d525eSBaptiste Daroussin.It Ev TMPDIR 2683110d525eSBaptiste DaroussinThe location used to store temporary files 2684110d525eSBaptiste Daroussin.Pq see also the Cm directory No edit option . 2685110d525eSBaptiste Daroussin.El 2686110d525eSBaptiste Daroussin.Sh ASYNCHRONOUS EVENTS 2687110d525eSBaptiste Daroussin.Bl -tag -width "SIGWINCH" -compact 2688110d525eSBaptiste Daroussin.It Dv SIGALRM 2689110d525eSBaptiste Daroussin.Nm vi Ns / Ns Nm ex 2690110d525eSBaptiste Daroussinuses this signal for periodic backups of file modifications and to display 2691110d525eSBaptiste Daroussin.Dq busy 2692110d525eSBaptiste Daroussinmessages when operations are likely to take a long time. 2693110d525eSBaptiste Daroussin.Pp 2694110d525eSBaptiste Daroussin.It Dv SIGHUP 2695110d525eSBaptiste Daroussin.It Dv SIGTERM 2696110d525eSBaptiste DaroussinIf the current buffer has changed since it was last written in its entirety, 2697110d525eSBaptiste Daroussinthe editor attempts to save the modified file so it can be later recovered. 2698110d525eSBaptiste DaroussinSee the 2699110d525eSBaptiste Daroussin.Nm vi Ns / Ns Nm ex 2700110d525eSBaptiste Daroussinreference manual section 2701110d525eSBaptiste Daroussin.Sx Recovery 2702110d525eSBaptiste Daroussinfor more information. 2703110d525eSBaptiste Daroussin.Pp 2704110d525eSBaptiste Daroussin.It Dv SIGINT 2705110d525eSBaptiste DaroussinWhen an interrupt occurs, the current operation is halted 2706110d525eSBaptiste Daroussinand the editor returns to the command level. 2707110d525eSBaptiste DaroussinIf interrupted during text input, 2708110d525eSBaptiste Daroussinthe text already input is resolved into the file as if the text 2709110d525eSBaptiste Daroussininput had been normally terminated. 2710110d525eSBaptiste Daroussin.Pp 2711110d525eSBaptiste Daroussin.It Dv SIGWINCH 2712110d525eSBaptiste DaroussinThe screen is resized. 2713110d525eSBaptiste DaroussinSee the 2714110d525eSBaptiste Daroussin.Nm vi Ns / Ns Nm ex 2715110d525eSBaptiste Daroussinreference manual section 2716110d525eSBaptiste Daroussin.Sx Sizing the Screen 2717110d525eSBaptiste Daroussinfor more information. 2718110d525eSBaptiste Daroussin.\" .Pp 2719110d525eSBaptiste Daroussin.\" .It Dv SIGCONT 2720110d525eSBaptiste Daroussin.\" .It Dv SIGTSTP 2721110d525eSBaptiste Daroussin.\" .Nm vi Ns / Ns Nm ex 2722110d525eSBaptiste Daroussin.\" ignores these signals. 2723110d525eSBaptiste Daroussin.El 2724110d525eSBaptiste Daroussin.Sh FILES 2725110d525eSBaptiste Daroussin.Bl -tag -width "/var/tmp/vi.recover" 2726110d525eSBaptiste Daroussin.It Pa /bin/sh 2727110d525eSBaptiste DaroussinThe default user shell. 2728110d525eSBaptiste Daroussin.It Pa /etc/vi.exrc 2729110d525eSBaptiste DaroussinSystem-wide 2730110d525eSBaptiste Daroussin.Nm vi 2731110d525eSBaptiste Daroussinstartup file. 2732110d525eSBaptiste DaroussinIt is read for 2733110d525eSBaptiste Daroussin.Nm ex 2734110d525eSBaptiste Daroussincommands first in the startup sequence. 2735110d525eSBaptiste DaroussinMust be owned by root or the user, 2736110d525eSBaptiste Daroussinand writable only by the owner. 2737110d525eSBaptiste Daroussin.It Pa /tmp 2738110d525eSBaptiste DaroussinTemporary file directory. 2739110d525eSBaptiste Daroussin.It Pa /var/tmp/vi.recover 2740110d525eSBaptiste DaroussinThe default recovery file directory. 2741110d525eSBaptiste Daroussin.It Pa $HOME/.nexrc 2742110d525eSBaptiste DaroussinFirst choice for user's home directory startup file, read for 2743110d525eSBaptiste Daroussin.Nm ex 2744110d525eSBaptiste Daroussincommands right after 2745110d525eSBaptiste Daroussin.Pa /etc/vi.exrc 2746110d525eSBaptiste Daroussinunless either 2747110d525eSBaptiste Daroussin.Ev NEXINIT 2748110d525eSBaptiste Daroussinor 2749110d525eSBaptiste Daroussin.Ev EXINIT 2750110d525eSBaptiste Daroussinare set. 2751110d525eSBaptiste DaroussinMust be owned by root or the user, 2752110d525eSBaptiste Daroussinand writable only by the owner. 2753110d525eSBaptiste Daroussin.It Pa $HOME/.exrc 2754110d525eSBaptiste DaroussinSecond choice for user's home directory startup file, read for 2755110d525eSBaptiste Daroussin.Nm ex 2756110d525eSBaptiste Daroussincommands under the same conditions as 2757110d525eSBaptiste Daroussin.Pa $HOME/.nexrc . 2758110d525eSBaptiste Daroussin.It Pa .nexrc 2759110d525eSBaptiste DaroussinFirst choice for local directory startup file, read for 2760110d525eSBaptiste Daroussin.Nm ex 2761110d525eSBaptiste Daroussincommands at the end of the startup sequence if the 2762110d525eSBaptiste Daroussin.Cm exrc 2763110d525eSBaptiste Daroussinoption was turned on earlier. 2764110d525eSBaptiste DaroussinMust be owned by the user 2765110d525eSBaptiste Daroussinand writable only by the owner. 2766110d525eSBaptiste Daroussin.It Pa .exrc 2767110d525eSBaptiste DaroussinSecond choice for local directory startup file, read for 2768110d525eSBaptiste Daroussin.Nm ex 2769110d525eSBaptiste Daroussincommands under the same conditions as 2770110d525eSBaptiste Daroussin.Pa .nexrc . 2771110d525eSBaptiste Daroussin.El 2772110d525eSBaptiste Daroussin.Sh EXIT STATUS 2773110d525eSBaptiste DaroussinThe 2774110d525eSBaptiste Daroussin.Nm ex 2775110d525eSBaptiste Daroussinand 2776110d525eSBaptiste Daroussin.Nm vi 2777110d525eSBaptiste Daroussinutilities exit 0 on success, 2778110d525eSBaptiste Daroussinand \*(Gt0 if an error occurs. 2779110d525eSBaptiste Daroussin.Sh SEE ALSO 2780110d525eSBaptiste Daroussin.Xr ctags 1 , 2781110d525eSBaptiste Daroussin.Xr iconv 1 , 2782110d525eSBaptiste Daroussin.Xr re_format 7 2783*4087ffdbSBaptiste Daroussin.Pp 2784*4087ffdbSBaptiste Daroussin.Lk https://docs.freebsd.org/44doc/usd/13.viref/paper.pdf "Vi/Ex Reference Manual" 2785110d525eSBaptiste Daroussin.Sh STANDARDS 2786110d525eSBaptiste Daroussin.Nm nex Ns / Ns Nm nvi 2787110d525eSBaptiste Daroussinis close to 2788110d525eSBaptiste Daroussin.St -p1003.1-2008 . 2789110d525eSBaptiste DaroussinThat document differs from historical 2790110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2791110d525eSBaptiste Daroussinpractice in several places; there are changes to be made on both sides. 2792110d525eSBaptiste Daroussin.Sh HISTORY 2793110d525eSBaptiste DaroussinThe 2794110d525eSBaptiste Daroussin.Nm ex 2795110d525eSBaptiste Daroussineditor first appeared in 2796110d525eSBaptiste Daroussin.Bx 1 . 2797110d525eSBaptiste DaroussinThe 2798110d525eSBaptiste Daroussin.Nm nex Ns / Ns Nm nvi 2799110d525eSBaptiste Daroussinreplacements for the 2800110d525eSBaptiste Daroussin.Nm ex Ns / Ns Nm vi 2801110d525eSBaptiste Daroussineditor first appeared in 2802110d525eSBaptiste Daroussin.Bx 4.4 . 2803110d525eSBaptiste Daroussin.Sh AUTHORS 2804110d525eSBaptiste Daroussin.An Bill Joy 2805110d525eSBaptiste Daroussinwrote the original version of 2806110d525eSBaptiste Daroussin.Nm ex 2807110d525eSBaptiste Daroussinin 1977. 2808