Mastering the Vim Language

แชร์
ฝัง
  • เผยแพร่เมื่อ 30 ก.ย. 2024

ความคิดเห็น • 407

  • @aprameyanaganur2934
    @aprameyanaganur2934 3 ปีที่แล้ว +303

    The thing thats special about vim as a text editor is that people who use it hold entire meetups about it

    • @strictnonconformist7369
      @strictnonconformist7369 2 ปีที่แล้ว +27

      Is it just an incredible text editor or a software-based religion?

    • @aprameyanaganur2934
      @aprameyanaganur2934 2 ปีที่แล้ว +23

      @@strictnonconformist7369 I would have said both, but vim is not so much a religion as it is a way of life

    • @ansonc9218
      @ansonc9218 2 ปีที่แล้ว +30

      @@aprameyanaganur2934 ah so a cult got it

    • @johnyepthomi892
      @johnyepthomi892 2 ปีที่แล้ว +12

      vim is for consistency in your writing or editing process. Say what you want about it but it’s usefulness cannot be questioned.

    • @aprameyanaganur2934
      @aprameyanaganur2934 2 ปีที่แล้ว +8

      @@johnyepthomi892 totally agree. I myself use vim as my text editor (well, neovim)

  • @abhishes
    @abhishes 5 ปีที่แล้ว +485

    He matched his shirt with the VIM logo :)

    • @azharsayyad8246
      @azharsayyad8246 4 ปีที่แล้ว +10

      Congratulations your mastered in vim😂

    • @jagtenleo3551
      @jagtenleo3551 3 ปีที่แล้ว

      @@azharsayyad8246 haha

    • @PREMChannel
      @PREMChannel 3 ปีที่แล้ว

      LOL

    • @AnandRaj-pq4wu
      @AnandRaj-pq4wu 3 ปีที่แล้ว +1

      good observation

    • @alex_steed8472
      @alex_steed8472 3 ปีที่แล้ว +1

      You Vim does not edit text it edits users.

  • @victormartins-software3912
    @victormartins-software3912 4 ปีที่แล้ว +129

    This talk was a huge break through for me: "Vim is a language where operators act on text objects." BOOOM thank you :D

  • @richard11935
    @richard11935 4 ปีที่แล้ว +47

    I just woke up from a nap, left youtube on and now im learning a strange language.

  • @joshuarose20
    @joshuarose20 ปีที่แล้ว +29

    Even 8 years later, people are still finding great value in these videos. Cheers, Chris.

  • @baovu4062
    @baovu4062 5 ปีที่แล้ว +634

    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

    • @tuannvm
      @tuannvm 5 ปีที่แล้ว +1

      thanks

    • @StephenRayner
      @StephenRayner 5 ปีที่แล้ว +1

      Cheers

    • @nzuckman
      @nzuckman 5 ปีที่แล้ว +1

      Bless

    • @Helionitial
      @Helionitial 5 ปีที่แล้ว +1

      awesome!

    • @jh0720
      @jh0720 5 ปีที่แล้ว +1

      My man

  • @zapy422
    @zapy422 5 ปีที่แล้ว +52

    I also learned new youtube shortcuts trying to apply the commands here

  • @RT-eb6vo
    @RT-eb6vo 2 ปีที่แล้ว +3

    I actually pressed b to wind this video back... I vote youtube starts supporting Vi commands!

  • @antoniodosreisfeitosaneto7553
    @antoniodosreisfeitosaneto7553 5 ปีที่แล้ว +65

    Vim is a great tool since .. ever. I woul add the 'z' core commands to the list of things I miss in every other editor I use. z puts the current line on the top of the screen. z- puts the current line as the last one of the screen. And z. scrolls the text so that the current line go the cneter of the screen. So useful for positioning text on the screen

    • @picosdrivethru
      @picosdrivethru 4 ปีที่แล้ว +4

      @FichDichInDemArsch dont forget z. = zz but in half the time since you can hit z. almost at once ;D

    • @oredaze
      @oredaze 2 ปีที่แล้ว +3

      I didn't know there is a duplicate of zt(top) and zb(bottom), which does the same thing you described :)

    • @antoniodosreisfeitosaneto7553
      @antoniodosreisfeitosaneto7553 2 ปีที่แล้ว +2

      @@oredaze these 3 commands are there since the AT&T Unix System V in the 80's z. z and z-. There were no zt or zb so these may have been added later for some reason.

  • @donaldli1864
    @donaldli1864 5 ปีที่แล้ว +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.

  • @TonMachielsen
    @TonMachielsen 5 ปีที่แล้ว +68

    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.

    • @operandexpanse
      @operandexpanse 2 ปีที่แล้ว +4

      Same here. Although I felt that I liked Vim, I could never understand why people chose it over something like vscode. I suspected the reason people chose and bragged about using Vim was largely due to ego, but I am finally seeing a clearer explanation which makes more sense to me.

  • @hbirtt
    @hbirtt 5 ปีที่แล้ว +27

    5 years later, and this is still great stuff, it's all still accurate and current, and I still learned something I didn't know. That's Vim, isn't it?

    • @michaelthompson7217
      @michaelthompson7217 5 ปีที่แล้ว +4

      Harley Burton “it’s all still accurate and current”
      Well it’s like 20+ years old 😂

  • @mmlvx
    @mmlvx 8 หลายเดือนก่อน +3

    At 23:53 -- "Relative number's got you covered, absolutely" -- that made me laugh a lot. 😀

  • @internetperson2
    @internetperson2 5 ปีที่แล้ว +16

    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

  • @paultwocock5421
    @paultwocock5421 3 ปีที่แล้ว +2

    Vim, if u you're absolutely beginner
    This book "vim from wtf to omg" will be useful for you

  • @MmmBopsPops
    @MmmBopsPops 5 ปีที่แล้ว +47

    Been using vim for well over 7 years now and still learned a lot from this. Like he said - never reach the ceiling.

  • @bingbong3221
    @bingbong3221 2 ปีที่แล้ว +10

    I've officially switched to (neo)vim this past week. My previous IDE of choice was IntelliJ IDEA so it was a huge jump and took me awhile to let go, but I finally did it and I'm so happy about it!

    • @thp4983
      @thp4983 10 หลายเดือนก่อน

      The ideavim plugin is great for IDEA. vim is great but its not an IDE, and sometimes you need an IDE.

  • @slavoie
    @slavoie 6 ปีที่แล้ว +19

    This was a great presentation, thank you! Of course there wasn't enough time to cover most of what Vim can do, so here are a couple of topics that have been left out, sorted in alphabetical order because it's easy to do with Vim :) :
    - "*", "#", "{", "}", "[", "]", "(", ")", "$", "%", "=", "``", " ' ' " (without spaces), "^", "0", "," (comma), ";", "n", "N", CTRL+D, CTRL+U, CTRL+F, CTRL+B, etc.
    - ":digraphs" to insert any fancy character.
    - ":e!" to revert to the last saved state of the file.
    - "CTRL+D" and "TAB" in command mode to autocomplete commands!
    - "CTRL+V" in normal mode to visually select "blocks" of text (horizontal and vertical selection character-wise) → motions can be applied to visual selection too, for example "v", then "w", then "fo", "/search_term" to select up to search_term, etc.
    - "q:" to display history of normal mode commands (not ":q" which quits).
    - Abbreviations
    - Alternatives based on Vim (Spacemacs, SpaceVim, Neovim, spaceneovim, ONI... The integrated terminal features in Neovim are wonderful and ONI is quite promising too!)
    - Applying custom settings in configuration file (colorcolumn, cursorline, linebreak, tabstop, smartcase, hidden... And hundreds of other settings)
    - Buffers and applying commands to them (bufdo, :bn, :bp, :bf, :blast, :b#, :ls)
    - CTRL+Z to exit Vim and type terminal command. "fg" to go back to Vim. Quick and practical!
    - Color schemes! I really enjoy solarized, PaperColor and gruvbox.
    - Completion in insert mode (CTRL+X + CTRL+N or many other combinations to complete words from file, from dictionary, from filenames in working directory, etc.)
    - Custom functions (toggle highlights, search and replace specific text, etc.)
    - Custom mappings for pretty much anything
    - Folds (za, zM, zR...)
    - GUI versions (GVim, MacVim)
    - Git integration (the plugin vim-fugitive is extremely useful!)
    - Jumps (CTRL+O, CTRL+I, CTRL+], CTRL+T, etc.)
    - Macros & normal commands applied on a range → Very powerful! Examples at vim.wikia.com/wiki/Macros (which is also a good resource for many other topics about Vim)
    - Marks → very convenient to jump back to location in file or even multiple files (m[LETTER], '[LETTER], `[LETTER])
    - More Ex commands!!! For example ":%d" to delete everything in current file, ":%y" to yank everything, etc.
    - More basic commands like yyp, xp, dd, gg, G, W, e, E, A, I, CTRL+R to redo, C, B, p, P, S, s, R, r, gUU to UPPERCASE whole line, guu to lowercase whole line...
    - More plugins! → ALE for linting, jedi for autocompletion, vim-airline, vim-easymotion, comfortable-motion.vim, fzf for fuzzy file finder, nerdtree for displaying files in tree, etc.
    - Plugins managers (vim-plug, pathogen, Vundle, etc.)
    - Positioning the cursor (H, M, L, zz, zt, zb, etc.)
    - Registers (:registers, working with registers, editing macros, yank register, black hole register, search register, expression register, etc.)
    - Run external Bash commands with ":!". Also very cool with ":read !" which will output the result of the command in the buffer.
    - Shortcuts in insert mode (CTRL+R for registers, CTRL+W to delete a word backwards, CTRL+U to delete "everything" in the line backwards, CTRL+H to delete a character backwards, CTRL+V to insert literal characters like escape, enter, tab, etc.)
    - Spelling feature for many languages and custom dictionaries (find spelling errors with "[s" or "]s", add word to dictionary with "zg", remove word with "zw", correct spelling mistake with "z=", etc.)
    - Splitting and managing windows (CTRL+W + CTRL+), ":split", ":vsplit", resizing, rotating windows, moving between windows, etc.
    - Substitute & Global commands with incredible REGEX expressions
    - TMUX, Terminator or other terminal integrations to work exclusively and efficiently from terminal.
    - Tabs (:tabNext, :tabclose, :tabdo, :tabedit, :tabfirst, :tablast, :tabmove, :tabnew, :tabonly, gt, gT)
    - UP and DOWN arrow keys in command mode for history of searches and commands.
    - Vimtutor to start learning from scratch
    - vim-adventures.com or openvim.com for online learning
    For all else, Vim has a VERY extensive help system with bars navigation (CTRL+]) → accessible by typing ":h" without quotes, then enter. And most importantly, how to quit Vim: ":qall!" (or variants), then enter ;).

    • @anteconfig5391
      @anteconfig5391 5 ปีที่แล้ว

      Damn. Thanks man.

    • @leo848
      @leo848 2 ปีที่แล้ว

      Thanks, how do I save this comment?

    • @vikingthedude
      @vikingthedude 11 หลายเดือนก่อน

      amazing

  • @cMaXeJIJIo
    @cMaXeJIJIo 8 ปีที่แล้ว +119

    I actually lost count how many times I've watched this presentation! It's what got me into VIM, big time. So, thank you, Chris Toomey! You do some good work, too, haha!
    I have a little update on Tim Pope's Commentary plugin. It now uses a different syntax than when this video was made:
    g + c + l = comment out a line;
    g + c + j = comment one line down;
    gcgc = uncomment(Uncomments a whole block of text if it was commented out in one motion, a paragraph, for example)
    Many thanks for providing the presentation video, guys!

    • @m.y.s4260
      @m.y.s4260 4 ปีที่แล้ว

      same here~

    • @cMaXeJIJIo
      @cMaXeJIJIo 3 ปีที่แล้ว +2

      @nerd bruh, this shit is eternal, haha!

  • @mangelozzi
    @mangelozzi 4 ปีที่แล้ว +11

    Great talk! I learnt so much. At 31:53 we actually do have language for a line, its called `_`. `c_` is shorter than `cil` and doesn't require a plugin (works with dot repeat too).

    • @MikeRosseel
      @MikeRosseel 4 ปีที่แล้ว +2

      `cc` seems to work too

    • @JanuszSp
      @JanuszSp ปีที่แล้ว

      You can just use 'S' to substitute the entire line as opposed to small 's' that substitutes a character.

  • @kenwood7195
    @kenwood7195 2 ปีที่แล้ว +1

    Hope Apple is donating some of their mega profits to Vim charities seeing their users are getting Vim for the same price as people who use Linux.

  • @Scrumpylungs
    @Scrumpylungs 3 ปีที่แล้ว +5

    24:20 "Now we get into the fun stuff" he says, 20+ mins into an incredibly fun talk! Already know by this point that I'm switching to vim full time 💯

  • @normalmighty
    @normalmighty 5 ปีที่แล้ว +12

    This is so good as a tutorial! I had given up because no matter how many people swore by vim, I could never remember a single command. I think this if finally giving me the intro I need to understand the logic of these commands and get somewhere without staring at a cheat sheet!

    • @lastmanstanding5423
      @lastmanstanding5423 5 ปีที่แล้ว +1

      type _vimtutor_ in the terminal and repeat it 50 times until something sticks... that's what I did... :)

  • @kennadelaney5134
    @kennadelaney5134 2 ปีที่แล้ว +2

    Could please anyone tell me the font and theme he used in this video? Thanks!

  • @Baalzemor
    @Baalzemor 9 ปีที่แล้ว +107

    Not sure if you have found this out by now or not, but I seen you delete a character, then type its lowercase for an example.
    If you hover the character, and hit ~ it will invert the case. It's pretty useful in my opinion!

    • @michaelbruce4987
      @michaelbruce4987 7 ปีที่แล้ว +2

      Nice!

    • @ianpan0102
      @ianpan0102 6 ปีที่แล้ว +2

      Thanks for the tip! Very useful!

    • @VictorRodriguez-zp2do
      @VictorRodriguez-zp2do 5 ปีที่แล้ว +1

      Wow I hace being using gUl or gul, I didn't know there was a faster way of doing it

    • @olegsergiyuk2219
      @olegsergiyuk2219 5 ปีที่แล้ว +10

      Also try to hover the number, any digit within it and type "Ctrl-a" or "Ctrl-x", this will increase or decrease entire number accordingly.
      I was thinking can also be a cool feature to hover over word "true" for example, and be able to convert it to "false" :).

    • @isAif47
      @isAif47 4 ปีที่แล้ว

      U for uppercase or u for lowercase works too. :-)

  • @KeiranOLeary
    @KeiranOLeary 6 ปีที่แล้ว +20

    I reckon that this video is the best intro to vim I've found. It worked for me, and I've shared it numerous times, I believe it takes people from "interested" to "all in". So well done!!

  • @nicholasreid5005
    @nicholasreid5005 4 ปีที่แล้ว +7

    I'm getting into managing Linux and open-source software so tutorials like this are invaluable.

  • @SaHaRaSquad
    @SaHaRaSquad 6 ปีที่แล้ว +10

    Wow, I knew about "inner" only in combination with brackets etc., but didn't imagine it working with words and paragraphs. He is right indeed, there's no ceiling.

  • @ammarm7
    @ammarm7 8 ปีที่แล้ว +40

    I love how passionate you are when explaining, thanks for the tutorial man

  • @debbahisaad109
    @debbahisaad109 2 ปีที่แล้ว +1

    I use vim from time to time on the command line to edit a file for minor changes... but frankly, being realistic, when coding, I'm on vscode, Qt editor, pycharm for python with all the typing and syntax tools available... especially OOP members highlighting... does it make sens to go for vim? I think it would be more efficient to have the few text operations available in the gui through the "visual perception of the user" and leave the text typing of commands and logic Part of the user's thinking dedicated only to main goal ie. Programming, building the logic and writing down code. And that's what a decent gui code editor offers, and definitely during all the development process the main task is not using gui or vi, vim in the trickiest most advanced fancy way but to just write code around efficient logic... and at the end of the day, on delivery, it brings in no additional trophy to state under which editor it was written vi, vim or gui editor ... the text would've been the same. In my opinion.

    • @atmeshwarsingh
      @atmeshwarsingh 2 ปีที่แล้ว

      I use vim extension inside vscode 😄

  • @4am4i
    @4am4i 8 ปีที่แล้ว +15

    What a great dive into a Zen of VIm. And relative numbers is something that i was missing for so long not knowing it was there all the time

  • @BowlineDandy
    @BowlineDandy 7 ปีที่แล้ว +23

    inner word ====== mind blown

  • @varunrao2931
    @varunrao2931 5 ปีที่แล้ว +8

    So clearly explained, very smooth presentation, talks about best practices, and core principles of vim

  • @digitus888
    @digitus888 11 หลายเดือนก่อน +2

    Even after 8 years, this is still a great video (like the resources, Chris mentioned in the video). I‘ve watched it for about 4 times over the last year and every time it gives me some additional extra(I am using vim as my main editor for 14 years now). This is because it is packed so densely with information, it is almost impossible to get everything the first time. For a non native speaker, slowing down the video to 0.75 helps a lot 😉 Thanks Chris!

  • @olegsergiyuk2219
    @olegsergiyuk2219 5 ปีที่แล้ว +5

    'f' - stands for 'following' and 't' for 'till' the char, word, whatever ;)

  • @d74g0n
    @d74g0n 5 ปีที่แล้ว +5

    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.

  • @haxpor
    @haxpor 6 ปีที่แล้ว +1

    I took note about commands presented in this talk exclude the plugins part at gist.github.com/haxpor/e559a652480b5094353f5dad3f165dba.

  • @jamesharland3727
    @jamesharland3727 8 ปีที่แล้ว +58

    Really useful. I'm a linguist not a programmer and I use vim every day. I really like the idea here of vim as a language, and realized that's how I learn(ed) it - I think "change two words" and type 2cw automatically. I see the point about using text objects rather than movements though for the sake of repeatability - that's my big take-home from this video. Thank you!

    • @okuno54
      @okuno54 8 ปีที่แล้ว +9

      +James Harland Huh, I didn't expect 2cw to work, but it does; I always use c2w

    • @jamesharland3727
      @jamesharland3727 8 ปีที่แล้ว +5

      Yup, both work. I read somewhere about the logic being different, but they both lead to the same result.

    • @jamesharland3727
      @jamesharland3727 3 ปีที่แล้ว +1

      @nerd Hey, yep, every day.

    • @willd0g
      @willd0g 4 หลายเดือนก่อน

      @@okuno54thank goodness thats much inline semantically with how i say it mentally in my head so i will definitely not be forgetting this. Ta

  • @josephmbimbi
    @josephmbimbi 4 ปีที่แล้ว +5

    just wow !
    I've been using vim very casually here and there. I knew there was more under the hood but i wouldn't have thought that much.
    Time to practice to learn and incorporate those !

  • @joaquingumucio2758
    @joaquingumucio2758 8 ปีที่แล้ว +13

    Can we have the links to the mentioned plugins added to the video description please?

    • @GodsAutobiography
      @GodsAutobiography 5 ปีที่แล้ว

      Sadly, it seems we can not.

    • @christoomey2240
      @christoomey2240 5 ปีที่แล้ว +5

      Sorry about the (very) late reply, but you can! ctoomey.com/mastering-the-vim-language-slides.pdf has all the details and links

  • @trombone7
    @trombone7 4 ปีที่แล้ว +3

    Dude. I'm like :
    Am I taking crazy pills ?
    Is this dude talking about that same text deal I used for editing the /etc/vfstab in Sun's Solaris OS back in like 2003 ?
    . . . Whoa.

  • @angela_jx
    @angela_jx 5 ปีที่แล้ว +2

    I think any talk can never really do vim justice. You can’t know how powerful the commands can be unless you use them. That’s why I think anyone serious about programming should give vim a couple weeks of try. Vim is really different from any other text editor so you’re not going to be a pro on it in a day. In fact you’re probably not even gonna be able to move around probably for a couple hours at best but that’s fine. Just like you said, the effort really does pay off in the end

  • @ianpan0102
    @ianpan0102 6 ปีที่แล้ว +6

    Such a great speaker -- very calming and straight to the point.

  • @pranshusrivastava8740
    @pranshusrivastava8740 4 ปีที่แล้ว +2

    Just here for the intro music

  • @DubsDavid
    @DubsDavid 5 ปีที่แล้ว +2

    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.

  • @sealwithawkwardness3951
    @sealwithawkwardness3951 2 ปีที่แล้ว +1

    I use vim on vscode using an extension, it’s got the power of search and editing from vim as well as all the capabilities of vscode. Haven’t looked back since

  • @dev2bhai
    @dev2bhai 7 ปีที่แล้ว +3

    Great talk man, I am vim user but I rediscovered power of vim by knowing vim better. Thanks buddy.
    NOTE: I was so into the language I had tried to use some of them by mistake while typing this language. ;-)

  • @user26912
    @user26912 6 ปีที่แล้ว +7

    You can find a second or nth instance of o with `2fo` or `fo`.

    • @wogandmush
      @wogandmush 5 ปีที่แล้ว

      @@ProfesorCafe number

  • @KensterInSilico
    @KensterInSilico 6 ปีที่แล้ว +3

    Biggest takeaways were working with text objects and making commands repeatable. Great video. Thanks!

  • @neonblood4658
    @neonblood4658 4 ปีที่แล้ว +2

    Where and how can I get the full version of the jazz intro music!?

  • @Psicoeducazione
    @Psicoeducazione 5 ปีที่แล้ว +3

    I've been using vim since 2012, and now, thanks to your presentation, I understand why.

  • @stofstik
    @stofstik 9 ปีที่แล้ว +3

    25:43 To keep html tag attributes do cst

  • @mangelozzi
    @mangelozzi 4 ปีที่แล้ว +1

    mnemonic: f/F -> Find, t/T -> Til (goes up unTil the thing it finds)

  • @michaelnajera7958
    @michaelnajera7958 4 ปีที่แล้ว +1

    Xcode sucks just a little less with Vim pluggin. Thank you Vim.

  • @SukSukulent
    @SukSukulent 2 ปีที่แล้ว +1

    I have used vim for something around a year and a half and I love it, I knew with the diw and dip operations, but the cs" ' blew my head right off!

  • @abhinavgujjar3841
    @abhinavgujjar3841 2 ปีที่แล้ว +2

    This talk really gets into the soul of vim. Thinking about repeatabilty made a lot of sense.

  • @johnc3403
    @johnc3403 4 ปีที่แล้ว +1

    Coronavirus is coming but i want to learn to touchtype and use vim so my thoughts become commands. Ya know? It shouldn't be typing a command to do stuff, it should be THINKING a command and it's done, ..and i mean thinking in a subconscious sense. Really, not thinking at all. Vim with touchtyping lets you work at the speed of thought. I'm just about there and it's exciting as all fuck! For the first time, i literally feel like my thoughts are controlling the editor.... fucking awesome!

  • @dsaboo7654
    @dsaboo7654 6 ปีที่แล้ว +2

    wow, this is a super cool and easy-to-follow learner friendly introduction to the basics of Vim. Really thank you! Clap, clap, clap!

  • @AlexNiebla
    @AlexNiebla 8 ปีที่แล้ว +2

    Great great talk. I have one doubt (silly, surely), when Chris talks about Indent, Entire, Line, and Ruby Block plugins, does he say the keystrokes are: cm a i (for Indent), cm a e and dae (for Entire), c a l (when talking about Line) and c m a r (when Ruby Block)? my doubt is, what does that "a" do in those commands? What is the difference between "i" and "a" when deleting a sentence "d i s" vs "d a s"?,. Ok I figured it out, "i" is only the inner content, and "a" affects the content and the container, cool.

  • @Usertrappedindatabase
    @Usertrappedindatabase 4 ปีที่แล้ว +1

    i'm getting little shots of dopamine and 'ah ha!' moments constantly while watching this. I'm going to commit to VIM, I love the idea of just thinking through stuff and not having to get distracted by bells and whistles, just pure efficiency...

  • @haxpor
    @haxpor 6 ปีที่แล้ว +2

    So clever for relative line number.
    Set these two lines in .vimrc
    set relativenumber " show relative line number
    set number " show current actual line number

    • @SqAtx
      @SqAtx 5 ปีที่แล้ว

      I also have those lines in my .vimrc:
      " Show absolute numbers when in insert mode or losing focus
      :augroup numbertoggle
      : autocmd!
      : autocmd BufEnter,FocusGained,InsertLeave * set relativenumber
      : autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber
      :augroup END
      I think it's a nice addition :) I only need relative numbers in the file I'm currently working on

  • @BrutusPalmeira
    @BrutusPalmeira 5 ปีที่แล้ว +3

    That is a great MiC, here I was thinking oh boy, we gonna hear the big gulp when he was about to drink his water, but ...nothing..... no gulp noise. Ok back to VIM

    • @michaelthompson7217
      @michaelthompson7217 5 ปีที่แล้ว

      BrutusPalmeira it wasnt a mic attached to his body which prob helped

    • @thoughtbot
      @thoughtbot  5 ปีที่แล้ว +2

      Good mic, good editor, whatevs 🤷‍♀️

  • @teeew-fp2ty
    @teeew-fp2ty 3 หลายเดือนก่อน

    "Typing is not the bottleneck." I discovered this just recently. I've been focusing on speed, but in hindsight I didn't solve problems faster, but introduced bugs faster only to spend more time trying to solve them. Vim had me somehow realize this. After 20+ years of computers and now switching to Linux, these tools (vim, the terminal, cli tools, basically Linux in general) opens a new way to experience computers. Funny is I realized why do I need a dedicated IDE? Linux IS an IDE you configure entierly yourself.

  • @01MeuCanal
    @01MeuCanal 5 ปีที่แล้ว +2

    Vim should at least start with Insert mode default, this way everybody could start with it in a more intuitive way and slowly learn the keyboard commands.

    • @kartikchauhan5498
      @kartikchauhan5498 5 ปีที่แล้ว +3

      I hear you mate. That's why I've set `alias vim="vim +startinsert"` in my .bashrc. Now vim opens in insert mode by default.

  • @jacobvartuli507
    @jacobvartuli507 5 ปีที่แล้ว +2

    Where can I find the resources given in this talk? I figured they'd be in the description.

    • @thoughtbot
      @thoughtbot  5 ปีที่แล้ว

      We've added them to the description, and can be found here: ctoomey.com/mastering-the-vim-language-slides.pdf

  • @luckyboy20021
    @luckyboy20021 4 ปีที่แล้ว +2

    I watch it every months, and still have something to learn.

  • @marvin674
    @marvin674 3 ปีที่แล้ว +1

    Great dude! Nice talk. Been using vim inside VSCode for a while now and didn't know about the dot operator. That is game changing

    • @Nik-rx9rj
      @Nik-rx9rj 2 ปีที่แล้ว

      Yeah, I’ll be using that one a lot

  • @serhiicho
    @serhiicho 5 ปีที่แล้ว +3

    I came back to this video after 10 months to say that after I've watched this video I started using Vim as a plugin for VS Code. It was a pain for the first month. But now I can't work without it. It makes my life as a developer so easier. I'm sure I'll be using it for the rest of my life. Love Vim.

    • @serhiicho
      @serhiicho 5 ปีที่แล้ว +1

      And now I'm starting slowly transition from VSCode to real Vim with bunch of plugins.

    • @tyafizi
      @tyafizi 2 ปีที่แล้ว

      @@serhiicho Have you switched from vscode to vim? And if so, what did you get from it?

    • @serhiicho
      @serhiicho 8 หลายเดือนก่อน

      @@tyafizi I didn't, still using VSCode with VIM plugin. It's easier for me

  • @thegoodkidboy7726
    @thegoodkidboy7726 2 ปีที่แล้ว

    thoughtbot? More like
    Get-get-get-get, got-got-got-got
    Blood rush to my head lit hot lock
    Poppin' off the fuckin' block knot
    Clockin' wrist slit watch bent thought bot.
    Am I right?

  • @techtutorials8812
    @techtutorials8812 4 ปีที่แล้ว

    Technically speaking, f/F, t/T, and / are *motions*, not *text objects*.

  • @n_x1891
    @n_x1891 3 ปีที่แล้ว

    At first, I was like; why would I waste time learning all these commands? Then it occured to me that I'm an idiot assuming the commands wouldn't be perfectly logical and intuitive. Oops. Time to learn vim!
    And now I'm immediately thinking I want everything to use vim commands.

  • @Anvilshock
    @Anvilshock 4 ปีที่แล้ว

    Mastering is the wrong word. It's more like submitting, succumbing, or perishing to. Se also: endure, suffer; torture, insanity, madness

  • @tjbihh
    @tjbihh 7 ปีที่แล้ว +3

    Awesome talk: thank you! I've been using Vim for a few years and still learnt a bunch of stuff from this

  • @jackfrasiercomedy5942
    @jackfrasiercomedy5942 6 ปีที่แล้ว

    SublimeWhat?
    Oh, that's pretty.
    Yeah, I use Vim.
    ...Bitches.

  • @LinuxLuddite
    @LinuxLuddite 5 ปีที่แล้ว +5

    this is wholesome.

  • @jebwatson
    @jebwatson 2 ปีที่แล้ว

    Yeeeeeeeeah... I'm definitely learning Vim now. I shudder at how much time I've wasted as a SWE up to this point.

  • @tripathi26
    @tripathi26 4 ปีที่แล้ว +1

    Started with VIM today. This is very informative. Thank you!

  • @majoraslayer64
    @majoraslayer64 2 ปีที่แล้ว

    VIM is how Linux elitists answer questions from Linux n00bs online to ruin their entire day and make them go back to using Windows.

  • @gfixler
    @gfixler 2 ปีที่แล้ว

    I know this is 5 years later, but... @31:36 - "...don't really have a good way to describe the text starting from the g..." If you have autoindent set (:set ai) then cc will change the line starting from the first non-whitespace character.

  • @jackfrosterton2530
    @jackfrosterton2530 4 ปีที่แล้ว +1

    There's a 7 hour course about vim for beginners on udemy and it is fantastic imo. a recommendation for any noobs

  • @orlovskyconsultinggbr2849
    @orlovskyconsultinggbr2849 4 ปีที่แล้ว

    people and what about screen command, me personaly i dont care all that grindy stuff....

  • @danieldosen5260
    @danieldosen5260 8 ปีที่แล้ว +3

    what's that clipboard utility you're using?

    • @danieldosen5260
      @danieldosen5260 8 ปีที่แล้ว +7

      +Daniel Dosen found it.. flycut

  • @aftak
    @aftak 10 หลายเดือนก่อน

    very good talk. Good advice on sticking to the basics and going crazy on plugins

  • @Narwaro
    @Narwaro 7 ปีที่แล้ว +1

    I do not want to sound puristic but I do not even use line numbers at all. I just habe the ruler on that is enough most of the time. Search is your friend. I am still fast and effortless nonetheless.

  • @mohamedyamani8502
    @mohamedyamani8502 ปีที่แล้ว

    Is it a coincidence that Chris wore a shirt that's "a sortie" with Vim's logo? xD

  • @auntiecarol
    @auntiecarol 5 ปีที่แล้ว +2

    I'm putting down the Emacs (org-mode), and backing away slowly.... wish me luck!

    • @esra_erimez
      @esra_erimez 5 ปีที่แล้ว

      +1

    • @iroveashe
      @iroveashe 4 ปีที่แล้ว

      how did it go?

    • @auntiecarol
      @auntiecarol 2 ปีที่แล้ว

      @@iroveashe Emacs +evil FTW! Best of both worlds. W/ CapsLock mapped to Esc when tapped and Ctrl when held.

  • @ArchitecturalAesthetics2046
    @ArchitecturalAesthetics2046 3 ปีที่แล้ว

    didn't know about the indent, entire custom text objects, was suprised to find out it works out of the box with vscodevim. thanks for this talk.

  • @sh1pme2themune9
    @sh1pme2themune9 4 ปีที่แล้ว +1

    I think I’ve watched this four times now, and I learn something new each time.

  • @Kittana1498
    @Kittana1498 4 ปีที่แล้ว +1

    This is a great talk. The way you described what makes it worth learning is so spot on. It applies to use of emacs as well!

  • @rutwikhiwalkar9583
    @rutwikhiwalkar9583 3 ปีที่แล้ว

    I can't believe I've wasted soo many years using all these IDEs

  • @ricardorien
    @ricardorien 3 ปีที่แล้ว +1

    So powerful. Thanks for this talk!

  • @VibhavSinha
    @VibhavSinha 8 ปีที่แล้ว +2

    Please provide the talk notes containing the links for plugins which are mentioned

    • @squintygreeneyes
      @squintygreeneyes 5 ปีที่แล้ว

      Vibhav Sinha i feel like vim should only allow you to install plug-ins once you have mastered everything else built-in infinitely more powerful

  • @asadsalehumar1011
    @asadsalehumar1011 4 ปีที่แล้ว +1

    I just commited my heart to learn Vim, thanks Chris

  • @JenChiehShen
    @JenChiehShen 3 ปีที่แล้ว

    A lot of my friend use vim but they don't even read English.

  • @danieldosen5260
    @danieldosen5260 8 ปีที่แล้ว +2

    great talk! you made me realize I was using visual mode as a huge crutch!

  • @McFly.
    @McFly. 2 ปีที่แล้ว

    oh wow. vim is so simple. d means delete and w means word. so dw means delete word. so surely cw will copy a word… right?

  • @mixcocam
    @mixcocam 8 ปีที่แล้ว +1

    Title case is a move in a nice direction. Using VIM as a word processor for prose or LATEX is very nice and there are few plugins for this type of use.

    • @t33can
      @t33can 8 ปีที่แล้ว

      +Rodrigo Camacho yeah, I think my days on Texmaker are counted.

  • @alissonpelcer4317
    @alissonpelcer4317 3 ปีที่แล้ว

    This video + $ vimtutor = success granted

  • @faizunisajazadi8732
    @faizunisajazadi8732 2 ปีที่แล้ว

    Great video, good to know about visual mode smell