Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Path to Jedi Text Editing With VIM - Padawan Edition

November 13, 2013

The Path to Jedi Text Editing With VIM - Padawan Edition

Introduction to VIM :) (presented in dev friday at Medius)


November 13, 2013

More Decks by Jaime

Other Decks in Programming


  1. • Edit text at the speed of light • Precise

    like a surgeon • 100% keyboard driven • It’s on every platform • Highly configurable • Very extensible via plugins • Great documentation • It’s free • Worthwhile long-term investment (since 1991/1976)
  2. “You are a surgeon performing emergency surgery.” “That’s how I

    feel when I am using Vim” “With very precise moves and using the right tools you quickly slice, extract, and inject new code.” “Laying on the bed is the patient, your code. “
  3. • Maximize what you can do with as few keystrokes

    as possible • It’s all about editing text efficiently • VIM Modes By using different modes you avoid the need to use weird combinations
  4. • You spend more time editing and manipulating text than

    writing it in the first place • That’s why the initial mode is the NORMAL mode
  5. • The most important things are at the tip of

    your fingers You can move around right from the home row
  6. • Vim commands build upon each other with outstanding results

    d delete a character dw delete a word d2w delete two words
  7. • Vim commands build upon each other with outstanding results

    d2wword delete two (operator, count, motion)
  8. • i -> insert mode, ESC back to normal mode

    • x -> delete character • dd -> delete current line (and copy) • p -> paste • y -> copy character (yank) • yy -> copy current line • hjkl -> mode around (←↓↑→) • :help <command> • :w -> save, :q -> quit, :wq -> save and quit
  9. 1. Learn more commands! 2. Combine operators, counts and motions

    3. Commands in caps are big versions of commands in lower case 4. The .(dot) command repeats the last change 5. The search and find commands 6. The visual mode 7. Code completion 8. Macros
  10. • a -> instead after character (append) • w ->

    go to the beginning of next word (word) • b -> go to the beginning of last work (back) • e -> go to the end of next word (end) • u -> undo last change (undo) • cw -> change word • o -> insert new line after the current one • gg -> go to the beginning of the document • $ -> go to the end of the line, 0 -> go to the beginning of the line
  11. • c2w -> change two words • d$ -> delete

    until the end of the line • daw -> delete all word (word and whitespace around it) • d2p -> delete two paragraphs • dt) -> delete until the parenthesis (not incluse) • di” -> delete inside quotes • da” -> delete inside quotes and quotes • % -> go to matching bracket • d2/hello -> delete until second occurrence of hello
  12. • I -> insert at the beginning of the line

    • A -> append at the end of the line • D -> delete until the end of the line (shortcut for d$) • C -> change until the end of the line • O -> new line before the current line • G -> go to the end of the file • J -> append previous line
  13. • Vim is design to tackle repetition • Use the

    . command to repeat the last change • Use <counter>. to repeat the last command • Learn which combos are more repeatable
  14. • /<regex> to seach for patterns (e.g. /hello) • n

    for next occurrence • N for previous occurrence • * runs search for word under cursor • f<character> find next occurrence of character in current line • ; next character in same line • , previous character in same line • F<character> find but in reverse • t<character>, like f but sets the cursor before the character
  15. • The visual mode lets you select text and perform

    operations on that selection • v -> go into visual mode with character selection • V -> go into visual mode with line selection • <C-v> -> go into visual mode with block selection • Useful for instance for: • J -> join all lines together • < > -> add indentation • = -> autoindent
  16. • You can record useful chains of commands for later

    use • Use q to start recording a macro • Type register where to store macro • Record macro • Save macro with q • If they are really useful you can save them permanently
  17. • ReSharper is very keyboard friendly • Use ReSharper for

    macro refactorings • Use Vim for micro changes and moving around
  18. Vim is a fast and efficient text editor that will

    make you a faster and more efficient developer. It’s available on almost every OS—if you master the techniques in this book, you’ll never need another text editor. In more than 100 Vim tips, you’ll quickly learn the editor’s core functionality and tackle your trickiest editing and writing tasks. It’s Maciej Certified!