📄 ch30_01.htm
字号:
<HTML><!--Distributed by F --><HEAD><TITLE>[Chapter 30] vi Tips and Tricks</TITLE><METANAME="DC.title"CONTENT="UNIX Power Tools"><METANAME="DC.creator"CONTENT="Jerry Peek, Tim O'Reilly & Mike Loukides"><METANAME="DC.publisher"CONTENT="O'Reilly & Associates, Inc."><METANAME="DC.date"CONTENT="1998-08-04T21:45:17Z"><METANAME="DC.type"CONTENT="Text.Monograph"><METANAME="DC.format"CONTENT="text/html"SCHEME="MIME"><METANAME="DC.source"CONTENT="1-56592-260-3"SCHEME="ISBN"><METANAME="DC.language"CONTENT="en-US"><METANAME="generator"CONTENT="Jade 1.1/O'Reilly DocBook 3.0 to HTML 4.0"><LINKREV="made"HREF="mailto:online-books@oreilly.com"TITLE="Online Books Comments"><LINKREL="up"HREF="part05.htm"TITLE="V. Text Editing "><LINKREL="prev"HREF="part05.htm"TITLE="V. Text Editing "><LINKREL="next"HREF="ch30_02.htm"TITLE="30.2 What We Cover "></HEAD><BODYBGCOLOR="#FFFFFF"TEXT="#000000"><DIVCLASS="htmlnav"><H1><IMGSRC="gifs/smbanner.gif"ALT="UNIX Power Tools"USEMAP="#srchmap"BORDER="0"></H1><MAPNAME="srchmap"><AREASHAPE="RECT"COORDS="0,0,466,58"HREF="index.htm"ALT="UNIX Power Tools"><AREASHAPE="RECT"COORDS="467,0,514,18"HREF="jobjects/fsearch.htm"ALT="Search this book"></MAP><TABLEWIDTH="515"BORDER="0"CELLSPACING="0"CELLPADDING="0"><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172"><ACLASS="PART"HREF="part05.htm"TITLE="V. Text Editing "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: V. Text Editing "BORDER="0"></A></TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><B><FONTFACE="ARIEL,HELVETICA,HELV,SANSERIF"SIZE="-1">Chapter 30</FONT></B></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch30_02.htm"TITLE="30.2 What We Cover "><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 30.2 What We Cover "BORDER="0"></A></TD></TR></TABLE> <HRALIGN="LEFT"WIDTH="515"TITLE="footer"></DIV><DIVCLASS="CHAPTER"><H1CLASS="chapter"><ACLASS="title"NAME="UPT-CHP-30">30. vi Tips and Tricks</A></H1><DIVCLASS="htmltoc"><P><B>Contents:</B><BR><ACLASS="sect1"HREF="#UPT-ART-4990"TITLE="30.1 The vi and ex Editors: Why So Much Material? ">The vi and ex Editors: Why So Much Material? </A><BR><ACLASS="sect1"HREF="ch30_02.htm"TITLE="30.2 What We Cover ">What We Cover </A><BR><ACLASS="sect1"HREF="ch30_03.htm"TITLE="30.3 Mice vs. vi ">Mice vs. vi </A><BR><ACLASS="sect1"HREF="ch30_04.htm"TITLE="30.4 Editing Multiple Files with vi ">Editing Multiple Files with vi </A><BR><ACLASS="sect1"HREF="ch30_05.htm"TITLE="30.5 Edits Between Files ">Edits Between Files </A><BR><ACLASS="sect1"HREF="ch30_06.htm"TITLE="30.6 Local Settings for vi and ex ">Local Settings for vi and ex </A><BR><ACLASS="sect1"HREF="ch30_07.htm"TITLE="30.7 Using Buffers to Move or Copy Text ">Using Buffers to Move or Copy Text </A><BR><ACLASS="sect1"HREF="ch30_08.htm"TITLE="30.8 Get Back What You Deleted with Numbered Buffers">Get Back What You Deleted with Numbered Buffers</A><BR><ACLASS="sect1"HREF="ch30_09.htm"TITLE="30.9 Using Search Patterns and Global Commands">Using Search Patterns and Global Commands</A><BR><ACLASS="sect1"HREF="ch30_10.htm"TITLE="30.10 Confirming Substitutions in ex and vi">Confirming Substitutions in ex and vi</A><BR><ACLASS="sect1"HREF="ch30_11.htm"TITLE="30.11 Keep Your Original File, Write to a New File ">Keep Your Original File, Write to a New File </A><BR><ACLASS="sect1"HREF="ch30_12.htm"TITLE="30.12 Saving Part of a File ">Saving Part of a File </A><BR><ACLASS="sect1"HREF="ch30_13.htm"TITLE="30.13 Appending to an Existing File ">Appending to an Existing File </A><BR><ACLASS="sect1"HREF="ch30_14.htm"TITLE="30.14 Moving Blocks of Text by Patterns ">Moving Blocks of Text by Patterns </A><BR><ACLASS="sect1"HREF="ch30_15.htm"TITLE="30.15 Useful Global Commands (with Pattern Matches) ">Useful Global Commands (with Pattern Matches) </A><BR><ACLASS="sect1"HREF="ch30_16.htm"TITLE="30.16 Counting Occurrences; Stopping Search Wraps ">Counting Occurrences; Stopping Search Wraps </A><BR><ACLASS="sect1"HREF="ch30_17.htm"TITLE="30.17 Capitalizing Every Word on a Line ">Capitalizing Every Word on a Line </A><BR><ACLASS="sect1"HREF="ch30_18.htm"TITLE="30.18 Setting vi Options Automatically for Individual Files">Setting vi Options Automatically for Individual Files</A><BR><ACLASS="sect1"HREF="ch30_19.htm"TITLE="30.19 Modelines: Bug or Feature?">Modelines: Bug or Feature?</A><BR><ACLASS="sect1"HREF="ch30_20.htm"TITLE="30.20 Multiple Editor Setup Files; Starting with a Search ">Multiple Editor Setup Files; Starting with a Search </A><BR><ACLASS="sect1"HREF="ch30_21.htm"TITLE="30.21 Per File Setups in Separate Files ">Per File Setups in Separate Files </A><BR><ACLASS="sect1"HREF="ch30_22.htm"TITLE="30.22 Filtering Text Through a UNIX Command ">Filtering Text Through a UNIX Command </A><BR><ACLASS="sect1"HREF="ch30_23.htm"TITLE="30.23 Safer vi Filter-Throughs ">Safer vi Filter-Throughs </A><BR><ACLASS="sect1"HREF="ch30_24.htm"TITLE="30.24 vi/ex File Recovery vs. Networked Filesystems ">vi/ex File Recovery vs. Networked Filesystems </A><BR><ACLASS="sect1"HREF="ch30_25.htm"TITLE="30.25 vi -r May not Write Recovered Buffer When You Exit ">vi -r May not Write Recovered Buffer When You Exit </A><BR><ACLASS="sect1"HREF="ch30_26.htm"TITLE="30.26 Shell Escapes: Running One UNIX Command While Using Another">Shell Escapes: Running One UNIX Command While Using Another</A><BR><ACLASS="sect1"HREF="ch30_27.htm"TITLE="30.27 vi Compound Searches ">vi Compound Searches </A><BR><ACLASS="sect1"HREF="ch30_28.htm"TITLE="30.28 Keep Track of Functions and Included Files with ctags and tags">Keep Track of Functions and Included Files with ctags and tags</A><BR><ACLASS="sect1"HREF="ch30_29.htm"TITLE="30.29 Setting Multiple tags Files ">Setting Multiple tags Files </A><BR><ACLASS="sect1"HREF="ch30_30.htm"TITLE="30.30 vi Outsmarts Dual-Function Function Keys ">vi Outsmarts Dual-Function Function Keys </A><BR><ACLASS="sect1"HREF="ch30_31.htm"TITLE="30.31 vi Word Abbreviation ">vi Word Abbreviation </A><BR><ACLASS="sect1"HREF="ch30_32.htm"TITLE="30.32 Using vi Abbreviations as Commands (Cut and Paste Between vi's)">Using vi Abbreviations as Commands (Cut and Paste Between vi's)</A><BR><ACLASS="sect1"HREF="ch30_33.htm"TITLE="30.33 Fixing Typos with vi Abbreviations ">Fixing Typos with vi Abbreviations </A><BR><ACLASS="sect1"HREF="ch30_34.htm"TITLE="30.34 vi Line Commands vs. Character Commands ">vi Line Commands vs. Character Commands </A><BR><ACLASS="sect1"HREF="ch30_35.htm"TITLE="30.35 Out of Temporary Space? Use Another Directory ">Out of Temporary Space? Use Another Directory </A><BR><ACLASS="sect1"HREF="ch30_36.htm"TITLE="30.36 The ex Open Mode Can Be Handy ">The ex Open Mode Can Be Handy </A><BR><ACLASS="sect1"HREF="ch30_37.htm"TITLE="30.37 Neatening Lines ">Neatening Lines </A><BR><ACLASS="sect1"HREF="ch30_38.htm"TITLE="30.38 Finding Your Place with Undo ">Finding Your Place with Undo </A></P><P></P></DIV><DIVCLASS="sect1"><H2CLASS="sect1"><ACLASS="title"NAME="UPT-ART-4990">30.1 The vi and ex Editors: Why So Much Material? </A></H2><PCLASS="para">We're giving a lot of pages to the <EMCLASS="emphasis">vi</EM> editor.People who use another editor, like Emacs, might wonder why.Here's why.</P><PCLASS="para">I've watched people (including myself) learn and use <EMCLASS="emphasis">vi</EM> for 15 years.It's the standard editor that comes with almost every UNIX system these days,but most people have no idea that <EMCLASS="emphasis">vi</EM> can do so much.People are surprised, over and over, when I show them features thattheir editor has.Even with its warts, <EMCLASS="emphasis">vi</EM> is a Power Tool.If you work with files, you probably use it constantly.Knowing how to use it well will save you lots of time and work.</P><PCLASS="para">But why not give the same coverage to another editor that lots of peopleuse:<SPANCLASS="link">GNU Emacs (<ACLASS="linkend"HREF="ch32_01.htm#UPT-ART-5540"TITLE="Emacs: The Other Editor ">32.1</A>)</SPAN>?That's because GNU Emacs comes with source code and can be extended bywriting LISP code.Its commands have descriptive names that you can understand by reading througha list.<EMCLASS="emphasis">vi</EM>'s commands are usually no more than a few characters long;many of the option names are short and not too descriptive either.Lots of UNIX systems don't even have <EMCLASS="emphasis">vi</EM> source code these days.</P><PCLASS="para">I hope that you <EMCLASS="emphasis">vi</EM> users will learn a lot in this section,and that people who don't use <EMCLASS="emphasis">vi</EM> will at least browse through tosee some of <EMCLASS="emphasis">vi</EM>'s less obvious features.</P><DIVCLASS="sect1info"><PCLASS="SECT1INFO">- <SPANCLASS="authorinitials">JP</SPAN></P></DIV></DIV></DIV><DIVCLASS="htmlnav"><P></P><HRALIGN="LEFT"WIDTH="515"TITLE="footer"><TABLEWIDTH="515"BORDER="0"CELLSPACING="0"CELLPADDING="0"><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172"><ACLASS="PART"HREF="part05.htm"TITLE="V. Text Editing "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: V. Text Editing "BORDER="0"></A></TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><ACLASS="book"HREF="index.htm"TITLE="UNIX Power Tools"><IMGSRC="gifs/txthome.gif"SRC="gifs/txthome.gif"ALT="UNIX Power Tools"BORDER="0"></A></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch30_02.htm"TITLE="30.2 What We Cover "><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 30.2 What We Cover "BORDER="0"></A></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172">V. Text Editing </TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><ACLASS="index"HREF="index/idx_0.htm"TITLE="Book Index"><IMGSRC="gifs/index.gif"SRC="gifs/index.gif"ALT="Book Index"BORDER="0"></A></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172">30.2 What We Cover </TD></TR></TABLE><HRALIGN="LEFT"WIDTH="515"TITLE="footer"><IMGSRC="gifs/smnavbar.gif"SRC="gifs/smnavbar.gif"USEMAP="#map"BORDER="0"ALT="The UNIX CD Bookshelf Navigation"><MAPNAME="map"><AREASHAPE="RECT"COORDS="0,0,73,21"HREF="../index.htm"ALT="The UNIX CD Bookshelf"><AREASHAPE="RECT"COORDS="74,0,163,21"HREF="index.htm"ALT="UNIX Power Tools"><AREASHAPE="RECT"COORDS="164,0,257,21"HREF="../unixnut/index.htm"ALT="UNIX in a Nutshell"><AREASHAPE="RECT"COORDS="258,0,321,21"HREF="../vi/index.htm"ALT="Learning the vi Editor"><AREASHAPE="RECT"COORDS="322,0,378,21"HREF="../sedawk/index.htm"ALT="sed & awk"><AREASHAPE="RECT"COORDS="379,0,438,21"HREF="../ksh/index.htm"ALT="Learning the Korn Shell"><AREASHAPE="RECT"COORDS="439,0,514,21"HREF="../lrnunix/index.htm"ALT="Learning the UNIX Operating System"></MAP></DIV></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -