Language

Mastering the Vim Language



thoughtbot

Chris Toomey talks about mastering the Vim language. Vim’s core is the amazing command mappings and text objects that allow for countless combinations to define precise edits. Learn how to master the built-in commands, motions, and text objects, and even how to extend the Vim language for even more power!

Slides: https://ctoomey.com/mastering-the-vim-language-slides.pdf .(tagsToTranslate)thoughtbot(t)meetup(t)nyc(t)Vim (Software)

Source

Similar Posts

26 thoughts on “Mastering the Vim Language
  1. 4:35 the language (basics)
    5:36 repeatable & undoable
    6:48 verbs/operators in vim
    8:21 nouns in vim – motions
    9:05 nouns in vim – text objects
    12:18 nouns in vim – parameterized text objects (find/search)
    16:33 where to learn/read
    18:35 tips for mastering the language
    20:35 relative number
    22:45 visual mode is a smell
    24:18 custom operators (from plugins)
    24:42 tpope/vim-surround
    26:02 tpope/vim-commentary
    26:48 vim-scripts/ReplaceWithRegister
    27:41 christoomey/vim-titlecase
    28:21 christoomey/sort-motion
    28:57 christommey/system-copy
    29:52 custom nouns (objects)
    30:03 michaeljsmith/vim-indent-object
    31:08 kana/vim-textobj-entire
    30:30 kana/vim-textobj-line
    both requires kana/vim-textobj-user
    32:15 ruby block
    33:30 Finding more custom text objects

  2. I've been looking for a long time why I would have to learn vim and why people are so enthusiastic about it. This is the first video that explains exactly that instead of trying to convince me to use an archaic editor on my graphical OS. Very good video. Very clear. This makes learning vim a lot easier as well now that I understand this.

  3. Funnily enough the 1st example is incorrect…"dw" does not stand for delete a word but for delete till next word.
    It means that if the cursor is not placed at the beginning of the word to delete it won't work (the 1st part of the word will remain).
    Use "daw" to delete a word with the cursor placed anywhere in the word to delete.

  4. well that explains that. Now i guess ima be vim guy…. cause neato, i thought it was just a good way to troll new linux users who need to edit config files. absolute genius.

  5. Me : The last thing I need in my life is one more tool to learn, I should focus on solving problems, Sigh and clicks anyway.
    Chris : 2000 commands memorizing 30 intuitive things
    Me : Aight keep talking

  6. 31:48 is is just cc in vim.
    vim actually makes you think a lot since there are many ways to do the same thing. Not only are you thinking about the code you have to write but how control the cursor most efficiently, not sure if this every goes away but it can be really bad in the early stages as you learn more and more ways of doing things.

    For example there are 3 different ways to scroll. Again, there's no one mental model for something as simple as scrolling the page. Something I find much better is map half and full page scroll to <nop> and map <c-e>/<c-y> to 8<c-e>/8<c-y>. e and y don't move the cursor position unless they have to. free-up 4 ctrl key mappings. easier to keep track of whats happening when you hold down scroll. speaking of..
    I recommend setting up a really high polling rate and really low pause before repeat. helps across the board.

    relative line numbering can cause significant slowdown in some terminals but really only an issue if you're working in an environment where you can only use a shell.
    I don't use it for deletes or changes I'm paranoid and not sure typed the right number. I prefer V then blank line motion since there's no thinking, its fast(the blank line is almost always where I need to d/c to) and I can visually confirm the delete. I suck at typing letters and prefer small font so it certainly feels slower to trace down the relative line number (carefully scanning across) then type (but most often mistyping). easy motion or searching for unique sequence of characters in the area I need to go seems more fluid to me.

    My desert island plugins are fzf and ferret(though, it doesnt work on windows). easy motion takes care of all cursor movement but just searching for the most unique string of letters in the spot you want to go seems more fluid. I wish I could recommend a code completion plugin or ctags/ctags plugin (since its vim's biggest issue for me personally) but I've tried several, several different times and they always have issues. Most other plugins are minor conveniences that could be added in a 1 line or little function (for the specific feature you actually make use of from the plugin)

  7. The Unix folks rolled out some really cool tools: vi awk sed… On the contrary, Microsoft rolled out wasteful conventions: file path delimiter with back slash, space in file path. I have to deal with these craps everyday, it's a huge waste of human mind.

Comments are closed.

WP2Social Auto Publish Powered By : XYZScripts.com