This chapter introduces you to some of the more advanced capabilities of the vi and ex editors. You should be reasonably familiar with the material presented in the earlier chapters of this book before you start working with the concepts presented in this chapter.
This chapter is divided into five parts. The first part discusses a number of ways to set options that allow you to customize your editing environment. You'll learn how to use the set command and how to create a number of different editing environments using .exrc files.
The second part discusses how you can execute UNIX commands from within vi, and how you can use vi to filter text through UNIX commands.
The third part discusses various ways to save long sequences of commands by reducing them to abbreviations, or even to commands that use only one keystroke (this is called mapping keys). It also includes a section on @-functions, which allow you to store command sequences in a buffer.
The fourth part discusses the use of ex scripts from the UNIX command line or from within shell scripts. Scripting provides a powerful way to make repetitive edits.
The fifth part discusses some features of vi that are especially useful to programmers. vi has options that control line indentation and an option to display invisible characters (specifically tabs and newlines). There are search commands that are useful with program code blocks or with C functions.