customizingvi.html 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387
  1. <HTML>
  2. <HEAD>
  3. <META NAME="Description" CONTENT="Learn Unix/Solaris: Learn how to customize the Unix vi editor using the .exrc file. Examples for Unix, Solaris, and Linux users.">
  4. <META NAME="KEYWORDS" CONTENT="learn, vi, learn vi, solaris, unix, vi tutorial, tutorial, vi tips, macros, learn solaris, learn unix, tips, solaris tips, unix tutorials, editor">
  5. <TITLE>Learn - Unix - vi - Customizing the vi editor</TITLE>
  6. </HEAD>
  7. <BODY BGCOLOR="#ffffff" text="#000000">
  8. <P><CENTER><B><FONT SIZE=+2>Customizing the vi editor</FONT></B><br>
  9. <font size=+1><a href="/">Developer's Daily</a></font></CENTER></P>
  10. <P><B><FONT SIZE=+1>vi background</FONT></B>
  11. <P>For years Unix/Solaris/Linux users have had a love/hate relationship
  12. with the vi editor - in general, they've loved to hate it.&nbsp; As the
  13. standard Unix/Solaris editor, many of
  14. the problems Unix users have with vi can be alleviated by learning how to set
  15. a few configuration options in the vi editor's startup file, <TT>.exrc</TT>.&nbsp;
  16. Unfortunately, many users never learn about this vi startup file, and how much easier it makes the vi editor.&nbsp;
  17. <p>In this Unix/Solaris/Linux tutorial, we'll learn some of the
  18. most useful vi editor startup options. We'll also create
  19. a few vi macros, and learn how to define the <TT>F1</TT> function key to
  20. display a "Help" screen to make the vi editor much easier to use.
  21. <BR>&nbsp;
  22. <!-- AD CODE STARTS -->
  23. <center>
  24. <!--#include virtual="/global/unix_ad1.shtml" -->
  25. </center>
  26. <!-- AD CODE STOPS -->
  27. <P><B><FONT SIZE=+1>The vi configuration file</FONT></B></P>
  28. <P>When you start the vi editor, the editor searches for the environment
  29. variable <TT>$EXINIT</TT> and uses the contents of the file it points to
  30. as configuration commands, if it exists.&nbsp; If <TT>EXINIT</TT> is not
  31. defined, vi looks for the <TT>.exrc</TT> file in your <TT>HOME</TT> directory,
  32. and uses its configuration commands.&nbsp; Finally, vi looks in your current
  33. directory for a file named <TT>.exrc</TT> and executes the commands in
  34. that file, if it exists.&nbsp; In this manner, you can have a different
  35. vi configuration for each directory or project that you're working on.&nbsp;
  36. In this article we'll modify the .exrc file in our home directory, which
  37. will effect all of our vi editing sessions.
  38. <P>The <TT>.exrc</TT> file can contain comments, last-line commands (those
  39. entered on the last line of the vi editor and beginning with a ":", such
  40. as ":set showmode"), and macro definitions.
  41. <P>Comments in the <TT>.exrc</TT> file are those lines that begin with
  42. a <TT>"</TT> character (double-quote character).&nbsp; All characters after
  43. the <TT>"</TT> are ignored by vi.&nbsp; You can include as many comments
  44. in the <TT>.exrc</TT> file as you like.
  45. <BR>&nbsp;
  46. <P><B><FONT SIZE=+1>Showing the current mode</FONT></B>
  47. <P>One of the biggest complaints about vi is that you never know what mode
  48. you're in - there's nothing on screen to indicate if you're in "command
  49. mode" or "insert mode".&nbsp; This complaint is easily cured by the "<TT>set
  50. showmode</TT>" command.
  51. <P>When you're in vi, the "<TT>:set showmode</TT>" command shows what mode
  52. vi is in when you're typing - insert mode, append mode, etc.&nbsp; If you're
  53. in command mode, like you are when you first enter vi, you won't see anything
  54. different.&nbsp; But as soon as you enter insert mode, the words "INSERT
  55. MODE" are displayed in the lower-right corner on your screen.
  56. <P>You enable this useful feature by putting the "set showmode" command
  57. in the <TT>.exrc</TT> file, as shown in <B>Figure 1</B>.&nbsp; That's all
  58. there is to it.&nbsp; The next time you enter the vi editor, the <TT>.exrc</TT>
  59. file will be read automatically, and this feature will be enabled for you.&nbsp;
  60. One warning - don't put any blank lines in the <TT>.exrc</TT> file.&nbsp;
  61. vi doesn't care for blank lines in the configuration file at all, and your
  62. configuration options may be ignored.
  63. <BR>&nbsp;
  64. <TABLE BORDER=0 CELLPADDING=10 BGCOLOR="#CCCCCC" >
  65. <TR>
  66. <TD><TT>"</TT>&nbsp;
  67. <BR><TT>" This line is a comment.&nbsp; Commented lines begin with the
  68. " character</TT>&nbsp;
  69. <BR><TT>" in the first column.</TT>&nbsp;
  70. <BR><TT>"</TT>&nbsp;
  71. <BR><TT>" Use the 'showmode' command to display what mode I'm in when using
  72. vi.&nbsp;&nbsp;</TT>&nbsp;
  73. <BR><TT>"</TT>&nbsp;
  74. <BR><TT>set showmode</TT>&nbsp;
  75. <BR><TT>"</TT>&nbsp;
  76. <BR><TT>" Block messages from other users to keep my display clean.</TT>&nbsp;
  77. <BR><TT>"</TT>&nbsp;
  78. <BR><TT>set nomesg</TT>&nbsp;
  79. <BR><TT>"</TT>&nbsp;
  80. <BR>&nbsp;</TD>
  81. </TR>
  82. </TABLE>
  83. &nbsp;
  84. <TABLE CELLSPACING=0 CELLPADDING=0 >
  85. <TR>
  86. <TD ALIGN=LEFT VALIGN=TOP NOWRAP><B><FONT COLOR="#000099">Figure 1:&nbsp;</FONT></B></TD>
  87. <TD ALIGN=LEFT VALIGN=TOP>A sample <TT>.exrc</TT> file.&nbsp;</TD>
  88. </TR>
  89. <TR>
  90. <TD></TD>
  91. <TD></TD>
  92. </TR>
  93. </TABLE>
  94. &nbsp;
  95. <P>The "<TT>:set nomesg</TT>" command shown in <B>Figure 1</B> is also
  96. very useful.&nbsp; It keeps other users from writing information onto your
  97. screen (such as when using the "talk" command, for example) when you're
  98. using vi.
  99. <BR>&nbsp;
  100. <P><B><FONT SIZE=+1>Map commands</FONT></B>
  101. <P>"Map" commands let you customize the vi editor by allowing you to redefine
  102. the meaning of keys when you're in command mode.&nbsp; In <B>Figure 2</B>,
  103. we define the <TT>F1</TT> function key to be a "Help" key, and the <TT>F2</TT>
  104. function key to be a shortcut to write our current edit changes to a file,
  105. similar to the "<TT>:w!</TT>" command, but shorter and easier.
  106. <BR>&nbsp;
  107. <BR>&nbsp;
  108. <TABLE BORDER=0 CELLPADDING=10 BGCOLOR="#CCCCCC" >
  109. <TR>
  110. <TD><TT>"</TT>&nbsp;
  111. <BR><TT>" This line is a comment.&nbsp; Commented lines begin with the
  112. " character</TT>&nbsp;
  113. <BR><TT>" in the first column.</TT>&nbsp;
  114. <BR><TT>"</TT>&nbsp;
  115. <BR><TT>" Use the 'showmode' command to display what mode I'm in when using
  116. vi.&nbsp;&nbsp;</TT>&nbsp;
  117. <BR><TT>"</TT>&nbsp;
  118. <BR><TT>set showmode</TT>&nbsp;
  119. <BR><TT>"</TT>&nbsp;
  120. <BR><TT>" Block messages from other users to keep my display clean.</TT>&nbsp;
  121. <BR><TT>"</TT>&nbsp;
  122. <BR><TT>set nomesg</TT>&nbsp;
  123. <BR><TT>"</TT>&nbsp;
  124. <BR><TT>"&nbsp; Define the F1 key to show a customized "help" file</TT>&nbsp;
  125. <BR><TT>"</TT>&nbsp;
  126. <BR><TT>:map #1 :!more ~/.vi_help^M</TT>&nbsp;
  127. <BR><TT>"</TT>&nbsp;
  128. <BR><TT>"&nbsp; Define the F2 key to be a shortcut to save current changes
  129. to file</TT>&nbsp;
  130. <BR><TT>"&nbsp; (uses the current filename)</TT>&nbsp;
  131. <BR><TT>"</TT>&nbsp;
  132. <BR><TT>:map #2 :w^M</TT>&nbsp;
  133. <BR><TT>"</TT>&nbsp;
  134. <BR>&nbsp;</TD>
  135. </TR>
  136. </TABLE>
  137. &nbsp;
  138. <TABLE CELLSPACING=0 CELLPADDING=0 >
  139. <TR>
  140. <TD ALIGN=LEFT VALIGN=TOP NOWRAP><B><FONT COLOR="#000099">Figure 2:&nbsp;</FONT></B></TD>
  141. <TD ALIGN=LEFT VALIGN=TOP>This sample <TT>.exrc</TT> file shows how to
  142. change the behavior of your function keys with the <TT>map</TT> command.&nbsp;</TD>
  143. </TR>
  144. <TR>
  145. <TD></TD>
  146. <TD></TD>
  147. </TR>
  148. </TABLE>
  149. &nbsp;
  150. <P>Both of these new function key definitions are created with the "<TT>:map</TT>"
  151. command. Let's break down the "map" commands in our sample file to see
  152. what they're really doing.
  153. <P>In the <TT>.exrc</TT> file, #1 refers to function key <TT>F1</TT>, and
  154. #2 refers to the <TT>F2</TT> function key.&nbsp; So the "<TT>:map #1</TT>"
  155. portion of the first line means "map the function key <TT>F1</TT>", and
  156. "<TT>:map #2</TT>" means "map the function key <TT>F2</TT>".
  157. <P>After the "<TT>:map #1</TT>" portion of the first command, you see the
  158. character sequence "<TT>:!more ~/.vi_help^M</TT>".&nbsp; If you're familiar
  159. with vi, you may know that the "<TT>:!</TT>" sequence allows you to run
  160. any Unix command while you're in the vi editor.&nbsp; For instance, while
  161. you're in command mode in vi, you can type "<TT>:!ls -al</TT>" (followed
  162. by the <TT>&lt;Enter></TT> key) to get a long listing of all files in your
  163. current directory.&nbsp; This is great, because you don't have to exit
  164. vi and then re-enter just to run the "<TT>ls -al</TT>" command, saving
  165. you a lot of keystrokes.
  166. <P>That said, you can see how this extends to what we're doing with the
  167. <TT>F1</TT> key.&nbsp; We're telling vi that every time the user hits the
  168. <TT>F1</TT> key, run the external Unix command "<TT>more ~/.vi_help</TT>".&nbsp;
  169. This means "use the Unix 'more' command to display the contents of the
  170. file '<TT>.vi_help</TT>' located in our <TT>HOME</TT> directory".&nbsp;
  171. The file "<TT>.vi_help</TT>" is any file you create - our example file
  172. is shown in <B>Figure 3</B>.
  173. <BR>&nbsp;
  174. <BR>&nbsp;
  175. <TABLE BORDER=0 CELLPADDING=10 BGCOLOR="#CCCCCC" >
  176. <TR>
  177. <TD><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  178. ====================</TT>&nbsp;
  179. <BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  180. |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  181. |</TT>&nbsp;
  182. <BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  183. |&nbsp; vi Help Screen&nbsp; |</TT>&nbsp;
  184. <BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  185. |&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  186. |</TT>&nbsp;
  187. <BR><TT>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  188. ====================</TT>&nbsp;
  189. <BR>&nbsp;&nbsp;
  190. <P><TT>Customized Function Keys</TT>&nbsp;
  191. <BR><TT>------------------------</TT>&nbsp;
  192. <P><TT>&nbsp;&nbsp; F1&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp; Help Screen (this
  193. screen message)</TT>&nbsp;
  194. <BR><TT>&nbsp;&nbsp; F2&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp; Save Changes</TT>&nbsp;
  195. <BR>&nbsp;
  196. <BR>&nbsp;&nbsp;
  197. <P><TT>Command-Mode Commands</TT>&nbsp;
  198. <BR><TT>=====================</TT>&nbsp;
  199. <BR>&nbsp;&nbsp;
  200. <P><TT>&nbsp;&nbsp; Commands To Insert Text</TT>&nbsp;
  201. <BR><TT>&nbsp;&nbsp; -----------------------</TT>&nbsp;
  202. <P><TT>&nbsp;&nbsp; a&nbsp;&nbsp;&nbsp; -&nbsp; Append after the current
  203. cursor position</TT>&nbsp;
  204. <BR><TT>&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp; -&nbsp; Append after the end of
  205. the current line</TT>&nbsp;
  206. <BR><TT>&nbsp;&nbsp; i&nbsp;&nbsp;&nbsp; -&nbsp; Insert at current cursor
  207. position</TT>&nbsp;
  208. <BR><TT>&nbsp;&nbsp; I&nbsp;&nbsp;&nbsp; -&nbsp; Insert at beginning of
  209. line</TT>&nbsp;
  210. <BR><TT>&nbsp;&nbsp; o&nbsp;&nbsp;&nbsp; -&nbsp; Open a new line below
  211. the current line (lower-case letter o)&nbsp;&nbsp;</TT>&nbsp;
  212. <BR><TT>&nbsp;&nbsp; O&nbsp;&nbsp;&nbsp; -&nbsp; Open a new line above
  213. the current line (upper-case letter O)</TT>&nbsp;
  214. <BR>&nbsp;&nbsp;
  215. <P><TT>&nbsp;&nbsp; Commands to Delete Text</TT>&nbsp;
  216. <BR><TT>&nbsp;&nbsp; -----------------------</TT>&nbsp;
  217. <P><TT>&nbsp;&nbsp; x&nbsp;&nbsp;&nbsp; -&nbsp; Delete the character at
  218. the current cursor position</TT>&nbsp;
  219. <BR><TT>&nbsp;&nbsp; dd&nbsp;&nbsp; -&nbsp; Delete the current line</TT>&nbsp;
  220. <BR><TT>&nbsp;&nbsp; ndd&nbsp; -&nbsp; Delete the next 'n' lines, including
  221. the current line</TT>&nbsp;
  222. <BR><TT>&nbsp;&nbsp; d$&nbsp;&nbsp; -&nbsp; Delete from the current position
  223. to the end of the line</TT>&nbsp;
  224. <BR>&nbsp;&nbsp;
  225. <P><TT>&nbsp;&nbsp; Movement Commands</TT>&nbsp;
  226. <BR><TT>&nbsp;&nbsp; -----------------</TT>&nbsp;
  227. <P><TT>&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp; -&nbsp; Move to the beginning of
  228. the current line (number zero)</TT>&nbsp;
  229. <BR><TT>&nbsp;&nbsp; $&nbsp;&nbsp;&nbsp; -&nbsp; Move to the end of the
  230. current line</TT>&nbsp;
  231. <BR><TT>&nbsp;&nbsp; b&nbsp;&nbsp;&nbsp; -&nbsp; Move backwards one word
  232. in the current file</TT>&nbsp;
  233. <BR><TT>&nbsp;&nbsp; w&nbsp;&nbsp;&nbsp; -&nbsp; Move forward to the next
  234. word</TT>&nbsp;
  235. <BR><TT>&nbsp;&nbsp; G&nbsp;&nbsp;&nbsp; -&nbsp; Move to the end of the
  236. current file</TT>&nbsp;
  237. <BR><TT>&nbsp;&nbsp; nG&nbsp;&nbsp; -&nbsp; Move to line 'n'</TT>&nbsp;
  238. <BR>&nbsp;&nbsp;
  239. <P><TT>&nbsp;&nbsp; Cutting and Pasting Commands</TT>&nbsp;
  240. <BR><TT>&nbsp;&nbsp; ----------------------------</TT>&nbsp;
  241. <P><TT>&nbsp;&nbsp; yy&nbsp;&nbsp; -&nbsp; Yank the current line (i.e.,
  242. copy it to buffer)</TT>&nbsp;
  243. <BR><TT>&nbsp;&nbsp; nyy&nbsp; -&nbsp; Yank the next 'n' lines, including
  244. the current line</TT>&nbsp;
  245. <BR><TT>&nbsp;&nbsp; pp&nbsp;&nbsp; -&nbsp; Paste the content of the buffer</TT>&nbsp;
  246. <BR>&nbsp;</TD>
  247. </TR>
  248. </TABLE>
  249. &nbsp;
  250. <TABLE CELLSPACING=0 CELLPADDING=0 >
  251. <TR>
  252. <TD ALIGN=LEFT VALIGN=TOP NOWRAP><B><FONT COLOR="#000099">Figure 3:&nbsp;</FONT></B></TD>
  253. <TD ALIGN=LEFT VALIGN=TOP>You can create a <TT>.vi_help</TT> file to act as a help
  254. screen within the vi editor.&nbsp;</TD>
  255. </TR>
  256. <TR>
  257. <TD></TD>
  258. <TD></TD>
  259. </TR>
  260. </TABLE>
  261. &nbsp;
  262. <P>Now, every time the user hits the <TT>F1</TT> key, they will actually
  263. use the <TT>more</TT> command to view the customized file <TT>.vi_help</TT>
  264. located in their <TT>HOME</TT> directory.&nbsp; But what's the <TT>^M</TT>
  265. at the end of the line?&nbsp; Do we just type the character <TT>^</TT>
  266. followed by the letter <TT>M</TT>?
  267. <P>The answer is no.&nbsp; The <TT>^M</TT> you see in <B>Figure 3</B> is
  268. actually generated by typing a <TT>&lt;CTRL-v></TT> (holding down the 'Ctrl'
  269. key and the 'v' key at the same time) followed by a <TT>&lt;CTRL-m></TT>.
  270. <P>This key sequence embeds special characters into our file to tell vi
  271. we want to automatically generate an <TT>&lt;Enter></TT> key signal at
  272. this point in the file.&nbsp; If you're familiar with your ASCII codes,
  273. you know that hitting the <TT>&lt;Enter></TT> key is the same as typing
  274. a <TT>&lt;CTRL-m></TT>.&nbsp; Try typing a <TT>&lt;CTRL-m></TT> at the
  275. Unix command line if you like - it's the same as the <TT>&lt;Enter></TT>
  276. key.&nbsp; When you use the <TT>&lt;CTRL-v>&lt;CTRL-m></TT> key sequence,
  277. you actually generate only one character in your <TT>.exrc</TT> file, not
  278. two separate characters.
  279. <P>If we don't tell vi to put an <TT>&lt;Enter></TT> key keystroke at this
  280. point, vi will display the "<TT>:!more ~/.vi_help</TT>" command on the
  281. last line of your vi editor screen when you hit the <TT>F1</TT> function
  282. key, but it won't execute the command until you manually hit the <TT>&lt;Enter></TT>
  283. key, which isn't what we want.&nbsp; Think of the <TT>&lt;CTRL-v>&lt;CTRL-m></TT>
  284. key sequence as automatically hitting the <TT>&lt;Enter></TT> key for you.
  285. <P>The <TT>F2</TT> function key mapping will seem easy now.&nbsp; When
  286. the user hits the <TT>F2</TT> key, vi automatically issues the "<TT>:w</TT>"
  287. write command, and then generates an <TT>&lt;Enter></TT> key keystroke,
  288. saving your current file to disk.
  289. <P>Other useful macros are shown in <B>Figure 4</B>.&nbsp; <TT>F3</TT>
  290. is set to display line numbers on screen, <TT>F4</TT> is set to take the
  291. line numbers off screen, and <TT>F5</TT> configures automatic indentation
  292. of lines.&nbsp; All of these functions are very useful when writing programs.
  293. <BR>&nbsp;
  294. <BR>&nbsp;
  295. <TABLE BORDER=0 CELLPADDING=10 BGCOLOR="#CCCCCC" >
  296. <TR>
  297. <TD><TT>set showmode</TT>&nbsp;
  298. <BR><TT>set nomesg</TT>&nbsp;
  299. <BR><TT>:map #1 :!more ~/.vi_help^M&nbsp;&nbsp;&nbsp;&nbsp;</TT>&nbsp;
  300. <BR><TT>:map #2 :w^M</TT>&nbsp;
  301. <BR><TT>:map #3 :set number^M</TT>&nbsp;
  302. <BR><TT>:map #4 :set nonumber^M</TT>&nbsp;
  303. <BR><TT>:map #5 :set autoindent^M</TT>&nbsp;
  304. <BR>&nbsp;</TD>
  305. </TR>
  306. </TABLE>
  307. &nbsp;
  308. <TABLE CELLSPACING=0 CELLPADDING=0 >
  309. <TR>
  310. <TD ALIGN=LEFT VALIGN=TOP NOWRAP><B><FONT COLOR="#000099">Figure 4:&nbsp;</FONT></B></TD>
  311. <TD ALIGN=LEFT VALIGN=TOP>This <TT>.exrc</TT> file demonstrates useful
  312. macros for the <TT>F1</TT> through <TT>F5</TT> function keys.&nbsp;</TD>
  313. </TR>
  314. <TR>
  315. <TD></TD>
  316. <TD></TD>
  317. </TR>
  318. </TABLE>
  319. &nbsp;
  320. <BR>&nbsp;
  321. <P><B><FONT SIZE=+1>Conclusion</FONT></B>
  322. <P>You have now seen how to customize your own <TT>.exrc</TT> file to display
  323. your current working mode, keep other users messages off of your display,
  324. and create your own macros to make your life with the vi editor easier
  325. and more productive.&nbsp; You can now apply the techniques included in
  326. this article to customize vi to include your own working preferences.
  327. <BR>&nbsp;
  328. <!-- AD CODE STARTS -->
  329. <center>
  330. <!--#include virtual="/global/unix_ad1.shtml" -->
  331. </center>
  332. <!-- AD CODE STOPS -->
  333. <!--#include file="footer.html" -->
  334. </BODY>
  335. </HTML>