Practical Vim, Second Edition
Practical Vim, Second Edition
This PDF file contains pages extracted from Practical Vim, Second Edition, published
by the Pragmatic 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 printed versions; the
content is otherwise identical.
Copyright © 2015 The Pragmatic Programmers, LLC.
Drew Neil
Acknowledgments . . . . . . . . . . . ?
Foreword to the First Edition . . . . . . . . . ?
Read Me . . . . . . . . . . . . . . ?
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 ?
Contents • vi
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 ?
Tip 36. Run Multiple Ex Commands as a Batch ?
Part II — Files
6. Manage Multiple Files . . . . . . . . . . . ?
Tip 37. Track Open Files with the Buffer List ?
Tip 38. Group Buffers into a Collection with the Argument
List ?
Tip 39. Manage Hidden Files ?
Tip 40. Divide Your Workspace into Split Windows ?
Tip 41. Organize Your Window Layouts with Tab Pages ?
Contents • vii
Part IV — Registers
10. Copy and Paste . . . . . . . . . . . . ?
Tip 60. Delete, Yank, and Put with Vim’s Unnamed
Register ?
Tip 61. Grok Vim’s Registers ?
Tip 62. Replace a Visual Selection with a Register ?
Tip 63. Paste from a Register ?
Tip 64. Interact with the System Clipboard ?
Contents • viii
11. Macros . . . . . . . . . . . . . . ?
Tip 65. Record and Execute a Macro ?
Tip 66. Normalize, Strike, Abort ?
Tip 67. Play Back with a Count ?
Tip 68. Repeat a Change on Contiguous Lines ?
Tip 69. Append Commands to a Macro ?
Tip 70. Act Upon a Collection of Files ?
Tip 71. Evaluate an Iterator to Number Items in a List ?
Tip 72. Edit the Contents of a Macro ?
Part V — Patterns
12. Matching Patterns and Literals . . . . . . . . ?
Tip 73. Tune the Case Sensitivity of Search Patterns ?
Tip 74. Use the \v Pattern Switch for Regex Searches ?
Tip 75. Use the \V Literal Switch for Verbatim Searches ?
Tip 76. Use Parentheses to Capture Submatches ?
Tip 77. Stake the Boundaries of a Word ?
Tip 78. Stake the Boundaries of a Match ?
Tip 79. Escape Problem Characters ?
13. Search . . . . . . . . . . . . . . ?
Tip 80. Meet the Search Command ?
Tip 81. Highlight Search Matches ?
Tip 82. Preview the First Match Before Execution ?
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. Count the Matches for the Current Pattern ?
Tip 87. Search for the Current Visual Selection ?
14. Substitution . . . . . . . . . . . . . ?
Tip 88. Meet the Substitute Command ?
Tip 89. Find and Replace Every Match in a File ?
Tip 90. Eyeball Each Substitution ?
Tip 91. Reuse the Last Search Pattern ?
Tip 92. Replace with the Contents of a Register ?
Tip 93. Repeat the Previous Substitute Command ?
Tip 94. Rearrange CSV Fields Using Submatches ?
Contents • ix
Part VI — Tools
16. Index and Navigate Source Code with ctags . . . . . ?
Tip 102. Meet ctags ?
Tip 103. Configure Vim to Work with ctags ?
Tip 104. Navigate Keyword Definitions with Vim’s Tag
Navigation Commands ?
17. Compile Code and Navigate Errors with the Quickfix List . . ?
Tip 105. Compile Code Without Leaving Vim ?
Tip 106. Browse the Quickfix List ?
Tip 107. Recall Results from a Previous Quickfix List ?
Tip 108. Customize the External Compiler ?
Index . . . . . . . . . . . . . . . ?