$30 off During Our Annual Pro Sale. View Details »

Hidden features of your Vim plugins

Hidden features of your Vim plugins

We have a lot of Vim plugins from which we usually use only their main functionality. But if you read through their documentation, you may uncover secret gems that might be useful.

Janko Marohnić

October 24, 2014
Tweet

More Decks by Janko Marohnić

Other Decks in Programming

Transcript

  1. Hidden features of
    your Vim plugins
    janko-m @jankomarohnic

    View Slide

  2. vim-commentary

    View Slide

  3. View Slide

  4. gc

    View Slide

  5. View Slide

  6. gcu

    View Slide

  7. View Slide

  8. vim-eunuch

    View Slide

  9. • :Remove
    • deletes the file
    • deletes the buffer
    • :Move
    • moves the file
    • “moves” the buffer
    • :Mkdir
    • creates current’s buffer directory

    View Slide

  10. • :SudoEdit

    :SudoWrite
    • “handy when you forgot to use sudo to invoke Vim”

    View Slide

  11. vim-fugitive

    View Slide

  12. • “A Git wrapper so awesome it should be illegal”
    • :Gstatus
    • opens an interactive `git status`window
    • :Glog
    • loads commit messages into quickfix
    • :Gblame
    • opens an interactive `git blame` window

    View Slide

  13. • :Gmerge
    • without arguments loads conflicted files into a
    quickfix

    View Slide

  14. vim-unimpaired

    View Slide

  15. • Very intuitive mappings for common actions
    • List traversal
    • [q – :cnext

    ]q – :cprevious
    • Quickfix, Buffer, Location, Tag list
    • [n – next conflict marker

    ]n – previous conflict marker
    • Option toggling
    • [ow ]ow – toggle ‘wrap’
    • [os ]os – toggle ‘spell’
    • [or ]or – toggle ‘relativenumber’

    View Slide

  16. • [x – XML (HTML) encode

    ]x – XML (HTML) decode
    • [u – URL encode

    ]u – URL decode
    • [y – C String encode

    ]y – C String decode

    View Slide

  17. View Slide

  18. [x

    View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. [u

    View Slide

  23. View Slide

  24. vim-surround

    View Slide

  25. • Surrounds text with delimiters
    • “text”

    ‘text’

    (text)

    {text}

    [text]


    • Create/change/delete “surroundings”
    • works with Vim’s “text objects”
    • Intuitive mappings
    • ysiw” = you surround inner word with “
    • ds” = delete surrounding “
    • csip[{ = change surrounding of inner paragraph from [ to {

    View Slide

  26. View Slide

  27. View Slide

  28. Shift-S + t

    View Slide

  29. View Slide

  30. View Slide

  31. vim-projectionist

    View Slide

  32. • Connection between files
    • Alternate (:A)
    • app/models/user.rb ⟷ spec/models/user_spec.rb
    • Related (:R)
    • app/models/user.rb ⟷ db/schema.rb
    • Assign compilers
    • :make → rspec|cucumber|bundle

    View Slide

  33. :Econtroller home

    View Slide

  34. :Emodel user

    View Slide

  35. :Eservice register_user

    View Slide

  36. View Slide

  37. :Econtroller home

    View Slide

  38. Read documentation
    It’s usually really awesome in Vim world

    View Slide