I usually do recursion when recording a macro in order for it to keep repeating itself until the end of the file. I just start recording a macro -- say, calling it "@a" --, then I just record its commands. When finished, before pressing Esc, I call "@a" inside of itself and *then* press Esc. Voilà.
Happens to me by accident every time i use a macro because i keep forgetting to press q again to end the macro. Every time it happens im like "oh yay thats so much better than repeating it manually" but now i know how to do it intentionally!
One of my favorite things is "permanent undo", basically if you edit a file, close it then reopen it you can still undo using u. Put this in your vimrc set undodir=~/.vimdid set undofile
I learned a extremely useful vim trick recently that helps me greatly to organize my programming notes for various languages. It is the zf command which folds multiple lines of code into one line. So first I use shift-v to go into visual-block mode, and highlight as many lines as I want. Then type zf to create the fold, and za to open it, and zd to delete if I made a mistake. You can also create folds within folds, and there are other z commands such as zr to open all folds in a document and zm to close them all. Now it doesn't help very much as is because vim deletes the folds after you exit the file. What you need to do is add two lines of code to your vimrc. autocmd BufWinLeave * mkview autocmd BufWinEnter * silent loadview This makes vim autosave and autoload your view of files which remembers all your folds. Try it out!
interessing autocmd... also folding commands coupled with the % for jumping to the matching brace is very useful in the programming context; closing entire comments, functions if elses switch cases you name it; very useful
One of my favorite things about Vim's macros is that they are just command strings stored in the regular named registers. So if you create a complex macro, only to realize there's a mistake in the middle, you can paste it into the document, modify the command (which is in "normal mode syntax") , yank/cut the command back into the register, and then execute it. It also makes it easy to share Vim macros, if needed, since it's just a line of text.
You can probably load some good macros from your config file, and then you can just use it without having to do anything lol Yeah vim is absolutely pure gold
Non-vim developers often thinks vim must be a text editor for writers, not software developers because it does things like paragraphs and sentence text object or spell checks which doesn't normally map very well into a developer's toolbox. Non-vim writers often thinks that vim must be a tool for software developer, not writers, because tools like completion, jump to tags, etc which doesn't normally fit into a writer's toolbox. Actual Vim users knows that both sets of developer and writers tools actually worked for each other's scenarios very well.
Great video! Learned about workspaces that I did not know before. Some other notes: 1. You shouldn't use the :o (open) command, which was meant for vi compatibility. Instead use :e (edit) command. 2. Instead of running :q repeatedly, you could do :qall (or just :qa) to completely quit vim and all open buffers. 3. Visual block mode is so much more than just (I)nserting or (A)ppending to line items. You can also execute regular vim commands over them. For example, instead of doing the three tasks in different commands, you could do ":norm IThe \\2fjceover\\A dog" over the visual selection range and it will convert "quick brown fox jumps jumps the lazy" to "The quick brown fox jumps over the lazy dog." on all lines. (I've mapped \\ to escape here, but you could enter esc directly with ctrl+v too).
Perhaps I'm misunderstanding, but also writing literally "" (less-than, capital-E, ..., greater-than) is the usual way to include an escape in something.
Completion is also context aware: start with Ctrl-P and continue with Ctrl-N Ctrl-P. Repeat until you have everything you typed previously. Ctrl-X Ctrl-L works with entire lines. Enjoy!
It's cool. Even before you know much about it. And then you discover plugins (vim-javascript, vim-rails, etc). And then you never use any other editors again. And then you discover that it works flawlessly via SSH and is preinstalled on every OS - and you work on files on a remote PC as if it's in your room. After which you feel pity for people who got used to other chunky IDEs (Netbeans etc.) and are stuck with them and can't do much on the remote servers on the fly. And after all that you discover, that the habit of writing Vim-scripts turned you into a Metaprogramming Guru. When others look for a button that does the right thing, you just make yourself a button or a script. And after that, you see that being a programmer for a company is stupid because when you can work x5 times faster, you don't get paid x5 times more money. And then you launch metaprogramming projects you created in Vim to be used by other people as your consumers and you make the world a better place.
And, as I just learned recently, vim has a `t` text object (like [w]ord, [s]entence, or [p]aragraph) which is (basically) for HTML [t]ags. So you can zfat ([f]old [a]round [t]ag)! It's very nice when you're trying to understand someone else's HTML.
I would like to thank you for showing me the session tip. This saves so much damn time for me! I have 4 tabs open and like 3-4 split windows each tab with a terminal on one of them. Glad to know this will save me a couple minutes of setup!
10:37 - Visual-block mode - get visual-block mode; - select 5 lines; - get in Insert Mode Typing what you want; - Exit from the visual-block mode End of the line changes: - comes to end of the line ; - get visual-block mode; - select 5 lines; - get into Insert Mode ; Typing what you want; - Exit from the visual-block mode
Indeed. My advice is to use tabs to cut through logical views of your code. For instance, in a devops project, I would use one tab for the things running outside of the docker container, and another tab for the code which is meant to run inside a container. Use this in combination with the lcd command. Quick and dirty: lcd %:p:h % stands for current file, p stands for path, h for head, meaning the directory of the current file.
@@makc The best way to edit multiple files in vim I found so far is to install Airline plugin - it's a status line, which has a "tabline" feature - it shows all open buffers in a "tab" fashion - looks similar to what you show in video with multiple tabs. You can have a look at it here: i.stack.imgur.com/cq8D9.png github: github.com/vim-airline/vim-airline#smarter-tab-line This approach is better to what you show in the video, because what is called "tabs" in vim is actually something like "instances of vim". What people typically mean by "tabs" is something called "buffers" in vim - every file you open to edit loads into a buffer, and then you interact with this buffer. After you save it, it writes to the original file. If you open vim and then edit multiple files by running ":e file", all those buffers stay open and you can switch between them using ":bnext" and ":bprevious". The plugin I mentioned helps only by actually showing you your opened buffers in a "tab-like fashion". With this approach even sessions work - if you open a saved session, it will load all the buffers you had opened (not the case with using actual vim tabs, session only saves what's on one tab). I hope this helps :) Good luck with vim (you should probably move to neovim though).
As long as all open buffers are "availible" in all the tabs, that does not make sense for me to use. If I switch buffers in a tab and can switch to a buffer that I actually use in another tab, it just has no benefits. How do you use tabs? Does it not bother you that when cycling through buffers you almost always open buffers that you actually do not want in this tab?
About macro. You can use visual mode instead of repeating macro. Press ctrl+v and select vertical line. Then press Shift+i and type something. Then press Esc. You will see what in all lines inserted same symbols as you typed. This is good way to comment blocks of code.
here's a cool thing that I've learnt marks you can press m + any lowercase key and you'll kind of bookmark a place in your document (i think you can also use numbers, not sure) to go to it just do ' + name of the mark and the uppercase letters for spicific files, so 'V could be your vim config, and 'L could be lua config, and so on.
You guys are so hardcore. I just use Intellij with mouse clicks. Lol. Vim for me is strictly to view server files. But definitely learned a lot! Thank.
For new people, useful info -> Vim is around 14 years old and a lot of the codebase shows it. ... Vim runs through every plugin on at a time to initialize, while neovim is asynchronous and can startup multiple at the same time. Vim also uses a language called VimL (sometimes called vimscript) where as Neovim can use Python, Lua, Ruby, etc.
The problem with visual block mode is that you can only select exactly a block, so if there were line-breaks between your quick brown foxes you wouldn't be able to edit them that way. True multi cursor editing is something I've kinda wanted in vim, but the lack of it hasn't ever bothered me enough to actually learn how to get it in vanilla vim (which I bet you could), or to get a plugin for it (which I'm *certain* you could). Also, I say with embarrassment, I didn't actually know you *could* insert text in block mode... I always press `i`, then recall that it doesn't work, get mad, then do `:norm iblah blah blah`. I'm gonna go vmap i (uppercase 'i') (I think... or maybe I'll just learn to press shift too).
Don't forget about the range command!!! Seems to work better for multicursor stuff if you know regex :starting line number,ending line number command So :23,55 s/quick/fast/ Works with standard commands like yank, paste and delete Also you can change the range to a % and encompass the entire file. :%s/quick/fast/g will change all instances of quick in the file to fast.
Also, if you have an ugly JSON file (and you have `jq` installed), you can run `:%!jq` which will basically filter the file through jq, and prettify it. Or, if you have a set of lines (and I *do* mean lines) which are JSON, you can select them, and run `:'
Don't over use macros. There are times when macros are necessary but most of the time you can simply use regular expressions which are also very powerful and many times faster than macros. Running a macro a 100 to a thousand times is very slow while using a regular expression is almost instantaneous.
As some1 said. Try buffers except of tabs Because tabs is not what we thinking usually. Tabs is workspaces which can contain buffers(which is just allocated memory for physical for file). And buffers is much more closer to `normal` editors tabs.
Custom workspaces is a feature I did not know! Damn! Thanks for the tip 😄 At work, I have like 3 tabs with 4-5 windows each and terminals. This will definitely help!
I've been using visual studio code for a couple of years now but after installing linux on my laptop a few months back i started watching youtube videos related to linux and everyone keeps talking about vim. Today i understand why, and thanks to this video i will start replacing vs code in vim because once you get good at it, it is so much better... I watched a dozen videos on vim but this one was by far the best one and the one that gave me the motivation to switch to vim. Hopefully with hard work and repetition i will become a vim master and will be able to write a 10 minutes worth of writing code in another text editor in less than a minute in vim :)
Great video. I love the use of macros. I could see that being useful for writing the output of common bash commands. I recommend also looking into the "change inner word" or "delete inner word" feature. It's revolutionary. It becomes even more powerful combined with the dot character.
I actually remember that feature exists as soon as someone mentions it, but I always forget about it in the moment. It is awesome though. Thanks for watching!
Hey! Great video. You really hit on some of the best parts of vim. I hope it's treating you well. Macros are super useful, and I just wanted to give you a quick golden nugget that I use allllll the time! :D If you use @c to replay the macro stored in register c, you can use @@ the following times becuase @@ is like a macro REplay. :) Also, I use @: a lot to execute the command that I just typed into the command-line. I use vim nonstop, so I could go on and on and on and on and on hahaha, but I hope that these little tidbits of info prove useful to you. Take care, and I hope you keep making good content and help inspire others. :)))))))
your visual block mode append to the end would have worked within the first visual line in the front as well you can Ctrl V 10j in the beginning of the line do your insert and do Ctrl OA to get into execute-a-single-normal-mode-command-now-mode and use A to get into insert at the end of the line mode and then just continue typing. (obviously esc in the end and then your gonna get each of the two actions both performed at the selected lines)
Visual block mode does compare to multi cursor editing. Multi cursor editing lets you drop cursors arbitrarily or by a regexp which is quite a bit more useful than just editing several adjacent lines in the exact same column-position.
I think this video covers most of that: ua-cam.com/video/6-xur2-mf2o/v-deo.html Also when I use MacOS, I usally use Alacritty as a terminal (don't think I talked about that in the video)
Caspar David Friedrich, at last, a man of culture. One thing bothers me though, the heck is with the display of your powerline characters in iTerm2? Please go to iTerm2 -> Preferences -> Profiles (then select your profile) -> Text... and then check '"Use built-in Powerline glyphs". Thank you.
Thanks for the inspiration. How come you didn't use quicktime for screen recording on OSX? It would bring you a higher video quality. Maybe it's just a setup thing in OBS, but the quality is very low for 1080p. Anyway, good job on presenting vim features.
@@makc Cool. Thanks for your response. Ok, that's interesting. Never had such issues with QuickTime, but yeah, I should have rephrased that, regarding the better default quality in quicktime. I've never used OBS so I can't really judge, but the not so good video/image quality besides the very good content and audio quality just confused me :)
New comer to vim - thanks for the tips. I have already started using the mksession and file explorers. That multiple cursor thing was mindblowing though.
I was totally blown away my the macros . thanks for that and the thing you told about multiple cursor to make changes to 1 or more lines doesn't work in my case can I get some help?
People more familiar with macOS may reckognize vim's "visual block" (C-v mode) as "Column Select" (opt+mouse). If you're looking for true multi cursor, there's always github.com/terryma/vim-multiple-cursors. When it comes to completions, you're in for a fun ride :). Something like github.com/dense-analysis/ale can handle language servers, along with linters and formatters. There is also github.com/neoclide/coc.nvim, which is much more intense, but very powerful.
I recently discovered and subscribed. I really like your content! This is a great video, thank you. I am wondering if you've considered using VScode with a VIM navigation extension for dev projects or if you have a reason for not using VScode. Am I possibly not deep enough into my Terminal/Vim journey to understand? Thank you again for your videos!
Hi Makc, beautiful video. good job. May I ask what your connection to Germany is? (referring to the DE_DE spell lang setting). Also which font did you use to blend in the topics? Thank you Greetings from Germany
I don’t think autocompletion is more useful to developers than to non-developers. I do translation professionally with vim, and whenever i have a term or name than spans several words repeated in the text, like company or product names, contextual C-xC-p saves a load of typing!
It's been a while since I've used iterm, but I'm pretty sure it's a setting, where you move the window decoration to the side or something, and then set the tile bar to minimal. Something like that, a little bit of fiddling around should get you there.
Hey I have a quick question. Why does control commands, such as Ctrl n for the autocompletion, show up as capital letters? ^N instead of ^n for example. I know the ^ represents "Ctrl" but ^N would sound to me like "Ctrl Shift n" but it's actually just Ctrl n.
@MAKC I've been searching for the longest time to find a way to remove the title bar from Mac applications. What did you use to remove it? Links and references appreciated.. Thanks in advance
I usually do recursion when recording a macro in order for it to keep repeating itself until the end of the file. I just start recording a macro -- say, calling it "@a" --, then I just record its commands. When finished, before pressing Esc, I call "@a" inside of itself and *then* press Esc. Voilà.
We are all still living in 2020. This man is living in 3000.
How do you determine the end of the recursion?
genius :O
It's a bit late but brilliant!
Happens to me by accident every time i use a macro because i keep forgetting to press q again to end the macro.
Every time it happens im like "oh yay thats so much better than repeating it manually" but now i know how to do it intentionally!
One of my favorite things is "permanent undo", basically if you edit a file, close it then reopen it you can still undo using u. Put this in your vimrc
set undodir=~/.vimdid
set undofile
That's dope as hell.
I learned a extremely useful vim trick recently that helps me greatly to organize my programming notes for various languages. It is the zf command which folds multiple lines of code into one line.
So first I use shift-v to go into visual-block mode, and highlight as many lines as I want. Then type zf to create the fold, and za to open it, and zd to delete if I made a mistake. You can also create folds within folds, and there are other z commands such as zr to open all folds in a document and zm to close them all.
Now it doesn't help very much as is because vim deletes the folds after you exit the file. What you need to do is add two lines of code to your vimrc.
autocmd BufWinLeave * mkview
autocmd BufWinEnter * silent loadview
This makes vim autosave and autoload your view of files which remembers all your folds. Try it out!
interessing autocmd... also folding commands coupled with the % for jumping to the matching brace is very useful in the programming context; closing entire comments, functions if elses switch cases you name it; very useful
One of my favorite things about Vim's macros is that they are just command strings stored in the regular named registers. So if you create a complex macro, only to realize there's a mistake in the middle, you can paste it into the document, modify the command (which is in "normal mode syntax") , yank/cut the command back into the register, and then execute it. It also makes it easy to share Vim macros, if needed, since it's just a line of text.
That is actually really cool! Thank you for sharing your insight
Wait what??
You can probably load some good macros from your config file, and then you can just use it without having to do anything lol
Yeah vim is absolutely pure gold
Non-vim developers often thinks vim must be a text editor for writers, not software developers because it does things like paragraphs and sentence text object or spell checks which doesn't normally map very well into a developer's toolbox.
Non-vim writers often thinks that vim must be a tool for software developer, not writers, because tools like completion, jump to tags, etc which doesn't normally fit into a writer's toolbox.
Actual Vim users knows that both sets of developer and writers tools actually worked for each other's scenarios very well.
Great video! Learned about workspaces that I did not know before. Some other notes:
1. You shouldn't use the :o (open) command, which was meant for vi compatibility. Instead use :e (edit) command.
2. Instead of running :q repeatedly, you could do :qall (or just :qa) to completely quit vim and all open buffers.
3. Visual block mode is so much more than just (I)nserting or (A)ppending to line items. You can also execute regular vim commands over them. For example, instead of doing the three tasks in different commands, you could do ":norm IThe \\2fjceover\\A dog" over the visual selection range and it will convert "quick brown fox jumps jumps the lazy" to "The quick brown fox jumps over the lazy dog." on all lines. (I've mapped \\ to escape here, but you could enter esc directly with ctrl+v too).
Perhaps I'm misunderstanding, but also writing literally "" (less-than, capital-E, ..., greater-than) is the usual way to include an escape in something.
Completion is also context aware: start with Ctrl-P and continue with Ctrl-N Ctrl-P. Repeat until you have everything you typed previously. Ctrl-X Ctrl-L works with entire lines. Enjoy!
It's cool. Even before you know much about it. And then you discover plugins (vim-javascript, vim-rails, etc). And then you never use any other editors again. And then you discover that it works flawlessly via SSH and is preinstalled on every OS - and you work on files on a remote PC as if it's in your room. After which you feel pity for people who got used to other chunky IDEs (Netbeans etc.) and are stuck with them and can't do much on the remote servers on the fly. And after all that you discover, that the habit of writing Vim-scripts turned you into a Metaprogramming Guru. When others look for a button that does the right thing, you just make yourself a button or a script. And after that, you see that being a programmer for a company is stupid because when you can work x5 times faster, you don't get paid x5 times more money. And then you launch metaprogramming projects you created in Vim to be used by other people as your consumers and you make the world a better place.
Folding is another one good one to know, ie: zf, zfap, zfip, etc. etc.
And, as I just learned recently, vim has a `t` text object (like [w]ord, [s]entence, or [p]aragraph) which is (basically) for HTML [t]ags. So you can zfat ([f]old [a]round [t]ag)! It's very nice when you're trying to understand someone else's HTML.
I would like to thank you for showing me the session tip. This saves so much damn time for me! I have 4 tabs open and like 3-4 split windows each tab with a terminal on one of them. Glad to know this will save me a couple minutes of setup!
Thanks for watching
10:37 - Visual-block mode
- get visual-block mode; - select 5 lines; - get in Insert Mode
Typing what you want; - Exit from the visual-block mode
End of the line changes:
- comes to end of the line ; - get visual-block mode; - select 5 lines;
- get into Insert Mode ; Typing what you want; - Exit from the visual-block mode
it's more interessting to open multiple files in buffers, and reserve tabs for multiple workspaces (set of buffers)
Indeed. My advice is to use tabs to cut through logical views of your code.
For instance, in a devops project, I would use one tab for the things running outside of the docker container, and another tab for the code which is meant to run inside a container. Use this in combination with the lcd command.
Quick and dirty: lcd %:p:h
% stands for current file, p stands for path, h for head, meaning the directory of the current file.
How about tabs vs tmux panes?
@@nobytes2 I may be wrong, but tmux panes will means multiple vim instances, so you won't share opened buffer between these instances.
@@makc The best way to edit multiple files in vim I found so far is to install Airline plugin - it's a status line, which has a "tabline" feature - it shows all open buffers in a "tab" fashion - looks similar to what you show in video with multiple tabs. You can have a look at it here: i.stack.imgur.com/cq8D9.png
github: github.com/vim-airline/vim-airline#smarter-tab-line
This approach is better to what you show in the video, because what is called "tabs" in vim is actually something like "instances of vim". What people typically mean by "tabs" is something called "buffers" in vim - every file you open to edit loads into a buffer, and then you interact with this buffer. After you save it, it writes to the original file. If you open vim and then edit multiple files by running ":e file", all those buffers stay open and you can switch between them using ":bnext" and ":bprevious". The plugin I mentioned helps only by actually showing you your opened buffers in a "tab-like fashion". With this approach even sessions work - if you open a saved session, it will load all the buffers you had opened (not the case with using actual vim tabs, session only saves what's on one tab). I hope this helps :) Good luck with vim (you should probably move to neovim though).
As long as all open buffers are "availible" in all the tabs, that does not make sense for me to use. If I switch buffers in a tab and can switch to a buffer that I actually use in another tab, it just has no benefits. How do you use tabs? Does it not bother you that when cycling through buffers you almost always open buffers that you actually do not want in this tab?
The command “:qa” quits all open windows and buffers. Saves time not having to do “:q” over and over.
@@makc You can also do :wa (or :wqa) to save (or close) everything at once
ZA or ZZ is way better
Shift + ZZ is Killer
I tell my buffer to catch some zzz
In the macro example, you can change the words even faster by selecting the word in visual block mode, going down and then hitting c to replace
About macro.
You can use visual mode instead of repeating macro. Press ctrl+v and select vertical line. Then press Shift+i and type something. Then press Esc. You will see what in all lines inserted same symbols as you typed. This is good way to comment blocks of code.
Did you watch the video?
11:16
@@JamesBond-jk8ot to be honest, i watch it with rewinds... when i saw Makc repeating maco, i thought he missed visual mode.
Thanks for showing me the macro feature! makes it so much more worth it using vim
Thanks for watching!
here's a cool thing that I've learnt
marks
you can press m + any lowercase key and you'll kind of bookmark a place in your document (i think you can also use numbers, not sure)
to go to it just do ' + name of the mark
and the uppercase letters for spicific files, so 'V could be your vim config, and 'L could be lua config, and so on.
You guys are so hardcore. I just use Intellij with mouse clicks. Lol. Vim for me is strictly to view server files. But definitely learned a lot! Thank.
For new people, useful info -> Vim is around 14 years old and a lot of the codebase shows it. ... Vim runs through every plugin on at a time to initialize, while neovim is asynchronous and can startup multiple at the same time. Vim also uses a language called VimL (sometimes called vimscript) where as Neovim can use Python, Lua, Ruby, etc.
The problem with visual block mode is that you can only select exactly a block, so if there were line-breaks between your quick brown foxes you wouldn't be able to edit them that way. True multi cursor editing is something I've kinda wanted in vim, but the lack of it hasn't ever bothered me enough to actually learn how to get it in vanilla vim (which I bet you could), or to get a plugin for it (which I'm *certain* you could).
Also, I say with embarrassment, I didn't actually know you *could* insert text in block mode... I always press `i`, then recall that it doesn't work, get mad, then do `:norm iblah blah blah`. I'm gonna go vmap i (uppercase 'i') (I think... or maybe I'll just learn to press shift too).
Don't forget about the range command!!!
Seems to work better for multicursor stuff if you know regex
:starting line number,ending line number command
So :23,55 s/quick/fast/
Works with standard commands like yank, paste and delete
Also you can change the range to a % and encompass the entire file.
:%s/quick/fast/g will change all instances of quick in the file to fast.
Also, if you have an ugly JSON file (and you have `jq` installed), you can run `:%!jq` which will basically filter the file through jq, and prettify it.
Or, if you have a set of lines (and I *do* mean lines) which are JSON, you can select them, and run `:'
My favorite trick is exiting vim- takes a some effort to master but worth it!
Don't over use macros. There are times when macros are necessary but most of the time you can simply use regular expressions which are also very powerful and many times faster than macros. Running a macro a 100 to a thousand times is very slow while using a regular expression is almost instantaneous.
As some1 said. Try buffers except of tabs
Because tabs is not what we thinking usually. Tabs is workspaces which can contain buffers(which is just allocated memory for physical for file). And buffers is much more closer to `normal` editors tabs.
Have been using vim for 2+ years, now using spacevim + NeoVim. Some of the stuff here were unknown to me. Thank you.
Custom workspaces is a feature I did not know! Damn! Thanks for the tip 😄 At work, I have like 3 tabs with 4-5 windows each and terminals. This will definitely help!
Good video, I read the book "practical vim" and this video is a summary of the best tricks contained in the book.
I've been using visual studio code for a couple of years now but after installing linux on my laptop a few months back i started watching youtube videos related to linux and everyone keeps talking about vim. Today i understand why, and thanks to this video i will start replacing vs code in vim because once you get good at it, it is so much better...
I watched a dozen videos on vim but this one was by far the best one and the one that gave me the motivation to switch to vim. Hopefully with hard work and repetition i will become a vim master and will be able to write a 10 minutes worth of writing code in another text editor in less than a minute in vim :)
Just do vimtutor over and over again. That’s the best way to get started
@@makc i actually started that im on lesson 3 now (dont have much time to spare cause of the university but i am trying)
Awesome. Once you get familiar with it, it’s easy to run through vimtutor everyday in like 10-15 minutes as a refresher
@@makc love that idea! I might just do that
Great video. I love the use of macros. I could see that being useful for writing the output of common bash commands.
I recommend also looking into the "change inner word" or "delete inner word" feature. It's revolutionary. It becomes even more powerful combined with the dot character.
I actually remember that feature exists as soon as someone mentions it, but I always forget about it in the moment. It is awesome though.
Thanks for watching!
If this video won't pull people over to vim probably nothing will. Well done!
Thanks for watching
Hey! Great video. You really hit on some of the best parts of vim. I hope it's treating you well.
Macros are super useful, and I just wanted to give you a quick golden nugget that I use allllll the time! :D If you use @c to replay the macro stored in register c, you can use @@ the following times becuase @@ is like a macro REplay. :) Also, I use @: a lot to execute the command that I just typed into the command-line.
I use vim nonstop, so I could go on and on and on and on and on hahaha, but I hope that these little tidbits of info prove useful to you.
Take care, and I hope you keep making good content and help inspire others. :)))))))
I think you could also just use . instead of @@ since the former repeats the last command
@@pmmeurcatpics . only repeats one action. @@ repeats the last macro, which can incorporate multiple actions. Good idea, though :)
@@VioletJewel1729 oh, didn't know that! Thank you:)
Wow, this video alone boosted my productivity in VIM quite a lot! Thanks man :D
your visual block mode append to the end would have worked within the first visual line in the front as well
you can Ctrl V 10j in the beginning of the line do your insert and do Ctrl OA to get into execute-a-single-normal-mode-command-now-mode and use A to get into insert at the end of the line mode and then just continue typing. (obviously esc in the end and then your gonna get each of the two actions both performed at the selected lines)
I was searching for an exit command to close Vim but all I found was a Vim tricks videos... So this is how I stayed in Vim and started using it.
The background about "l'infinito" by Giacomo Leopardi add style to everything.
Nice video by the way, very useful for me.
Are you American?
@@lorenzoguideri7815 I'm italian.
very nice video man - I love vim, been using it for about 8-9 months now - still learning a lot and randomly came to ur video - nice work 👍🏾
I learnt some new stuff right there, so thanks for putting that all together.
You can type in @@ to repeat the last played macro, like how . can repeat the last action. Very powerful.
Visual block mode does compare to multi cursor editing. Multi cursor editing lets you drop cursors arbitrarily or by a regexp which is quite a bit more useful than just editing several adjacent lines in the exact same column-position.
Nice! I'm learning vim and this was very helpful.
Btw, "fr_ch" is Swiss French, but perhaps you knew that :)
The fastest way to autocomplete is which turns on autocomplete mode, and completes the line. Just a heads up
Inside of the insert mode
8:49 a text synthesizer; vim has a text editor, it's called insert mode.
Great video! I had myself coming back here to get reminded of -p and :mksession
Can you share your Mac os setup as well? Window managers, spot light replacement etc
I think this video covers most of that: ua-cam.com/video/6-xur2-mf2o/v-deo.html
Also when I use MacOS, I usally use Alacritty as a terminal (don't think I talked about that in the video)
Caspar David Friedrich, at last, a man of culture. One thing bothers me though, the heck is with the display of your powerline characters in iTerm2? Please go to iTerm2 -> Preferences -> Profiles (then select your profile) -> Text... and then check '"Use built-in Powerline glyphs". Thank you.
*Just got this in my recommendations*
Very nice
I recently start learning vim, I really liked and your video make me more interested in using vim. Thankyou
Wow ! I am a vi user for a long time and never knew about theses tricks in vim. Good to know !
Thanks for the inspiration.
How come you didn't use quicktime for screen recording on OSX?
It would bring you a higher video quality. Maybe it's just a setup thing in OBS, but the quality is very low for 1080p.
Anyway, good job on presenting vim features.
@@makc Cool. Thanks for your response. Ok, that's interesting. Never had such issues with QuickTime, but yeah, I should have rephrased that, regarding the better default quality in quicktime. I've never used OBS so I can't really judge, but the not so good video/image quality besides the very good content and audio quality just confused me :)
+1 karma for the workspaces. :)
New comer to vim - thanks for the tips. I have already started using the mksession and file explorers. That multiple cursor thing was mindblowing though.
I don't know i can save session! NICE!
Great video!
Could you please share the link to your wallpaper? The wikipedia link has a picture with a weird resolution for a wallpaper
very interesting here the advice on how to use mksession on time 2:33, and the multi spell languages
great video, and great work!
already knew some tricks however there are some others that I did not, good job!
I was totally blown away my the macros . thanks for that and
the thing you told about multiple cursor to make changes to 1 or more lines doesn't work in my case
can I get some help?
that Interstellar reference 😲
People more familiar with macOS may reckognize vim's "visual block" (C-v mode) as "Column Select" (opt+mouse). If you're looking for true multi cursor, there's always github.com/terryma/vim-multiple-cursors.
When it comes to completions, you're in for a fun ride :). Something like github.com/dense-analysis/ale can handle language servers, along with linters and formatters. There is also github.com/neoclide/coc.nvim, which is much more intense, but very powerful.
Did notknow about that one. Goodbye wonky NerdTree. Thanks!
I recently discovered and subscribed. I really like your content! This is a great video, thank you. I am wondering if you've considered using VScode with a VIM navigation extension for dev projects or if you have a reason for not using VScode. Am I possibly not deep enough into my Terminal/Vim journey to understand? Thank you again for your videos!
Stage 1: Vim allows to open files in multiple tabs 🤯
Stage 2: You don’t need multiple tabs to open files in vim. Just use buffers 🤯🤯🤯
It seem to be self exp;aining, 1/ Trasnperant screen (-) 2/ Font size (-) so to whom he is showing this presentation?
Best channel please continjr making more videos
This was great - thank you!
Thanks for watching 👌
How did you manage to make iTerm2 look that way? 🤩 I have set up the transparent look but would like to remove the borders and tabs as well
Can I ask you how you do this zoom effect in video? I want to do the same when I make my video tutorial.
This is great idea.
Scale up part of the video in post
Hi Makc,
beautiful video. good job.
May I ask what your connection to Germany is? (referring to the DE_DE spell lang setting).
Also which font did you use to blend in the topics?
Thank you
Greetings from Germany
@@makc Awesome. Thank you very much for responding. Have a great day and happy vimming.
I don’t think autocompletion is more useful to developers than to non-developers. I do translation professionally with vim, and whenever i have a term or name than spans several words repeated in the text, like company or product names, contextual C-xC-p saves a load of typing!
I have noticed that it comes in clutch for general purpose writing quite a bit as well. Might have been wrong to make that statement in the video.
Interested to know how you've got iTerm2 setup. How have you got rid of the icons (close, minimise, fullscreen) and the top status bar?
It's been a while since I've used iterm, but I'm pretty sure it's a setting, where you move the window decoration to the side or something, and then set the tile bar to minimal. Something like that, a little bit of fiddling around should get you there.
That background image gives me german lesson flashbacks... :D
:mksession is pretty cool, thanks for showing it
Danke for the handy tips and tricks!
The downvotes are from emacs users
Vim tab is not so powerful, because all tabs share the same buffers. Just use buffers in one tab. Simple and efficient.
Thx a lot for this!!
Thanks for watching
fr_ch is actually swiss french, not really from France, so not sure that's the one most people will be looking for.. :)
9:17 - forward slash*
great video and explanation!! kudos!
Did you use any plugin for the resize? How can you resize the tab so fast?
You hit control + w then you use the greater and equal to sign to either decrease or increase the width.
`fr_ch` is actually Swiss French, not generic French (`fr_fr`)
This was nice. thank you!
Hey I have a quick question. Why does control commands, such as Ctrl n for the autocompletion, show up as capital letters? ^N instead of ^n for example. I know the ^ represents "Ctrl" but ^N would sound to me like "Ctrl Shift n" but it's actually just Ctrl n.
fr_ch = Swiss French
Great video man! Thanks a lot!
How are these command showing in the bottom?
Hey, how did you get your iterm2 window to not show the "bar" with the red green and yellow buttons at the top? I really enjoy that minimal look.
Nevermind, I found it. To anyone wondering: Go to iterm preferences > profiles > (Choose your default profile) > Window > Style: No Title bar
Hi how are you mate i was checking out your videos you got pretty good content , do you do tutorials too?
I don't know how to characterize the videos on my channel.
Now that's a neat video
Now that's a neat comment
@@makc "You're pretty good"©
😽
Great, thank you!!!
I loved this video c:
Good tips.
@MAKC I've been searching for the longest time to find a way to remove the title bar from Mac applications. What did you use to remove it? Links and references appreciated.. Thanks in advance
It’s sort of application specific. I think I’m using Alacritty there & it’s just a line in the config that stops MacOS from rendering the title bar.
Great tips ! Thanks !
@Makc - Which themes are you using for vim / airline ?
Great video
Vim or Neovim, What to use?
How do you set iTerm2 to not having any frame including those min/max button?
ua-cam.com/video/eXyrTFNsdHA/v-deo.html
:tabnew will also open a new tab
How do you resize the split using the arrows?!? Thanks
Not fr_CH = Switzerland french. Even if I don't think this makes a difference. If you want to do this the right way, simply -> fr_FR