⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch30_17.htm

📁 the unix power tools
💻 HTM
字号:
<HTML><!--Distributed by F --><HEAD><TITLE>[Chapter 30] 30.17 Capitalizing Every Word on a Line </TITLE><METANAME="DC.title"CONTENT="UNIX Power Tools"><METANAME="DC.creator"CONTENT="Jerry Peek, Tim O'Reilly &amp; Mike Loukides"><METANAME="DC.publisher"CONTENT="O'Reilly &amp; Associates, Inc."><METANAME="DC.date"CONTENT="1998-08-04T21:45:30Z"><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="ch30_01.htm"TITLE="30. vi Tips and Tricks"><LINKREL="prev"HREF="ch30_16.htm"TITLE="30.16 Counting Occurrences; Stopping Search Wraps "><LINKREL="next"HREF="ch30_18.htm"TITLE="30.18 Setting vi Options Automatically for Individual Files"></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="SECT1"HREF="ch30_16.htm"TITLE="30.16 Counting Occurrences; Stopping Search Wraps "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: 30.16 Counting Occurrences; Stopping Search Wraps "BORDER="0"></A></TD><TDALIGN="CENTER"VALIGN="TOP"WIDTH="171"><B><FONTFACE="ARIEL,HELVETICA,HELV,SANSERIF"SIZE="-1">Chapter 30<BR>vi Tips and Tricks</FONT></B></TD><TDALIGN="RIGHT"VALIGN="TOP"WIDTH="172"><ACLASS="SECT1"HREF="ch30_18.htm"TITLE="30.18 Setting vi Options Automatically for Individual Files"><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 30.18 Setting vi Options Automatically for Individual Files"BORDER="0"></A></TD></TR></TABLE>&nbsp;<HRALIGN="LEFT"WIDTH="515"TITLE="footer"></DIV><DIVCLASS="SECT1"><H2CLASS="sect1"><ACLASS="title"NAME="UPT-ART-0149">30.17 Capitalizing Every Word on a Line </A></H2><PCLASS="para"><ACLASS="indexterm"NAME="AUTOID-33504"></A><ACLASS="indexterm"NAME="AUTOID-33507"></A><ACLASS="indexterm"NAME="AUTOID-33510"></A>Are you typing the title of an article or something else that needsan uppercase letter at the start of every word?Do you need to capitalize some text that isn't?It can be tedious to press the SHIFT key as you enter the text, or touse <CODECLASS="literal">~</CODE> (tilde) and <CODECLASS="literal">w</CODE> commands to change the text.The command below capitalizes the first character of every word.</P><PCLASS="para"><TABLECLASS="screen.co"BORDER="1"><TR><THVALIGN="TOP"><PRECLASS="calloutlist"><ACLASS="co"HREF="ch26_04.htm"TITLE="26.4 Using Metacharacters in Regular Expressions ">\&lt;</A> <ACLASS="co"HREF="ch26_10.htm"TITLE="26.10 Pattern Matching Quick Reference with Examples ">\u</A> </PRE></TH><TDVALIGN="TOP"><PRECLASS="screen">:<CODECLASS="userinput"><B>s/\&lt;./\u&amp;/g</B></CODE></PRE></TD></TR></TABLE></P><PCLASS="para">(You might be wondering why we didn't use <CODECLASS="literal">:s/\&lt;[a-z]/\u&amp;/g</CODE>to match lowercase letters.The <CODECLASS="literal">&lt;.</CODE> actually matches the first character of <EMCLASS="emphasis">every</EM> word,but the <CODECLASS="literal">\u</CODE> will only affect letters.So, unless you only want to capitalize certain letters,<CODECLASS="literal">&lt;.</CODE> is enough.)</P><PCLASS="para">The example above does only the current line.You can add a range of lines after the colon.For example, to edit all lines in the file:</P><PCLASS="para"><TABLECLASS="screen.co"BORDER="1"><TR><THVALIGN="TOP"><PRECLASS="calloutlist"><ACLASS="co"HREF="ch33_03.htm"TITLE="33.3 Line Addressing ">%</A> </PRE></TH><TDVALIGN="TOP"><PRECLASS="screen"><CODECLASS="userinput"><B>:%s/\&lt;./\u&amp;/g</B></CODE></PRE></TD></TR></TABLE></P><PCLASS="para">To do the current line and the next five, use:</P><PCLASS="para"><TABLECLASS="screen.co"BORDER="1"><TR><THVALIGN="TOP"><PRECLASS="calloutlist"><ACLASS="co"HREF="ch33_03.htm"TITLE="33.3 Line Addressing ">.,+5</A> </PRE></TH><TDVALIGN="TOP"><PRECLASS="screen"><CODECLASS="userinput"><B>:.,+5s/\&lt;./\u&amp;/g</B></CODE></PRE></TD></TR></TABLE></P><PCLASS="para">To make the first character of each word uppercase (with <CODECLASS="literal">\u</CODE>)and the rest lowercase (with <CODECLASS="literal">\L</CODE>), try:</P><PCLASS="para"><TABLECLASS="screen.co"BORDER="1"><TR><THVALIGN="TOP"><PRECLASS="calloutlist"><ACLASS="co"HREF="ch26_10.htm"TITLE="26.10 Pattern Matching Quick Reference with Examples ">\(...\)...\1</A> </PRE></TH><TDVALIGN="TOP"><PRECLASS="screen"><CODECLASS="userinput"><B>:s/\&lt;\(.\)\([A-Za-z]*\)\&gt;/\u\1\L\2/g</B></CODE></PRE></TD></TR></TABLE></P><PCLASS="para">The command above doesn't convert the back ends of words with hyphens(like <EMCLASS="emphasis">CD-ROM</EM>) or apostrophes (like <EMCLASS="emphasis">O'Reilly</EM>) to lowercase.That's because the <CODECLASS="literal">[A-Za-z]*\&gt;</CODE> only matches words whose secondthrough last characters are all letters.You can add a hyphen or an apostrophe to make that expression match morewords, if you'd like.</P><PCLASS="para">Those commands can be a pain to type.If you use one of them a lot, try putting it in a<SPANCLASS="link">keymap (<ACLASS="linkend"HREF="ch31_02.htm"TITLE="Save Time and Typing with the vi map Commands ">31.2</A>)</SPAN>.</P><DIVCLASS="sect1info"><PCLASS="SECT1INFO">- <SPANCLASS="authorinitials">JP</SPAN></P></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="SECT1"HREF="ch30_16.htm"TITLE="30.16 Counting Occurrences; Stopping Search Wraps "><IMGSRC="gifs/txtpreva.gif"SRC="gifs/txtpreva.gif"ALT="Previous: 30.16 Counting Occurrences; Stopping Search Wraps "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_18.htm"TITLE="30.18 Setting vi Options Automatically for Individual Files"><IMGSRC="gifs/txtnexta.gif"SRC="gifs/txtnexta.gif"ALT="Next: 30.18 Setting vi Options Automatically for Individual Files"BORDER="0"></A></TD></TR><TR><TDALIGN="LEFT"VALIGN="TOP"WIDTH="172">30.16 Counting Occurrences; Stopping Search Wraps </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.18 Setting vi Options Automatically for Individual Files</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 &amp; 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 + -