on 2020-11-20 14:32:57.427866
  • technology
  • software

1.The Vim Way Tip 1. Meet the Dot Command: ., x, u, dd, >G, i,

Tip 2. Don’t Repeat Yourself: $, a, A Tip 3. Take One Step Back, Then Three Forward: f{char}, s, ; Tip 4. Act, Repeat, Reverse: F{char}/T{char}, /pattern, :s/target/replacement Tip 5. Find and Replace by Hand: /target, , nn, cw Tip 6. Meet the Dot Formula: One key to move, One key to execute

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: db, b, dw, daw Tip 10. Use Counts to Do Simple Arithmetic: , , yyp, cw, cW Tip 11. Don’t Count If You Can Repeat: d2w/W, 2dw/W, dw. Tip 12. Combine and Conquer: gu, gU, y, d, c, =

3. Insert Mode

Tip 13. Make Corrections Instantly from Insert Mode: , , Tip 14. Get Back to Normal Mode: , , , zz Tip 15. Paste from a Register Without Leaving Insert Mode: yt,, 0 Tip 16. Do Back-of-the-Envelope Calculations in Place: = Tip 17. Insert Unusual Characters by Character Code: ga, , <C-k Tip 18. Insert Unusual Characters by Digraph: {char1}{char2} Tip 19. Overwrite Existing Text with Replace Mode: R, gR, r, gr

4. Visual Mode Tip 20. Grok Visual Mode: viw, c

Tip 21. Define a Visual Selection: v, V, , gv, o, e Tip 22. Repeat Line-Wise Visual Commands: <, > Tip 23. Prefer Operators to Visual Commands Where Possible: vit, U Tip 24. Edit Tabular Data with Visual-Block Mode: 3j, r, yyp 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: :, , , {register}

Tip 28. Execute a Command on One or More Consecutive Lines: :print, :digit, :$, :3p, :3d, :2,5p, ., :%p, :%s/old/new/, '<, '>, ://,/<\/html>/p Tip 29. Duplicate or Move Lines Using ‘:t’ and ‘:m’ Commands: :copy :co :t, :move :m, dGp Tip 30. Run Normal Mode Commands Across a Range: :normal, %normal A;, %normal i// Tip 31. Repeat the Last Ex Command: :@:, :@@, :bn[ext], :bp[revious], Tip 32. Tab-Complete Your Ex Commands: :col Tip 33. Insert the Current Word at the Command Prompt: Tip 34. Recall Commands from History: q:, Tip 35. Run Commands in the Shell: :!ls, :ls, :!ruby %, :shell, , jobs, fg, :read !{cmd}, :write !{cmd}, :[range]!{cmd/filter}, :2,$!sort -t',' -k2, !{motion}, !G

Part II — Files

6. Manage Multiple Files Tip 36. Track Open Files with the Buffer List: :bnext, :ls, , :bprev, :bfirst, :blast, :buffer N, :buffer {bufname}, :bufdo, :argdo, :bd[elete]

Tip 37. Group Buffers into a Collection with the Argument List: :args {arglist} Tip 38. Manage Hidden Files: :wirte, :edit!, qall!, :wall, Tip 39. Divide Your Workspace into Split Windows: s, v, :edit, :close, :only Tip 40. Organize Your Window Layouts with Tab Pages: :lcd{path}, :tabe[dit] {filename}, :tabmove [N]

7. Open Files and Save Them to Disk Tip 41. Open a File by Its Filepath Using ':edit': :edit %, :edit %:h

Tip 42. Open a File by Its Filename Using ':find': :find, :set path+=app/** Tip 43. Explore the File System with netrw: :edit ., :e., :Explore, :E. Tip 44. Save Files to Nonexistent Directories: , :!mkdir -p %:h Tip 45. Save a File as the Super User: :w !sudo tee % > /dev/null

Part III — Getting Around Faster

8. Navigate Inside Files with Motions Tip 46. Keep Your Fingers on the Home Row: h,j,k,l

Tip 47. Distinguish Between Real Lines and Display Lines: gj, gk, g0, g$, g^ Tip 48. Move Word-Wise: w, b, e, ge, ea, gea, W, cW Tip 49. Find by Character: f{char}, ;, ,, F{char}, t{char}, T{char}, dt. Tip 50. Search to Navigate: /{char}, n, N Tip 51. Trace Your Selection with Precision Text Objects: vi}, a", i", at, it Tip 52. Delete Around, or Change Inside: iw, iW, is, ip, aw, aW, as, ap Tip 53. Mark Your Place and Snap Back to It: m{a-zA-Z}, '{mark} Tip 54. Jump Between Matching Parentheses: %, S"

9. Navigate Between Files with Jumps Tip 55. Traverse the Jump List: ,

Tip 56. Traverse the Change List: :changes, ., ^ Tip 57. Jump to the Filename Under the Cursor: gf Tip 58. Snap Between Files Using Global Marks: :vimgrep

Part IV — Registers ##10. Copy and Paste Tip 59. Delete, Yank, and Put with Vim’s Unnamed Register: x, p, xp, dd, ddp, yyp, P, diw Tip 60. Grok Vim’s Registers: "{register}, "ayiw, "bdd, "ap, "bp, :delete c, :put c, ""p, "0P, :reg "0, "_d{motion}, "+, "+p + Tip 61. Replace a Visual Selection with a Register: m{char}, `{char} Tip 62. [Paste from a Register]({register}, p, P, gp, gP Tip 63. Interact with the System Clipboard: :set pastetoggle=

11. Macros Tip 64. Record and Execute a Macro: q, q{register}, :reg a, @{register}, @@

Tip 65. Normalize, Strike, Abort: number@a Tip 66. Play Back with a Count: qq;.q Tip 67. Repeat a Change on Contiguous Lines: 0, :normal @a Tip 68. Append Commands to a Macro: qa, qA Tip 69. Act Upon a Collection of Files: gg/class, :argdo, :edit!, :argdo normal @a, :argdo write, :wall, :wnext Tip 70. Evaluate an Iterator to Number Items in a List: :let i=0, :echo i, =i Tip 71. Edit the Contents of a Macro: ~, vU, :put a

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 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


Sean on 23 May 2015, 10:40AM

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.

Strong Strong on 21 May 2015, 11:40AM

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.

Emma Stone on 30 May 2015, 9:40PM

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.

Nick Nilson on 30 May 2015, 9:40PM

Cras sit amet nibh libero, in gravida nulla. Nulla vel metus scelerisque ante sollicitudin commodo. Cras purus odio, vestibulum in vulputate at, tempus viverra turpis.

Leave A Comment