Vim: Tutorial on Editing, Navigation, and File Management (2018)
HTML-код
- Опубликовано: 26 июн 2024
- How to efficiently edit, navigate, and manage files in Vim! This talk will provide a basic overview on how you can begin to start using Vim like a pro 😎 without any plugins involved!
This is a talk I gave on using Vim effectively designed for users of all experience levels. Unlike most talks on the same topic, this talk has been made to be as interactive and visual as possible to allow for a more seamless learning process.
Every topic and demo is outlined below:
0:00 Intro
3:29 Why Vim?
7:00 Demo 1 - Impractical Vim Usage
9:10 Operators, Text Objects, Motions
12:44 Demo 2 - Practical Vim Usage with Operators, Text Objects, Motions
14:52 Advanced Navigation
15:55 Advanced Navigation - Scrolling and Other Motions
16:48 Advanced Navigation - Editing
17:36 Advanced Navigation - Searching
18:04 Advanced Navigation - Marks
18:41 Advanced Navigation - Tags
19:15 Advanced Navigation - Jumplist / Changelist
20:22 Demo 3 - Practical Vim Usage with Advanced Navigation
29:32 Project Management
30:50 Project Management - Buffers
32:28 Project Management - Windows
33:02 Project Management - Tabs
34:06 Demo 4 - Practical Vim Usage with Project Management (Vim as an IDE)
43:36 Clipboard Synchronization
48:17 Hotkeys + Misc.
50:05 Screen Multiplexing (tmux)
51:27 Answer to Important Question
52:14 Brief Touch on Abduco + Dvtm as a Tmux Alternative
52:51 Questions
Contact Me:
/ leerenchang
/ leerenchang
/ leeren
Subscribe: / leerenchang
Hi everyone - remember to visit my community channel to give me suggestions on new videos to do and to stay up to date with everything that i'm working on: ruclips.net/user/LeerenTalkscommunity
I have been a vim user for more than a decade and a half and I was still blown away by this talk. Very organized, visual. From now on, this is my goto recommendation for all the newcomers to vim.
Thank you so much! New one shortly
I'm only 18minutes in the talk and I already have enough information to improve my vim skills significantly and have learned ~20 new things!
That's just awesome, I can't wait to put it all these into action!
That's great to hear! Have fun!
@@leeren_ Could you please also share Slide for this talk? Thank you very much!
One of the best Vim talks I've seen. Lots of content, lots of new things. That part with the arguments, splits, quickfix, diffs... I'll try to practice it and implement it into my workflow.
Thank you so much!
DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU DESU
@@ultimas20 ha ha ha
@AckmanDESU I agree!
~written with wasavi chrome vim editor
This is the video people need to see after vimtutor. Makes the 'why' of using vim much more clear.
Thank you!
People are recommending your video, good job!
This presentation should be marked read only and mandatory, never to be removed by anyone and to be viewed by everyone even thinking about touching a computer beyond watching RUclips.
Thank you!
Thank you for the kind words!
Hi all, I've started to prepare for a talk on OAuth that will ideally be as visual, hands-on, and comprehensive as this one. I want to thank everyone for the wonderful praise and feedback this video received.
But more importantly, what other software-related topics would you want to be covered? Be as general or as specific as you'd like. Let me know by replying to this comment!
Hi Leeren, this was a great talk. I've used vim for years and have never heard of many of the things you've mentioned here. Is there anyway you could post the slides?
Also, for your question.. a software-related topic I'd be interested in is parallelization. Which types of programs are good candidates for parallelization? How would one go about parallelizing code with either python, javascript, etc. (whichever language you're most comfortable in)?
@@DannyPhantumm
Apologies but the slides are no longer with me. My next Vim talk will definitely include them.
Parallelization and multithreading is a great topic. I'll definitely put that down for the future. Exploring differences between Go, Javascript, and Python and the differences between how they tackle concurrency and parallelism is something that needs way more coverage. E.g. for concurrency, how does Node.js' Event Loop (based on the Reactor pattern) differ from Go's goroutines (based on Communicating Sequential Processes) or Python's greenlets? And under what context is parallelism beneficial, how do you use it effectively, and to what degree can it be useful (i.e. Ahmdal's law)?
Thanks for the excellent suggestion. As a backend focused person, these are all problems I wish there were more visual resources for. I'll give it a shot in the future.
All i have to say is yes
I would really like a talk in your style about git. Before I saw this talk I was using Vim totally wrong, and now I feel like I'm doing the same thing with git. Might be a bit too entry-level of a subject though, idk.
@@morphomorph4923 What do you think you're doing wrong with git?
Halfway thorough and I've found this immensely, immensely helpful....thank you dawg
No problem. Glad it helped!
ive been using vim for 7 years, hands down this video is so awesome! thanks for all the time savings!
this vim talk is insane. it's crazy
Thank you!
Incredible! It's always entertaining to see Vim functionality that I was unaware of, it's a gift that keeps on giving! Good job Leeren
Thank you Aidan!
I'm so glad this popped out from my feed and I cared enough to click it! Having learned the basics from vimtutor this year and have transitioned to vim from vscode, I thought I already knew enough. This was so inspiring in many ways and made me want to trim down and rethink again some of the plugins I've installed haha. Thank you so much!
Wow! Impressive. I've been using vi over 20 years and I still learned a lot from your presentation. Ping me if you come to Austin one day. I'll buy you lunch!
Thanks! I'll keep that offer in mind if I ever come.
I loved the "But that's it, thanks!" Cleanest end ever :)
This one talk answered huge amount of my open questions about vim. Thank you so much!
I wonder if other talks helped you as well! Let me know!
This is one of the best... maybe THE best Vim vid I've seen. Huge thanks for this.
This is the vim workflow video. My brain has been begging for it. Great job.
Thanks - keep that brain begging!
That was so cool. I've been looking for exactly something like this, a demo video of using Vim in an actual (well not really actual) project, and couldn't find one. I'm glad I found it finally! Thank you so much Leeren!
Just when I thought I was getting good with vim I see this dude and realize why I love vim... no bottom of the pool. I've never thought this before but I just want to watch you code for a day.
Thanks! Stay tuned!
This is a condensed, concept orientated and practical tutorial. Thank you.
Thank you for watching!
Fantastic, well-organized and engaging talk, that taught me more vim features than any other tutorial of similar length, and inspired me to actually go out and use them.
Thank you so much!
Amazing talk. I’ve been using Vim on and off for 15 years and learned a lot. Need to watch it a second time and take notes this time.
That's great to hear!
I've used vim for many, many years and I learned a ton of stuff! Thanks for posting this!
Thanks you for watching!
I thought I was an intermediate user but this talk have taught me that I still have to learn a lot of things, great talk!
I'm trying to build a zettelkasten based around Vim and Ctags.
Going back and trying to understand Vim a little more, this is still essentially the very best tutorial after Vimtutor.
Super grateful to you for making these Vim videos.
Thank you! Hope that goes well!
This is great because now I know what to look for in the documentation. This talk is going to take me through my first web development project. Thank you for this.
I like the way Leeren gives a good and humble motivation up front.
As a probably-not-really-RockStar-programmer, I appreciate all the help I can get :-)
Everyone starts with humble beginnings!
Best video I've seen about vim. Looking forward to more content in the future. Thanks for the timestamps.
Thank you man! Content will be coming out soon! ;)
only 3:50mins in and already know i’m upvote this talk. vim is the ~hit
Hell yea
This is awesome, i saved this video to rewatch again and again.
Great to hear! I hope you learned a bunch.
the best talk on vim !
Good information. I've been using vi for more than 30 years and I still learned something. A side note: vi is pronounced VEE-EYE. That is how Bill Joy pronounced it when he wrote it. That also applies to all the two letter Unix commands (EE-EX, EL-ES, DEE-EF, DEE-YU, etc.)
Wow, I didn't know that! Great to know.
...and then you can say , "I fly vi"
Very good talk.
This video actually did widen my knowledge on using Vim.
Worth to spend a hour to finish this video.
Thank you for the support!
Wow, and again I say Wow! I have seen some tutorials on Utube about using Vim and I now know that they were given by people who didn't really know how to use Vim.
thank you very much!
Best Vim intro I’ve ever watched.
@@leerenchang8408 I would say some basic but generally useful vim config and cool tricks about macros.
Curious how you enjoyed other talks?
This presentation is mind blowing. I just hope I live long enough to learn all this!
Thank you - you just gotta live long enough to watch the whole video!
Best vim talk I've ever seen, killing it dude!
Thanks man!
Great talk man. Completely to the point and no unfunny self-deprecating jokes. Well done.
can't tell if sarcasm or not lol
@@leeren_ Nooo, really meant it. Seriously great talk.
Great screencast. Start watching for tmux, and then realize that got a lot of vim usefull tips. Thank's for real life examples
No problem, thanks!
Outstanding material! Thanks for sharing!
No problem, thanks for watching!
Best Vim presentation ever !
Thank you!
This is an awesome video! Thank you Leeren.
Would love to know how your vim learning journey has progressed!
I have spent 3 days watching this with a vim window by the side and haven't been able to advance past the 20 minute mark. Every minute or so, I have to try the example he gives, open the vim help, lookup what I don't understand and find a lot of related things. I'm learning a lot. Thank you very much!
Thank you for the dedication in learning!
What a talk ... thanks for sharing this great content ...
Thank you!
Not even 10 minutes in and I find out you can open multiple files at once. Going to read over the command options after this for sure haha
Powerful talk. Thanks man!!
Thank you for watching!
Best vim python video out there.
Thanks! ]m is the best
this is ust too poetically beautiful!
rarely have I been impressed by a talk but this one really does, a pity so few people in the audience, I learnt great vim stuffs, it will take me years to master
It's a never-ending journey, but a fruitful one
Clipboard thing is the greatest thing I have ever seen
One of the best Vim Talks. Thank you so much ^_^
Thanks!
Brilliant! Thank you a lot!
Thanks for watching!
Thank you for the great video. Makes Vim to be lovable.
I'm really glad you enjoyed it! Thank you!
here i am, thinknig im getting better with vim, only to realize i didnt even start using vim for real outside of a few keystrokes and hjkl :D good talk, an lots of information i need to dig. thanks!
Thank you!
Cool.. I haved used VIM for many years, but didnt know half the stuff of this talk. Realy awesome. I will start use VIM for more usecases now. I used 'screen' as lightweight alternative to tmux. very easy to use.
Thanks for tuning in! Yeah, I checked out both screen and tmux prior to this - definitely miss the window management capabilities they provided. But for now, going to stick with abduco (session-management only) + native-vim window management.
Great work here. Keep it up, Leeren.
Thanks Ben!
mint-quality content. thanks to the author.
This is GOLD!!!!!
Thank you!
Great talk! I learned a lot
Thanks a lot!
Nice video, thank you, I like vim! First time it's difficult to use, learn the commands, but later it will be enjoyable :))
Amazing talk! I learnt something new. Thank you very much! I am looking forward to seeing your further talks on vim.
Thanks!
How have you enjoyed future talks?
@@leeren_ absolutely! Your videos on vim are very inspiring. Thank you!
wow. so much good stuff here. I have been a sublime (with vintage/vi-navigation) user for years. But this talk seriously made me consider going all in vim. The thing that have been holding me back the most is sublimes excellent project management. And I thought the only way to get close with vim was to use tmux (which i don't want to use), your explanation of buffers/windows/jumplist changed that opinion.
Yeah, I used to thing tmux was a requirement for that too! On the other hand, you still need some tool for session management. Vim's session manager is lacking in many ways.
Super informative video. Would love to see more videos like this.
Thanks!
Superb. Deep dive into Vim.
Thank you!
Awesome talk! Thanks.
Thanks for watching!
Wow. Awesome talk. Keep it up man!
Thanks man, I promise I will!
Thanks for this content, this is a really good talk!
Thank you!
After using vim for a few years, I have to revisit this video yearly to refresh my basics in case I can pick up some cool things I always forgot to use 😅
great talk! thank you for sharing
Thank you!
Thank you very much for your great talk
Thank you for watching!
this guy is a legend
Thanks!
crazy topic!awesome!
Thanks!
generally do not see videos more than 30mints thought of to see only10mins. dint know when that 10mints got over, just blown away..
One more thing i learnt vim is a ocean.
thanks so much!
Awesome, great Content.
Thank you!
Found many many useful vim commands here, definitely should make a vim cheat sheet out of this video!
awesome talk, make me want to use vim again
Thanks, use it!
This talk was so awesome! :) Maybe you should consider to have your own screencast series!
Thanks, I definitely am
1. Модуль г продвижение тур продукта
2. Позиционирование
3. Конкуренты
Целевая аудитория и ядро целевой аудитории
4. Конкурентные преимущества
5. Уникальность
6. План график продвижения
7. Маркетинговые инструменты
8. Этапы реализации
9. Актуальные источники 🎉
10. Спасибо за внимание
The information is so compressed and practical. For some place I had to pause n replay. It would be great if there is articles with extra information. Thank you
Yeah, the idea was to make this a super information-dense overview that could appeal to all audiences
I've just realized, I only use like only 20% if what you know. Thank you for the video. I learn a lot
That's great to hear!
Legend
Thanks!
Glad I could help!
I learnt a lot from you, thanks :)
Thanks for tuning in!
Very lucid slides design. Well done, dude!
Thank you!
Hey@@leeren_, what is the addon/program you use to display the last few keystrokes [in the normal mode only?🤔]?
Awesome!
Thanks!
If only there was someone with a fantastic video explaining cool features of vim. Well guess what, there's Leeren.
Thanks, a new one will be out within 6 hours ;)
It really must be said again. This talk is pure VIM bad-assery. More deep dig talks from all developers would be so useful. The basics are out there.
Thanks so much! Yeah, I'm hoping to do this type of deep-dive for an array of different topics in the future
"Guess I won't learn much from a vim intro talk." Wrong! I learned how to give a great talk. Well-done slides, great pacing, smooth flow.
Thanks! Glad it helped! More will come soon.
Dude, I love your teaching style! Excellent lecture.
Thanks man
Appreciate it! Will be doing another one soon.
Nice talk. I pretty much do what you say beginners do so hopefully after this i will start speed things up. Speaking of that, would be fun to see how fast you actually work when not explaning stuff :)
Glad this can help! Yes, maybe I'll do a screencast.
Used my wrong account for replying to this. Commenting again to make sure I've responded to everyone!
Are you still using Vim?
Dude, great stuff, rich in content, loved it!
BTW, was wondering if you could also share the PowerPoint?
Bro you are a GOD to Vim, I am so lucky RUclips recommend this video to me, Grabe mind blowing, I relied to much to vim cuztom plugins, but, all your commands were sync into my head, I forgot it's 6am in the morning. wala pakoi tulog sukad gahapon, na buang na.
Thank you stay tuned! More commands will come your way
@@leeren_ thanks bro very much excited :) - could you also create a demo on how to create a vim script to do some automation to make our vimrc file not being so bloated so we dont have to call every plugin all at once, only the ones that are need, I recently created mine here, it worked, but I know this is a very childish way of ceating such script but it worked hehe!, hope you have a better suggestion here.
function! ScrollStop(key)
if &buftype !=# "terminal"
execute 'normal! ' . nr2char(and(char2nr(a:w), "0b0011111"))
endif
endfunction
function! Fred()
:cd ~/
:r!touch .bashrc
:e .bashrc
:w
:r!source ~/.bashrc
:bd
:cd /c/wamp64/www/devs
:e.
:set modifiable
" :bo 50sp +term
" nnoremap :call ScrollStop('w')
endfunction
function! Cb()
call append(1, "function wamp {")
call append(2, " cd /c/wamp64/www/devs")
call append(3, "}")
endfunction
autocmd BufReadPre .bashrc call Cb()
function! XwwPath()
:cd ~/
:r!rm .bashrc
:qall
endfunction
nmap ,ql :call XwwPath()
function! WwwPath()
:call Fred()
endfunction
nmap ,www :call WwwPath()
function! Ee()
:e.
endfunction
nnoremap x :call Ee()
nmap ,vim :find ~/.vim/vimrc
nmap ,bash :edit ~/.bashrc
My goal here is that every time I open my development path, I would call a function to create a .bashrc file and so when I use :term it opens a terminal that is .git-bash since I am using gitbash for vim as my main text editor, by the way I'm on a Windows machine, so ok the main goal here is that it would create a .bashrc file every time I get to my dev path and when not in use it will delete my .bashrc file if I am done with all my task - so it's simply a script that would create and delete when in use and when not in use.
It would be very awesome if I know how to call a plugin form a folder which I already downloaded and have it transfered to my bundle folder when in use and when not in use it would revert or transfer it back where it the plugin folder was called, I am doing this to have my vim editor run fast cause, vimrc are usually bloated because of alot of plugins being used, and only 10% of them is being applied for a certain project :)
One of the bests (if not THE best) vim talks ever! Congratulations! Can you share your .vimrc (and other dotfiles)?
I'll make sure to include a link to it for my next talk. I've recently completely cleaned it out and am working on a re-polished version.
There are so many things I've learned from this talk, and as @Jason Cox and @Leeren said, vim is just an impossible learning curve 🤣. OSC 52 is crazy, terminal emulators should add support to it for out of the box clipboard syncing. I've been pampered by plugins throughout my vim journey, and this talk taught me how wrong I was. I use FZF for finding and opening files, but now I realize vim's built-in, find, sf, gf are as powerful if not more.
@Leeren, I hope you produce more videos like this. This was really eye-opening.
Side note: I actually watched this video three times already, I was making sure I didn't miss anything. 😁 I've been using vim for about 3 to 4 years now.
Thank you very much! Your comment is super motivating. Am working on one right now on OAuth / JWTs
@@chris-ew9wl Hell yeah!
Someone give this poor man a glass of water
24:15 legend
I was dying
Great content! Would love timestamps in the description for future references.
Great idea! I'll add that
Finally added them.
Really great video. Full of information and no bullshit. I understand from the comments that there are no slides or notes to be found. Does anyone have them? If not, I could write them and publish them.
No bullshit is definitely my style. That'd be great! All my future videos will have slides attached to make sure this issue doesn't come up again
Only 20K views for this excellent talk?
By the end of this talk defenitely, you will become an expert!
Thank you!
@@leerenchang811 Can you make the slides available? Very cool, thanks
How times change ;)
:D
The talk is very good. Maybe too good for a talk, because it is so densely packed with content. I feel I'll be using it for a reference for a while. Any plans for setting up a small web site? Or vim key mappings for moving around in a RUclips video? :)
Ah, wait, there's a list of contents hidden in the description!
I have plans for a lot of educational content delivered in the same way. I've been terrible at making myself get started again, but the drive is there and it will happen soon. The next video will probably be something not vim-related. I'm leaning towards security topics right now
i use vim for 2 month and I didn't know about that gf things LOL
maybe I should start vim again and break for a couple of days using nvim.
thank you for the lecture bro
When you're starting off I don't even think you'll notice the difference! NeoVim is great