It never fails. The speaker at a "Mastering Vim" will always have at least one moment in the live lesson where they say "Oh wow, I didn't know you could do that..." Just shows how deep the vim rabbit hole goes, and how learning-mode brain is so much more different than get-normal-work-done-mode brain.
qazwsxed you could just use a variation of the snippets trick i.e. make a mapping that takes you to the beginning of the line, insert the comment and go back to normal mode. You can even autocmd that mapping so it matches the commenting style of different file types
It's 2024 and I still keep coming back to these thoughbot vim talks (also some of the emacs ones). I don't know if these still exist, if they don't please bring them back, they're great
This video and "Mastering the vim language" are my two favorite videos on vim, both from thoughtbot. After using Vim for about 2 years I still watch these videos from time to time when I'm bored.
I love this talk. I return to watch this video so many times because I continually forget that VIM is MASSIVELY extensible. Thank you for sharing this with us!
After watching videos like this, one thing happend to me is that i now feel i can read help files more confidently. For very beginners, one should start with videos like these or even more simple, rather than reading through help to find ins and outs of everything. One of the best vim talks/tut videos i have watched. Thanks
The best vim video I've ever watched. I learned tons of new features and worked on my vimrc file for hours to make it lighter. Now I am confident with help files and I can confirm that every single visit through these pages is an opportunity to be amazed again by the quality of this software. Love vim more and more
The quick-fix window is way more powerful than it looks. You can write a compiler plugin (:h write-compiler-plugin) or :set makeprg + :set errorformat to a carefully constructed expression that can parse any error you want. Then :make does a lot of magic, calling your makeprg, parsing with errorformat, filling up the quick-fix and opening the first error. BTW. this video was the reason why I made the final move to VIM. Really cool stuff!
Wow, love this talk, also this guy is a good presenter and so far he’s really good at answering questions and making sure he checks in with the person to make sure he got what they were asking for, very humble 10x dev it seems
Great talk, thanks ! As to tags matching, you can also (at least in c, c++ files) type ^W ^I on any tag to open a new window with the actual definition (may it be in a header or in the file itself). If you look for #defines only, you can type ^W ^D.
The question asked at 31:37, the command to exit the auto completion suggestions without editing what you have entered and to stay in insert mode is ^e. Also, to select the current suggestion you are on in the auto completion list is ^y.
27:24 "some of the default bindings use ctrl-x, I have no idea why?" I'm like 80% sure the completion stuff was partly written by an emacser who was experimenting with the "dark" side. C-n, C-p, C-x.
A particular detail about ^x^n is that you can keep going. It picks not just a word to complete, but a place it came from, so you can use ^x^n again to get the next word after that, etc.
Hey Max, if you are still wondering about the answer to the question at 31:36, the answer is CTRL-E. :help complete_CTRL-E (this is a bit "duh" but don't worry, it is about 2 paragraphs down from where you were looking at :help ins-completion 27:38 ) Anyway, if the mystery isn't solved, then as you said, the manual is very nice. :) Thanks for the talk, btw.
The only regret I have is that I didn't start to use VIM earlier in my life. I was so stubborn... I love VIM now, and I can't see myself using any other code editor. I configurated VIM to my dream editor, you can literally make it do anything!!! Love it.
Understanding tool that we use ... This is so damn important! While people might now to click this, than that, than that other thing and then enter tis text there and this works 90% of the time they just can't cope with things not working like they memorized and sometimes not even know what they're doing at all. All they know is to follow a step-by-step instruction sheet instead of understanding what they're doing. Those people often think I'm some type of tech genius, but what I really do is trying to understand our tools instead of simply memorizing the order of buttons I need to click.
Great talk, Max! I am a big vim guy (or at least consider myself a big vim guy) and learned a lot from this talk. This morning I've simplified my .vimrc drastically per your teachings. I feel like a noob again. Thanks again!
the bonus at the end really got me.. i wrote a script to toggle the opacity on/off in the terminal now i can bind it easy in vim without the need to bind it globally :)
Wow! I have seen this video like 4 times and each time there is something I have been thinking about. Last time it was the fuzzy search and this time its the snippets - I _really_ like your way of using vim!
Really awesome talk. One minor thing I noticed is the shortcut for ambiguous tags @23:26 is actually g] rather than g^], at least in my version of vim.
12:45 Holy shit. I'm writing my thesis right now, where I use vimtex and the chapters are in multiple files. To change between files, I would constantly do ":ls" to see the buffer number of the file, and then an additional ":b buffernumberoffile" thank you man
via experimentation i discovered a lengthy auto completion list can be navigated w/ the traditional up/down arrow keys after pressing Ctrl so that it is not necessary to repeatedly press the Ctrl n or Ctrl p chords .
in response to the question about the strategy for keeping ctags updated: writing a couple git hooks (on pull, merge, rebase, and commit) make it super simple. you can also have it write the tags file into the .git directory, so it won't need to be ignored and vim already knows to look in there for the tags file (actually maybe it's fugitive that does that).
The reason you'd want completion plugins beyond what ctags does is for more accurate completion and goto definition/declaration things. For example, ycm will give you a list of members if you type struct_value.; ctags based completion can't do that. And particularly important for C++, this also lets you jump to declarations that are outside your project.
I went to the timestamp to laugh at the nerds (spoiler alert: anybody landing on this video about vim is a nerd). Then I saw what he did, and was so impressed by what I saw, I hit rewind and watched the whole muthafuckin video.
Awesome, awesome talk. One of the best talks on vim that I have watched on youtube, for many reasons. Firstly, it encourages users to use the power of vim in its native state without plugins (it appeals to the purist in me). Secondly, in the process, it teaches many useful lessons about the editor. Thirdly, the presenter is great and very engaging.
great video! I've been using vim for several years, and I always like to watch videos like these and learn new things! BTW, for the system clipboard issue, you can do it with "set clipboard=unnamed"
Thank you so much for this video! Absolutely amazing explanation throughout! You just helped me create my first .vimrc file with everything I need to get started.
Also consider checking out Universal Ctags, which is a more actively maintained fork of Exuberant Ctags. Includes lots of patches, including vastly improved PHP handling if that's your thing.
This is great. I think plug-ins are awesome! But my work environment has to be super security conscious, being able to do cool stuff without external plugins is hugely helpful to me. It’s a huge hassle to request permission to download and install software so I don’t have the luxury to just pull down whatever I feel like to see if it works
RE: Why Ex mode? Remember that (Neo)vim's existence goes like ed -> ex -> vi -> vim -> neovim, where each successor is a superset of the previous implementation. ed was a line editor, ex enabled better commands, vi added a visual mode where you could see the whole file at once, and the rest we're probably familiar with. Ex mode enables you to string a bunch of ex commands (anything with a : at the start) to enable people with REALLY shitty internet to remotely edit files, without having to keep a constant open connection.
Cscope is like ctags on steroids for c/c++. You can jump to callers, callees, definitions, and so on (with the same syntax), and it is also supported out of the box. I highly recommend the Sneak plugin. It adds a motion between f/F and / that lets you search forward/backward for two-character combinations to jump to. With the streak feature enabled it will mask multiple matches with a single character tag, so you can jump anywhere with 4 keypresses. Also, for normal old vim ctrl-g displays the current filename ;P
more videos like this please. most of the stuff in vim takes long to learn, but all you learn can also be applied to other stuff (e.g. you learn to read help to configure your autocomplete, then you can also search other stuff in :help).
Hot tip for netrw. The banner that you hid IS the tutorial. So don’t hide it until you re familiar with the commands. Go up to the help line and press enter to see different options
@@vorrnth8734 It is slow when the directory has too many files.I usually set the path to be something like “src/**” so that it will only search files inside the specific folder.
'find' with a path set up like that is super slow with medium to large codebases. You have set specific folder names where you want to search files for.
1:07:47 ans: "ex" mode refers to vi/vim ":" colon command line at bottom of screen... and another 50+ editing options available there. Main features of "ex" mode have been in "vi" since 1970s, even before vim. Especially usefull to do quick multi-edits, that can make changes to many lines at same time. For instance: You want to change variable/string SomeOldName to DaNewName everywhere in a code file... :%s/SomeOldName/DaNewName/g (that's it, 30:sec edit may do 400+ changes) Ex":" mode can do 100's of things like: :r filnam (reads another file into this one) :60,202d (del lines 60 to 202) :44,$w saver.txt (writes line 44-end to file) :.,+100s/^/# / (comments next 100 lines of shell script) Many people are using bits of "ex" mode without realizing it... and Max (speaker) knows that. Even though the words of his reply say "I forget what that is for" if you look at the screen behind him, he Does go into "ex" mode, and may know some of its abilities -but may not realize there is another full featured command line editor under there, to give you extra "super powers" for bulk changes similar to "sed". ( ex mode editing could be a separate presentation by itself )
@ 13:44 question about ignoring The following will ignore compiled files edit fyi set wildignore=*.o,*~,*.pyc if has("win16") || has("win32") set wildignore+=.git\*,.hg\*,.svn\* else set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store endif
About autocompletion. How to make it look from other files and show the path of the file without opening the specific files to buffer? tags file allows it to search them but I cannot get it to show the path of found suggested autocomplete word.
how to navigate netrw-browse maps treelisting: t new tab, v vertical split file, with d you can create a directory, with D you can delete files or directories, gh to show or unhide hidden files.
19:21 "get current file-name". the line-command :f does that for you. or CONTROL-G . the % sign is a vim meta-character that defaults to the file-name to allow you to pass it into line-commands. interestingly, :% is the equivalent of :1,$ and allows you to do things like: :%!sort to sort a file in place. or: :%g/DELETE-ME/d to delete specific lines through-out the file. So . . . you could do this and use % twice with different meanings in the same line command: :%!sort % to sort your file in place.
@33:46 the focus feature would be useful for my presentations, but I am unable to launch it on my linux vanilla vim. Am I missing anything? the feature is builtin, correct?
Remand are a dangerous rabbit hole. You can make a mapping for darn near anything. I for example have an abominable 150+ character mapping that does loads of copying and pasting, opens a new tab, creates 2 files, and even calls a shell script. It’s an abomination, but it works, and vim just… lets you do that utterly absurd stupid stuff, and I love it.
@@kirschkern8260 Been a while, but this looks like the "Zoom h4n pro " There is a newer "zoom h4n pro +" which is slightly better because of the preamps imo. I've owned both in addition to the cheaper but slightly less capable "zoom H1" all are prefect for doing something like this, and currently I only own an H1. Check out some other videos depending on your needs. Best of luck!
Answer for the questions in file searching @13:21 and @15:47, how to exclude certain file types with have set path+=**?, And how to reduce slowdown of **? I don't have right answer to the first question, but we can solve a tideous problem when we work on python environments (we have lot of files in bin,...) Our main files will be present in project directory or one or two directories deep, by default vim will search for file 30 directories deep when using ** is set to path, we can change how deep vim can go by **n , n will be integer, eg: "set path+=**2" will make vim to search only two(2) folders deep, this will not include env files in python. We can save performance, reduce slow down of going 30 directories deep and tabbing. Happy coding and happing vimming🙏🙏🙏
The way to ignore some files/folders for example node_modules would be as follows : set wildignore+=**/node_modules/** To exit out of the autocomplte and remove anything typed, hit ctrl+E
It never fails. The speaker at a "Mastering Vim" will always have at least one moment in the live lesson where they say "Oh wow, I didn't know you could do that..." Just shows how deep the vim rabbit hole goes, and how learning-mode brain is so much more different than get-normal-work-done-mode brain.
where in this vid?
@@yash1152 31:35 to 33:00 i think 😄
@@yash1152 in vim
@@yash115229:03
Add 26:59 no hate but I have been using vim for a few months and it feels good that even experts are always learning
0:06:48 - finding files
0:16:14 - tag jumping
0:24:33 - autocomplete
0:34:30 - file browsing
0:38:20 - snippets
0:51:02 - build integration
0:57:40 - questions
1:09:12 - plugins to use
^ The Real MVP from the comments.
You're amazing, you deserve to be happy and be successful in life you amazing butt-saving son of a bitch!!!
qazwsxed you could just use a variation of the snippets trick i.e. make a mapping that takes you to the beginning of the line, insert the comment and go back to normal mode.
You can even autocmd that mapping so it matches the commenting style of different file types
MrMollmann
Love ya
It's 2024 and I still keep coming back to these thoughbot vim talks (also some of the emacs ones). I don't know if these still exist, if they don't please bring them back, they're great
This video and "Mastering the vim language" are my two favorite videos on vim, both from thoughtbot. After using Vim for about 2 years I still watch these videos from time to time when I'm bored.
I love this talk. I return to watch this video so many times because I continually forget that VIM is MASSIVELY extensible. Thank you for sharing this with us!
After watching videos like this, one thing happend to me is that i now feel i can read help files more confidently. For very beginners, one should start with videos like these or even more simple, rather than reading through help to find ins and outs of everything.
One of the best vim talks/tut videos i have watched. Thanks
Yeah I agree
I use vim since around 10-15 years and I was ${today} years old when I learned about ^n
The best vim video I've ever watched. I learned tons of new features and worked on my vimrc file for hours to make it lighter. Now I am confident with help files and I can confirm that every single visit through these pages is an opportunity to be amazed again by the quality of this software. Love vim more and more
As a vim beginner / intermediate this talk is fantastic. Thank you!
What Microphone was used here? (Standing byside the Laptop)
Brandname,model, or Type of Microphone) would be very helpfull if somebody can tell :)
5y ago 😂 are you an expert now?
The quick-fix window is way more powerful than it looks. You can write a compiler plugin (:h write-compiler-plugin) or :set makeprg + :set errorformat to a carefully constructed expression that can parse any error you want. Then :make does a lot of magic, calling your makeprg, parsing with errorformat, filling up the quick-fix and opening the first error.
BTW. this video was the reason why I made the final move to VIM. Really cool stuff!
Wow, love this talk, also this guy is a good presenter and so far he’s really good at answering questions and making sure he checks in with the person to make sure he got what they were asking for, very humble 10x dev it seems
Thank you!! More like 0.5x probably but no one's complaining yet ... 😁
Great talk, thanks ! As to tags matching, you can also (at least in c, c++ files) type ^W ^I on any tag to open a new window with the actual definition (may it be in a header or in the file itself). If you look for #defines only, you can type ^W ^D.
The question asked at 31:37, the command to exit the auto completion suggestions without editing what you have entered and to stay in insert mode is ^e. Also, to select the current suggestion you are on in the auto completion list is ^y.
I definitely agree with everyone. This is one of the best talks i've seen on vim.
What Microphone was used here? (Standing byside the Laptop)
Brandname,model, or Type of Microphone) would be very helpfull if somebody can tell :)
@@kirschkern8260 Looks like a Zoom H4N recorder. It has a built in stereo mic.
@@kirschkern8260 nnn
I must say the audience was really good too.
@@kirschkern8260 uuu6uyuuh juung uyiuuuhi uiuuuut unuuuuuuumujmu uuu5uu. W
Man I was in as soon as you started talking about overlooked tools being a priority. I'm all about that. I'ma have to watch a bunch of these
Easily one of the best vim talks I've ever seen!
27:24 "some of the default bindings use ctrl-x, I have no idea why?"
I'm like 80% sure the completion stuff was partly written by an emacser who was
experimenting with the "dark" side. C-n, C-p, C-x.
A particular detail about ^x^n is that you can keep going. It picks not just a word to complete, but a place it came from, so you can use ^x^n again to get the next word after that, etc.
80% of a good autocomplete plugin is to turn into sensible keybindings. Completion in vanilla Vim is fine - it's the chords that annoy me.
For the question of how to select completion without leave insert mode, ^n ("n" for next), ^p ("p" for previous), and ^y for yes accept selection :)
thank you
For those (like me) who want to cancel the completion, use CTRL-E (see :help 'complete_CTRL-E )
You are still using vim ?
@ yup I can’t exiting
Hey Max, if you are still wondering about the answer to the question at 31:36, the answer is CTRL-E. :help complete_CTRL-E (this is a bit "duh" but don't worry, it is about 2 paragraphs down from where you were looking at :help ins-completion 27:38 ) Anyway, if the mystery isn't solved, then as you said, the manual is very nice. :)
Thanks for the talk, btw.
Great talk. I watched this as a beginner. Now four months later, I even understand what he is saying.
The only regret I have is that I didn't start to use VIM earlier in my life.
I was so stubborn...
I love VIM now, and I can't see myself using any other code editor.
I configurated VIM to my dream editor, you can literally make it do anything!!! Love it.
What’s terrible is that now the only ide that will feel at home is one that has a vim plugin
Holy shit, this is gold! Literal pure gold!!! I think the fuzzy search part is honestly the coolest - I will never use Telescope again :)
I will keep using telescope. It is much more versatile and waaaayyyyyy faster.
Understanding tool that we use ... This is so damn important!
While people might now to click this, than that, than that other thing and then enter tis text there and this works 90% of the time they just can't cope with things not working like they memorized and sometimes not even know what they're doing at all. All they know is to follow a step-by-step instruction sheet instead of understanding what they're doing.
Those people often think I'm some type of tech genius, but what I really do is trying to understand our tools instead of simply memorizing the order of buttons I need to click.
Great talk, Max! I am a big vim guy (or at least consider myself a big vim guy) and learned a lot from this talk. This morning I've simplified my .vimrc drastically per your teachings. I feel like a noob again. Thanks again!
the bonus at the end really got me.. i wrote a script to toggle the opacity on/off in the terminal now i can bind it easy in vim without the need to bind it globally :)
No matter how good you are at using vim, you still have so much to learn about. Vim is just mind blowing tool.
Wow! I have seen this video like 4 times and each time there is something I have been thinking about. Last time it was the fuzzy search and this time its the snippets - I _really_ like your way of using vim!
Really awesome talk. One minor thing I noticed is the shortcut for ambiguous tags @23:26 is actually g] rather than g^], at least in my version of vim.
12:45 Holy shit. I'm writing my thesis right now, where I use vimtex and the chapters are in multiple files. To change between files, I would constantly do ":ls" to see the buffer number of the file, and then an additional ":b buffernumberoffile"
thank you man
Thank you. I'm a junior sysadmin catching up after a long hiatus. Great talk and super useful for the future. Shared it with friends.
This guy is hilarious. I love his sense of humor. Awesome talk!
via experimentation i discovered a lengthy auto completion list can be navigated w/ the traditional up/down arrow keys after pressing Ctrl so that it is not necessary to repeatedly press the Ctrl n or Ctrl p chords .
in response to the question about the strategy for keeping ctags updated: writing a couple git hooks (on pull, merge, rebase, and commit) make it super simple. you can also have it write the tags file into the .git directory, so it won't need to be ignored and vim already knows to look in there for the tags file (actually maybe it's fugitive that does that).
These questions should be subtitle in the video, it would help a lot.
What Microphone was used here? (Standing byside the Laptop)
Brandname,model, or Type of Microphone) would be very helpfull if somebody can tell :)
@@kirschkern8260 it's probably one of the zoomcorp.com products.. I'm not sure of the name of the model though.
@Peter Mortensen most probably talking about the viewers question to the presenter
just got here, wish i got here a couple of years ago! great stuff thank you!
This person is just brilliant at teaching
I love how vim is even its own version of PowerPoint.
The reason you'd want completion plugins beyond what ctags does is for more accurate completion and goto definition/declaration things. For example, ycm will give you a list of members if you type struct_value.; ctags based completion can't do that. And particularly important for C++, this also lets you jump to declarations that are outside your project.
29:02 :
dude: let's just put a slash there and see what happens! oh hey it works!
audience: WOOOW
damn nerds :D
I ain't gonna lie I'm impressed when I'm in vim when doing stuff lol it's just amazing
I went to the timestamp to laugh at the nerds (spoiler alert: anybody landing on this video about vim is a nerd). Then I saw what he did, and was so impressed by what I saw, I hit rewind and watched the whole muthafuckin video.
@@L0j1k lol
You could also "cancel" the entire complete thing with Ctrl-w. It will delete the entire word and keep you in insert mode.
What Microphone was used here? (Standing byside the Laptop)
Brandname,model, or Type of Microphone) would be very helpfull if somebody can tell :)
Awesome, awesome talk. One of the best talks on vim that I have watched on youtube, for many reasons. Firstly, it encourages users to use the power of vim in its native state without plugins (it appeals to the purist in me). Secondly, in the process, it teaches many useful lessons about the editor. Thirdly, the presenter is great and very engaging.
This is a really cool talk. Vim is not just awesome, it is more than that, by far.
48:51
just for reference, this is one of the coolest things i've seen
great video! I've been using vim for several years, and I always like to watch videos like these and learn new things! BTW, for the system clipboard issue, you can do it with "set clipboard=unnamed"
Fantastic video! The snippet completion thing with nnoremap is my new favorite feature.
This is the best vim talk ever
Excellent presentation! I learnt a lot from it. Thank you Max! Perfect speed and great humor along the way!
Thank you so much for this video! Absolutely amazing explanation throughout! You just helped me create my first .vimrc file with everything I need to get started.
Also consider checking out Universal Ctags, which is a more actively maintained fork of Exuberant Ctags. Includes lots of patches, including vastly improved PHP handling if that's your thing.
Thanks!
Support for modern C++ was a painpoint in classic Ctags. Thanks so much for pointing out this maintained fork of that.
This is great. I think plug-ins are awesome! But my work environment has to be super security conscious, being able to do cool stuff without external plugins is hugely helpful to me. It’s a huge hassle to request permission to download and install software so I don’t have the luxury to just pull down whatever I feel like to see if it works
RE: Why Ex mode?
Remember that (Neo)vim's existence goes like ed -> ex -> vi -> vim -> neovim, where each successor is a superset of the previous implementation. ed was a line editor, ex enabled better commands, vi added a visual mode where you could see the whole file at once, and the rest we're probably familiar with.
Ex mode enables you to string a bunch of ex commands (anything with a : at the start) to enable people with REALLY shitty internet to remotely edit files, without having to keep a constant open connection.
This guy is a blast to watch and listen. Really good.
I think every vim-guy should watch this video, at least to see on it in different way.
Cscope is like ctags on steroids for c/c++. You can jump to callers, callees, definitions, and so on (with the same syntax), and it is also supported out of the box.
I highly recommend the Sneak plugin. It adds a motion between f/F and / that lets you search forward/backward for two-character combinations to jump to. With the streak feature enabled it will mask multiple matches with a single character tag, so you can jump anywhere with 4 keypresses.
Also, for normal old vim ctrl-g displays the current filename ;P
OH MY CTRL-G
Love the class atmosphere
more videos like this please. most of the stuff in vim takes long to learn, but all you learn can also be applied to other stuff (e.g. you learn to read help to configure your autocomplete, then you can also search other stuff in :help).
Does fuzzy search do deletes the same way? cos that imprecision can be risky at times, maybe that’s why it’s not default way
Hot tip for netrw. The banner that you hid IS the tutorial. So don’t hide it until you re familiar with the commands.
Go up to the help line and press enter to see different options
What an awesome talk. One of my fav! good job
Thanks very much!
What Microphone was used here? (Standing byside the Laptop)
Brandname,model, or Type of Microphone) would be very helpfull if somebody can tell :)
This talk is absolutely beautiful!
Great talk dude! Most people don't realize how hard is actually doing live presentation.
Love this video,the ** option combines with find command is really awesome,it replaces my fuzzy find plugin.
Not for me. It is way too slow.
@@vorrnth8734 It is slow when the directory has too many files.I usually set the path to be something like “src/**” so that it will only search files inside the specific folder.
Amazing... I tried to install some fuzzyfinder plugins, but this "native solution" already attends my needs.
Me to. I no longer find a need for a extra plugin.
For Quickfix, you can use
:cope[n]
and
:cw
to open an IDE-style quickfix window.
Use
:ccl
to close the window.
shortening :copen to :cope is brilliant, I have to admit
56:54 :cwin opens a little window at the bottom with all the quickfix errors. It's already included with no plugins needed, which is pretty neat.
1:03:00 the best use of help system, jump through you don't have to read every single section
"I'm not saying you should not use plugins", but you won't want to after watching this video
Wondering how to expand/collapse a folder/directory in netrw which is shown at 35:38?
Me too, anyone can tell?
Default mapping is Enter (AKA Return, , etc.)
Just to make it clear, .vimrc file should have to list in tree view where one can expand and collapse
let g:netrw_liststyle=3
you made it clear :), thanks a lot
45:58 is from teletypewriters (TTY), not typewriters, which was what you got the mainframe output from, before monitor screens came about.
Glad I watched this in the learning phase of VIM.
'find' with a path set up like that is super slow with medium to large codebases. You have set specific folder names where you want to search files for.
for the next videos, please show us the key press....
Thank you...
Very nice
This was a very insightful video. I learned new things, and refreshed others.
Thanks a lot for this talk. Cannot emphasize how much this talk has helped.
1:07:47 ans: "ex" mode refers to vi/vim ":" colon command line at bottom of screen... and another 50+ editing options available there.
Main features of "ex" mode have been in "vi" since 1970s, even before vim.
Especially usefull to do quick multi-edits, that can make changes to many lines at same time.
For instance:
You want to change variable/string SomeOldName to DaNewName everywhere in a code file...
:%s/SomeOldName/DaNewName/g
(that's it, 30:sec edit may do 400+ changes)
Ex":" mode can do 100's of things like:
:r filnam (reads another file into this one)
:60,202d (del lines 60 to 202)
:44,$w saver.txt (writes line 44-end to file)
:.,+100s/^/# / (comments next 100 lines of shell script)
Many people are using bits of "ex" mode without realizing it... and Max (speaker) knows that. Even though the words of his reply say "I forget what that is for" if you look at the screen behind him, he Does go into "ex" mode, and may know some of its abilities -but may not realize there is another full featured command line editor under there, to give you extra "super powers" for bulk changes similar to "sed".
( ex mode editing could be a separate presentation by itself )
@ 13:44 question about ignoring The following will ignore compiled files edit fyi
set wildignore=*.o,*~,*.pyc
if has("win16") || has("win32")
set wildignore+=.git\*,.hg\*,.svn\*
else
set wildignore+=*/.git/*,*/.hg/*,*/.svn/*,*/.DS_Store
endif
About autocompletion. How to make it look from other files and show the path of the file without opening the specific files to buffer? tags file allows it to search them but I cannot get it to show the path of found suggested autocomplete word.
how to navigate netrw-browse maps treelisting: t new tab, v vertical split file, with d you can create a directory, with D you can delete files or directories, gh to show or unhide hidden files.
That was great. I have been using vim way too casually all my life. Thank you.
Regarding ctags: For those using a German keyboard, in Linux you can use Ctrl+Alt Gr+9.
How are you able to move cursor in terminal 8:25
Does this guy have other vim talks? He's just awesome!!!
+1
If anyone finds with other VIM talks please post it here.
Awesome! Finally can get rid of Webstorm which I had been using as a fancy heavy text editor anyways.
19:21 "get current file-name". the line-command :f does that for you. or CONTROL-G . the % sign is a vim meta-character that defaults to the file-name to allow you to pass it into line-commands. interestingly, :% is the equivalent of :1,$ and allows you to do things like: :%!sort to sort a file in place. or: :%g/DELETE-ME/d to delete specific lines through-out the file. So . . . you could do this and use % twice with different meanings in the same line command: :%!sort % to sort your file in place.
long hair, glasses, weird beard..i can already tell this guy knows what he's talking about
What is this colorscheme?
ex mode is good for editing a sequence of normal mode commands as if they were a buffer, particularly good for editing ad hoc macros
@33:46 the focus feature would be useful for my presentations, but I am unable to launch it on my linux vanilla vim. Am I missing anything? the feature is builtin, correct?
It’s a feature of iterm
Remand are a dangerous rabbit hole. You can make a mapping for darn near anything.
I for example have an abominable 150+ character mapping that does loads of copying and pasting, opens a new tab, creates 2 files, and even calls a shell script.
It’s an abomination, but it works, and vim just… lets you do that utterly absurd stupid stuff, and I love it.
What is he using on the bottom? The tabs
tmux
By the way you have a microphone talk into it!
You have a cursor on the screen you can use to point out what are you referring to with your speech
Vim users don't touch their mouse xD I had no problem with his mic tho.
10:45 - so... I don't think that's really what a "fuzzy" search is. That's just a wildcard match. Does it _actually_ do fuzzy searches?
Wooah! That’s what I said after watching the find file autocomplete 🤘
How to get dynamic cursor color respect with syntax color behavior like this guy's terminal or vim feature?
Question about canceling auto-complete 31:37 (I think that was the question): ctrl-E
What Microphone was used here? (Standing byside the Laptop)
Brandname,model, or Type of Microphone) would be very helpfull if somebody can tell :)
@@kirschkern8260 Been a while, but this looks like the "Zoom h4n pro " There is a newer "zoom h4n pro +" which is slightly better because of the preamps imo. I've owned both in addition to the cheaper but slightly less capable "zoom H1" all are prefect for doing something like this, and currently I only own an H1. Check out some other videos depending on your needs. Best of luck!
Answer for the questions in file searching @13:21 and @15:47, how to exclude certain file types with have set path+=**?, And how to reduce slowdown of **?
I don't have right answer to the first question, but we can solve a tideous problem when we work on python environments (we have lot of files in bin,...) Our main files will be present in project directory or one or two directories deep, by default vim will search for file 30 directories deep when using ** is set to path, we can change how deep vim can go by **n , n will be integer,
eg: "set path+=**2"
will make vim to search only two(2) folders deep, this will not include env files in python. We can save performance, reduce slow down of going 30 directories deep and tabbing. Happy coding and happing vimming🙏🙏🙏
Love it. Thank you so much. Just tried the set path and then finding the files and it is amazing!
Actually to look up the current firename, why don't you use Ctr-g instead?
The way to ignore some files/folders for example node_modules would be as follows : set wildignore+=**/node_modules/**
To exit out of the autocomplte and remove anything typed, hit ctrl+E
Though it's not any better, couldn't you just do "f
CTRL+g is shortcut to show what file you're in.