practical vim - the pragmatic programmermedia.pragprog.com/titles/dnvim/toc.pdf · practical vim...

9
Extracted from: Practical Vim Edit Text at the Speed of Thought This PDF file contains pages extracted from Practical Vim, published by the Prag- matic Bookshelf. For more information or to purchase a paperback or PDF copy, please visit http://www.pragprog.com. Note: This extract contains some colored text (particularly in code listing). This is available only in online versions of the books. The printed versions are black and white. Pagination might vary between the online and printer versions; the content is otherwise identical. Copyright © 2012 The Pragmatic Programmers, LLC. All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. The Pragmatic Bookshelf Dallas, Texas • Raleigh, North Carolina

Upload: hoangngoc

Post on 27-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

Extracted from:

Practical VimEdit Text at the Speed of Thought

This PDF file contains pages extracted from Practical Vim, published by the Prag-matic Bookshelf. For more information or to purchase a paperback or PDF copy,

please visit http://www.pragprog.com.

Note: This extract contains some colored text (particularly in code listing). Thisis available only in online versions of the books. The printed versions are blackand white. Pagination might vary between the online and printer versions; the

content is otherwise identical.

Copyright © 2012 The Pragmatic Programmers, LLC.

All rights reserved.

No part of this publication may be reproduced, stored in a retrieval system, or transmitted,in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise,

without the prior consent of the publisher.

The Pragmatic BookshelfDallas, Texas • Raleigh, North Carolina

Many of the designations used by manufacturers and sellers to distinguish their productsare claimed as trademarks. Where those designations appear in this book, and The PragmaticProgrammers, LLC was aware of a trademark claim, the designations have been printed ininitial capital letters or in all capitals. The Pragmatic Starter Kit, The Pragmatic Programmer,Pragmatic Programming, Pragmatic Bookshelf, PragProg and the linking g device are trade-marks of The Pragmatic Programmers, LLC.

Every precaution was taken in the preparation of this book. However, the publisher assumesno responsibility for errors or omissions, or for damages that may result from the use ofinformation (including program listings) contained herein.

Our Pragmatic courses, workshops, and other products can help you and your team createbetter software and have more fun. For more information, as well as the latest Pragmatictitles, please visit us at http://pragprog.com.

The team that produced this book includes:

Kay Keppler (editor)Potomac Indexing, LLC (indexer)Molly McBeath (copyeditor)David J. Kelly (typesetter)Janet Furlow (producer)Juliet Benda (rights)Ellie Callahan (support)

Copyright © 2012 The Pragmatic Bookshelf.All rights reserved.

No part of this publication may be reproduced, stored in a retrieval system, ortransmitted, in any form, or by any means, electronic, mechanical, photocopying,recording, or otherwise, without the prior consent of the publisher.

Printed in the United States of America.ISBN-13: 978-1-934356-98-2Encoded using the finest acid-free high-entropy binary digits.Book version: P1.0—September 2012

Contents

Acknowledgments . . . . . . . . . . . ?

Foreword . . . . . . . . . . . . . . ?

Read Me . . . . . . . . . . . . . . ?

Read the Forgotten Manual . . . . . . . . . ?

1. The Vim Way . . . . . . . . . . . . . ?Tip 1. Meet the Dot Command ?Tip 2. Don’t Repeat Yourself ?Tip 3. Take One Step Back, Then Three Forward ?Tip 4. Act, Repeat, Reverse ?Tip 5. Find and Replace by Hand ?Tip 6. Meet the Dot Formula ?

Part I — Modes

2. Normal Mode . . . . . . . . . . . . . ?Tip 7. Pause with Your Brush Off the Page ?Tip 8. Chunk Your Undos ?Tip 9. Compose Repeatable Changes ?Tip 10. Use Counts to Do Simple Arithmetic ?Tip 11. Don’t Count If You Can Repeat ?Tip 12. Combine and Conquer ?

3. Insert Mode . . . . . . . . . . . . . ?Tip 13. Make Corrections Instantly from Insert Mode ?Tip 14. Get Back to Normal Mode ?Tip 15. Paste from a Register Without Leaving Insert Mode ?Tip 16. Do Back-of-the-Envelope Calculations in Place ?Tip 17. Insert Unusual Characters by Character Code ?

Tip 18. Insert Unusual Characters by Digraph ?Tip 19. Overwrite Existing Text with Replace Mode ?

4. Visual Mode . . . . . . . . . . . . . ?Tip 20. Grok Visual Mode ?Tip 21. Define a Visual Selection ?Tip 22. Repeat Line-Wise Visual Commands ?Tip 23. Prefer Operators to Visual Commands Where Possible ?Tip 24. Edit Tabular Data with Visual-Block Mode ?Tip 25. Change Columns of Text ?Tip 26. Append After a Ragged Visual Block ?

5. Command-Line Mode . . . . . . . . . . . ?Tip 27. Meet Vim’s Command Line ?Tip 28. Execute a Command on One or More Consecutive

Lines ?Tip 29. Duplicate or Move Lines Using ‘:t’ and ‘:m’ Commands ?Tip 30. Run Normal Mode Commands Across a Range ?Tip 31. Repeat the Last Ex Command ?Tip 32. Tab-Complete Your Ex Commands ?Tip 33. Insert the Current Word at the Command Prompt ?Tip 34. Recall Commands from History ?Tip 35. Run Commands in the Shell ?

Part II — Files

6. Manage Multiple Files . . . . . . . . . . . ?Tip 36. Track Open Files with the Buffer List ?Tip 37. Group Buffers into a Collection with the Argument

List ?Tip 38. Manage Hidden Files ?Tip 39. Divide Your Workspace into Split Windows ?Tip 40. Organize Your Window Layouts with Tab Pages ?

7. Open Files and Save Them to Disk . . . . . . . ?Tip 41. Open a File by Its Filepath Using ‘:edit’ ?Tip 42. Open a File by Its Filename Using ‘:find’ ?Tip 43. Explore the File System with netrw ?Tip 44. Save Files to Nonexistent Directories ?Tip 45. Save a File as the Super User ?

Contents • vi

Part III — Getting Around Faster

8. Navigate Inside Files with Motions . . . . . . . ?Tip 46. Keep Your Fingers on the Home Row ?Tip 47. Distinguish Between Real Lines and Display Lines ?Tip 48. Move Word-Wise ?Tip 49. Find by Character ?Tip 50. Search to Navigate ?Tip 51. Trace Your Selection with Precision Text Objects ?Tip 52. Delete Around, or Change Inside ?Tip 53. Mark Your Place and Snap Back to It ?Tip 54. Jump Between Matching Parentheses ?

9. Navigate Between Files with Jumps . . . . . . . ?Tip 55. Traverse the Jump List ?Tip 56. Traverse the Change List ?Tip 57. Jump to the Filename Under the Cursor ?Tip 58. Snap Between Files Using Global Marks ?

Part IV — Registers

10. Copy and Paste . . . . . . . . . . . . ?Tip 59. Delete, Yank, and Put with Vim’s Unnamed Register ?Tip 60. Grok Vim’s Registers ?Tip 61. Replace a Visual Selection with a Register ?Tip 62. Paste from a Register ?Tip 63. Interact with the System Clipboard ?

11. Macros . . . . . . . . . . . . . . ?Tip 64. Record and Execute a Macro ?Tip 65. Normalize, Strike, Abort ?Tip 66. Play Back with a Count ?Tip 67. Repeat a Change on Contiguous Lines ?Tip 68. Append Commands to a Macro ?Tip 69. Act Upon a Collection of Files ?Tip 70. Evaluate an Iterator to Number Items in a List ?Tip 71. Edit the Contents of a Macro ?

Contents • vii

Part V — Patterns

12. Matching Patterns and Literals . . . . . . . . ?Tip 72. Tune the Case Sensitivity of Search Patterns ?Tip 73. Use the \v Pattern Switch for Regex Searches ?Tip 74. Use the \V Literal Switch for Verbatim Searches ?Tip 75. Use Parentheses to Capture Submatches ?Tip 76. Stake the Boundaries of a Word ?Tip 77. Stake the Boundaries of a Match ?Tip 78. Escape Problem Characters ?

13. Search . . . . . . . . . . . . . . ?Tip 79. Meet the Search Command ?Tip 80. Highlight Search Matches ?Tip 81. Preview the First Match Before Execution ?Tip 82. Count the Matches for the Current Pattern ?Tip 83. Offset the Cursor to the End of a Search Match ?Tip 84. Operate on a Complete Search Match ?Tip 85. Create Complex Patterns by Iterating upon Search

History ?Tip 86. Search for the Current Visual Selection ?

14. Substitution . . . . . . . . . . . . . ?Tip 87. Meet the Substitute Command ?Tip 88. Find and Replace Every Match in a File ?Tip 89. Eyeball Each Substitution ?Tip 90. Reuse the Last Search Pattern ?Tip 91. Replace with the Contents of a Register ?Tip 92. Repeat the Previous Substitute Command ?Tip 93. Rearrange CSV Fields Using Submatches ?Tip 94. Perform Arithmetic on the Replacement ?Tip 95. Swap Two or More Words ?Tip 96. Find and Replace Across Multiple Files ?

15. Global Commands . . . . . . . . . . . ?Tip 97. Meet the Global Command ?Tip 98. Delete Lines Containing a Pattern ?Tip 99. Collect TODO Items in a Register ?Tip 100. Alphabetize the Properties of Each Rule in a CSS File ?

Contents • viii

Part VI — Tools

16. Index and Navigate Source Code with ctags . . . . . ?Tip 101. Meet ctags ?Tip 102. Configure Vim to Work with ctags ?Tip 103. Navigate Keyword Definitions with Vim’s Tag Navigation

Commands ?

17. Compile Code and Navigate Errors with the Quickfix List . . ?Tip 104. Compile Code Without Leaving Vim ?Tip 105. Browse the Quickfix List ?Tip 106. Recall Results from a Previous Quickfix List ?Tip 107. Customize the External Compiler ?

18. Search Project-Wide with grep, vimgrep, and Others . . . ?Tip 108. Call grep Without Leaving Vim ?Tip 109. Customize the grep Program ?Tip 110. Grep with Vim’s Internal Search Engine ?

19. Dial X for Autocompletion . . . . . . . . . ?Tip 111. Meet Vim’s Keyword Autocompletion ?Tip 112. Work with the Autocomplete Pop-Up Menu ?Tip 113. Understand the Source of Keywords ?Tip 114. Autocomplete Words from the Dictionary ?Tip 115. Autocomplete Entire Lines ?Tip 116. Autocomplete Filenames ?Tip 117. Autocomplete with Context Awareness ?

20. Find and Fix Typos with Vim’s Spell Checker . . . . . ?Tip 118. Spell Check Your Work ?Tip 119. Use Alternate Spelling Dictionaries ?Tip 120. Add Words to the Spell File ?Tip 121. Fix Spelling Errors from Insert Mode ?

21. Now What? . . . . . . . . . . . . . ?21.1 Keep Practicing! ?21.2 Make Vim Your Own ?21.3 Know the Saw, Then Sharpen It ?

Contents • ix

A1. Customize Vim to Suit Your Preferences . . . . . . ?A1.1 Change Vim’s Settings on the Fly ?A1.2 Save Your Configuration in a vimrc File ?A1.3 Apply Customizations to Certain Types of Files ?

Index . . . . . . . . . . . . . . . ?

Contents • x