xref: /freebsd/contrib/nvi/man/vi.1 (revision 4087ffdbce725367566bc3fc60a959292daac99d)
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