Timestamps: 0:24 - Relative line numbers 2:26 - Mapping Esc to Caps Lock 3:22 - :norm 4:41 - C-v (similar to :norm A & I) 6:04 - in(de)crement numbers with C-a / C-x 8:36 - using o to change visual select direction 9:24 - % for jump to matching pair: ({[ 11:04 - i / a (inside / outisde) 13:55 - W vs w 15:51 - Invoking external scripts/binaries 19:08 - Creating (dynamic) snippets 20:25 - Using netrw/fzf/search
@pypypy42283 ай бұрын
do the timestamps in the description to the vid and your video would be nicely divided into navigable chapters
@andreasplata22 күн бұрын
@@pypypy4228 The man needs watch-time... ;)
@GOTHICforLIFE17 ай бұрын
highly recommend placing some segments and timestamps on these videos, as you rarely have everything being new for Vim users. That way we can easily click to those points that might apply.
@pldvs8 ай бұрын
Has to be the most underrated piece of software ever. I'll never go back.
@flflflflflfl8 ай бұрын
You think vim is underrated???
@excel95668 ай бұрын
i'm sorry
@pldvs8 ай бұрын
@@flflflflflfl By people who prefer nano.
@flflflflflfl8 ай бұрын
@@pldvs ok but that's that's like, 7 people
@pldvs8 ай бұрын
@@flflflflflfl I think you'd be surprised.
@דניאלאביב-ו6ת7 ай бұрын
One very helpful keybinding in vim, is Ctrl+R in insert mode, when pressing it you are able to paste directly from some register. I was finding my self a lot of the times, just pressing escape to go into normal mode, and press p (to paste) and i again to move to insert mode. It is very helpful...
@yash11527 ай бұрын
thanks if it works. will try it next time i get my hands on nvim.
@adammontgomery79804 ай бұрын
Nice, I like ctrl-o to go back to the last place you jumped from. It's a lot easier than moving from buffer to buffer or setting marks.
@BarraIhsan4 ай бұрын
thank you!
@michaelroditis19523 ай бұрын
u is undo ctr+r is redo, "+p pastes from the clipboard
@polic72andDrD3ath3 ай бұрын
Something else really cool you can do in this vein is Ctrl + o while in insert mode. It will take you to normal mode for a single command then jump you right back to insert mode. I use "Ctrl + o, p" all the time.
@andrewiglinski1487 ай бұрын
Dude I've been using vim for almost 2 years and you're the first person that's actually taught me something new past the first month of this endeavor.
@nahblue7 ай бұрын
I've been using vim for 15 years and I learned something new from the video
@LeviNotik8 ай бұрын
Great video, nicely done. Didn't know about o for adjusting the visual selection. I've always cancelled and started from scratch when I screwed up. No longer!
@Yeet_the_code8 ай бұрын
Set environment variable "EDITOR=vim" or whatever you like Write some command in your bash terminal and press (CTRL + X & CTRL + E) This allows you to modify the command you want to write by opening up the command in your "$EDITOR" Especially useful when writing commands that you want to split over multiple lines, but still be executed as if it was all in one command. Or just want to get some syntax highlighting in your favorite text editor. Most people might already know this... but if you don't, you're welcome.
@SebastianDaschnerIT8 ай бұрын
Yes, been using that in my zsh/vi-mode setup, very helpful!
@ivanheffner25877 ай бұрын
Got a typo in your previous command (or just want to edit it and run the new command)? Try `fc` to “fix command” using your $FCEDIT editor.
@teohz8 ай бұрын
One of my favourites has to be a way to "encase" text in quotes/braces/etc: replace the text either after selecting in visual or with motions, i.e. cw {" " "} --- the " after ctrl+r pastes the text you just cut from the " register.
@ElPikacupacabra8 ай бұрын
...noice 😮
@SlothWindGod8 ай бұрын
Couldn't you just use "p" to paste the text instead as by default it pasted from the " register?
@ElPikacupacabra8 ай бұрын
@@SlothWindGod You can, but you have to exit insert mode and navigate back two characters before pressing "p". About the same.
@SlothWindGod8 ай бұрын
@@ElPikacupacabra ctrl + o to perform a command from insert mode means you don't have to navigate out of it
@ElPikacupacabra8 ай бұрын
@@SlothWindGod You're not in the correct position I think 🤔. But many ways to skin a cat
@Snollygoster-8 ай бұрын
Vertical visual mode with the multi cursor was the only thing I saw an emacs user have that I wanted, and vim turns out to have it too. It's such a nice experience using that. Absolute chad developers.
@yash11527 ай бұрын
how multiple cursor?
@levonschaftin36763 ай бұрын
@@yash1152 how english?
@yash11523 ай бұрын
@@levonschaftin3676 not matters for me. u do u. ppl dont respect my-lang, i won't respect theirs. simple-that. > _"how english?"_
@radicalchange940319 күн бұрын
how mad?
@NguyenHoang-uf1kt3 ай бұрын
I’ve been using Vim for the past few weeks, and you’ve saved me months or even years of learning. Thank you, Sebastian!
@catfan56188 ай бұрын
2:59 Mapping escape to caps lock is pretty easy on every major operating system. Under MacOS its under Settings/Keyboard/Modifier Keys and under Windows you can install PowerToys by Microsoft and do it under Keyboard manager/Remap a key. I highly recommend doing this.
@EmielvanGoor8 ай бұрын
What the...! I absolutely love that :norm command! I didn't knew it was that easy! Thanks a lot Sebastian.
@pldcanfly8 ай бұрын
Yep! Gamechanger!... And here I was q-macro record such things and then @q all the lines or do some fancy recursive things. This makes things so much more easy!
@EmielvanGoor8 ай бұрын
@@pldcanfly I did exactly the same!
@vutranang80538 ай бұрын
true, that :norm blow my mind
@SethMilliken7 ай бұрын
Another nice one with some of the text-objects (i.e. va", vi
@SebastianDaschnerIT7 ай бұрын
Oh nice, thanks!
@zyriab57978 ай бұрын
You can use i/a with a lot of stuff: f = function p = paragraph t = HTML tag And probably a ton I don't know about
@nahblue7 ай бұрын
f requires treesitter and neovim- I think?
@vikingthedude4 ай бұрын
@@nahblueyes
@sutirkАй бұрын
Function, class, conditional and other programming specific objects require treesitter or something similar. But you can get away with { or B, and ( or b in vim. Quite helpful. See :help objects
@nahblue7 ай бұрын
I like automatic session saving, that's the big one I've learned recently. Didn't get into it until it was automatic in some neovim config I was using. It always saves your session on exit, and when starting vim there's an *option* to resume the session by pressing a keybinding - and it knows which session based on which directory you are in.
@sambrown76912 ай бұрын
Im watching this by myself in my car and you had me yelling "WHAT?!" and dropping my jaw like half a dozen times. Fantastic stuff absolutely taking some notes on this
@QuinlanShanley2 ай бұрын
Long time vim user and I learned a couple new tricks. Great video. Subbed. Look forward to seeing more of your videos.
@DanAlmenar8 ай бұрын
sessions and copy-paste to/from clipboard (I don't have clipboard support) has been my newest tools for vim
@aksh16187 ай бұрын
Nice tips, subscribed! One suggestion for such videos: you need to code in the memory of these things otherwise anyone will forget them 5 minutes after watching! The way I remember these is how the creators of vim motions intended it: by looking at the meaning of the letters, such [o] for [O]ther end of highlighted text, and [a] for [A]round.
@julian-fricker8 ай бұрын
Been using vi/vim/neovim since 1992 and still learn new things from this kind of video, o especially. What are you using for the markdown headings to be shown at the top of your screen as you scroll down? This was in the section about relative line numbers.
@SebastianDaschnerIT8 ай бұрын
That's the 'wellle/context.vim' plugin
@jimcarroll9738Ай бұрын
@@SebastianDaschnerIT for whatever reason I was able to install 'wellle/context.vim' (Lazy) but couldn't get it working with an example Markdown file (such as you demonstrated). Stumbled across 'nvim-treesitter/nvim-treesitter-context' and installed that instead. All sorted now.
@creativenull8 ай бұрын
I've know almost all of them for a while, but these are some great tips! For me, I had to turn off relative numbers because it was not great for pair programming with a colleague when they had to point out at what line should a change go, etc, but overall is a nice feature that I like One thing I learned from this was the `o` in visual mode, that's actually pretty neat I think I might start using that instead of thinking about where to start the highlighting from and to, everyday you learn something new in vim 😅
@inertia_dagger8 ай бұрын
you can execute your line number in ex mode, for example :141 would go to line 141
@zyriab57978 ай бұрын
You can also type `141G` :)
@creativenull8 ай бұрын
@@inertia_dagger That I know but not what I meant. For example, when I'm pair programming with someone and they want to suggest a change at a particular line. With relativenumber enabled, they won't be able to tell me which line in the code to go to and might get confused by the numbering (that I would understand). It was just easier to keep relativenumber disabled for the session or entirely so that my colleagues can better direct me 😅
@inertia_dagger8 ай бұрын
@@creativenull hmm, you could disable relative line numbers in pair programming with :set nornu
@creativenull8 ай бұрын
@@inertia_dagger yup exactly!
@VinitNeogi8 ай бұрын
Didn't know about o for switching direction of selection
@CNich90Ай бұрын
Really cool tips and some I haven’t seen before but also very practical for common use, thanks!
@iusearchbtw694 ай бұрын
That *W* is a replacement of my *t* Tysm mate, gotta use it more often
@r4s36 ай бұрын
I've been using vim for years and knew I knew about invoking with ! from command mode but the fact that you can replace the contents in place with the output blew my mind.
@piotrekgebala25242 ай бұрын
I didn't know about increments. Great tip, thank you!
@name1355_0ne2 ай бұрын
Very nice advanced level tips. Thanks a lot for sharing!
@mainframe93746 ай бұрын
Interesting. Actually I use "w" and "W" constantly, it's basically one of my most used navigation ways
@MrPolyphonicpoi8 ай бұрын
Windows users - reading the friendly manual: "Since CTRL-V is used to paste, you can't use it to start a blockwise Visual selection. You can use CTRL-Q instead."
@SebastianDaschnerIT8 ай бұрын
Oh man... isn't Windows fun 🤦♂️ Thanks for pointing that out!
@polic72andDrD3ath3 ай бұрын
I use WSL2 and disable CTRL-V pasting in the terminal window for that exact reason. If you can get in the habit of setting paste to CTRL-SHIFT-V, then I can highly recommend it.
@somnvm378 ай бұрын
the thing that I use in vim is that, in KDE you can download certain keyboard layouts that have 3rd and 4th layer, and then in keyboard settings select "use caps lock for the third layer" now if I press caps l I get ľ, caps j gives ± and so on this allows for a lot of new potential keybindings, ď for emmet ľ for esc ± and ł for scrolling by line [C-Y and C-E] so now i can move cursor with j k and move screen with caps j k (every press moves the screen by 1 line) also š for :w i only have these right now, but I can add more in the future [oh and also, in kde settings you can make caps mode go on from both shifts being tapped at the same time]
@heroe14868 ай бұрын
Nice video, for fuzzy finding I personally use fzf-lua and Telescope, I have a script that spawns fzf-lua if I'm in my home directory (since way faster) and Telescope otherwise (with the smart-open extension that gives you a mix of old opened files, ones from the current directory etc, all of that weighted). But I recently discovered that you can have a whole "real" (like ranger or vifm) file manager inside of neovim, I'm thus now also using the yazi file manager inside of neovim, you can do everything from within it, cd, use zoxide, fzf, searching, and ofc copy/paste/cut/rename etc, it can even preview images. But I'm using neovim as an "IDE", so it's pretty much essential to have convenient navigation.
@SebastianDaschnerIT8 ай бұрын
Nice setup. Yes, that's also what I found, when you use Vim as an IDE, you're well-advised to use Neovim with such plugins, esp. good navigation. For me, my (simpler) Vim setup works well
@TechJolt3d8 ай бұрын
Interesting, I'm just using netrw as my file manager in vim.
@007arek7 ай бұрын
There is a plugin `fm-nvim` that allows to spawn any predefined program inside a new buffer - lazygit, broot or ranger
@devfagundes7 ай бұрын
Nice video! I recently learned about the ctrl+f trick in command mode, its usefull
@lasombra_br8 ай бұрын
Fantastic video, Sebastian! Really interesting with some great tips!
@secondculs5 ай бұрын
norm is a pretty new to me, this is really great to put in to my arsenal
@pv32018 ай бұрын
Had no idea about o or using ex mode with . on a visual selection.
@exegeteio8 ай бұрын
w/W is great, but don’t sleep on b/B for going the other way. o will be a game changer for me. Thank you!
@fplove8 ай бұрын
After 25 years of use there are still vim tricks and commands I still don't know.
@sharperguy2 ай бұрын
I really like having it set so that relative line numbers turns off in insert mode, and back on in edit mode.
@phaberest_8 ай бұрын
Loved this! Thank you Sebastian, awesome content
@rodelias93787 ай бұрын
Nice vídeo. However, I think the dynamic snippets section should have better explanation.. I mean: how to really do it the way you just show us?
@SebastianDaschnerIT7 ай бұрын
Oh ok, what part of it wasn't clear? You use a snippet plugins (I use honza/vim-snippets) and you expand them (per default I think it's )
@andrewmagerman25743 ай бұрын
@@SebastianDaschnerITneeding a plugin was not clear.
@MarioDanielCarugno3 ай бұрын
What plugin do you use for the 'sticky scroll' feature ?
@roryhendrickson5 ай бұрын
I needed these tips, thanks for sharing!
@odanabunaga25057 ай бұрын
Would you consider making an overview of vim plugins that you find most useful in your everyday work? Or have I missed it ?
@justcorsin3 ай бұрын
17:16 neovim already comes with a ":sort' command, in case you didn't already know.
@kamalchan97563 ай бұрын
also a nice tip about relative number configure you vimrc so when you are in insert mode it switches to relative number and when you are in normal mode switch to numbers this will help
@SlyPearTree3 ай бұрын
How do you lock lines at the top and have their line number stay relative to bottom window?. If I use split then both windows' line number stay relative to their windows.
@jacedenny71604 күн бұрын
Ctrl-f in command mode allows re-use and editing of previous commands.
@Vic-ky3cc5 ай бұрын
This was very insightful, thanks
@NormTurtle8 ай бұрын
did i knew it already : YES did i watched it again : YES
@AlekseyKznАй бұрын
all is cool thank you but sometime it is hard to see what you pressed. it would be great if pressed combination scrolled up and stay on screen at least 5 last command.
@1234minecraft56785 ай бұрын
You can use W in ciw as well it does the same thing as cW when youre at the beginning of
@chai017247 ай бұрын
Thank you for this video! Espanso is a great text expander to check out too!
@buildervision70827 ай бұрын
Great content, learnt something new
@mvargasmoran7 ай бұрын
I have relative and absolute numbers, so when I share my screen my team mates can point to the line they want me to go naturally (or in a way they are familiar with).
@eavdmeer2 ай бұрын
Any line numbers look absolutely ghastly to me. The relative ones even more so. I just have 'set ruler' on so the line/column number is shown only once at the bottom. Having said that, as a user of vi/ex from about 1993,there were surprisingly many good tips in here (albeit more vim features). The increment and selection direction swap especially
@josephbolton80923 ай бұрын
I learned a lot, thanks!
@cristobaljvp8 ай бұрын
I'm definitely gonna use that `o` visual mode trick
@briansepolen49173 ай бұрын
Control Left Bracket is key 27. I use that instead of Escape.
@lenickramone3 ай бұрын
a good tip is also have the intent of the comands: i - inside a - around o - other and so on...
@vanvothe48178 ай бұрын
Use control-[ instead ecs or remap caplocks
@zyriab57978 ай бұрын
Tap caps lock = esc Hold = ctrl Really nice ergo imho
@odb73936 ай бұрын
Sweet video dude!
@devshmsec6 ай бұрын
Could you please move the keylogger to above you? I think it will be better there.
@whym1here8 ай бұрын
What font are you using? it looks nice.
@SebastianDaschnerIT8 ай бұрын
That's JetBrains Mono
@joechea_8 ай бұрын
to select inside html tag vat 😁
@titanandrews3 ай бұрын
Good stuff!
@EluLawlielt8 ай бұрын
Hi Sebastian, thanks for the tips! What is the colorscheme that you are using (is it maybe default vim? I am an nvim user after all...)
@SebastianDaschnerIT8 ай бұрын
Not sure about the name; in oh-my-zsh I'm using the ZSH_THEME="afowler" (but I think with some modifications). I think Vim mainly adopts these. You can check out my Dotfiles, it's all there: github.com/sdaschner/dotfiles
@kaihwangche99755 күн бұрын
Great! i'm more and more closer to know how to exit vim.
@1234minecraft56785 ай бұрын
Well you could also use plugins and further enhance everything you do
@miguelborges79137 ай бұрын
a in selections stands for "around'.
@Fullflexno22 күн бұрын
super cool!
@kendlemintjed75718 ай бұрын
this is a great video, but you keystrokes are way to fast they need to linger a bit bc i can't keep up with them XD
@semanser8 ай бұрын
Is this some sort of plugin? I have relative line numbers enabled but don't can't get these sections/subsections stuff to work (2:04)
@SebastianDaschnerIT8 ай бұрын
Yes, it's the 'wellle/context.vim' plugin
@markleakos3737Ай бұрын
How do you lock lines at the top and have the relative line number refer to the bottom window?
@SebastianDaschnerITАй бұрын
Have a look here: github.com/sdaschner/dotfiles/blob/master/.vimrc
@zodoturtle6 ай бұрын
I strongly recommend against remapping of Caps Lock to Escape. When you do eventually switch computers, maybe trying to repair someone elses. Any keyboard remapping is going to make life difficult.
@SebastianDaschnerIT6 ай бұрын
That's right, but thinking in this limitation will sadly prevent you from a lot of optimizations that you can do on your system (starting with the keyboard mapping, over shortcuts, to shell setup). But yes, if portability is important to you, fair enough
@zodoturtle6 ай бұрын
@@SebastianDaschnerIT My reality is that I eventually had to physically remove my Caps Lock key after removing the remap in order to stop trying to use it as an Escape key.
@zodoturtle6 ай бұрын
I just use Ctrl+[ instead.
@chizuru19992 ай бұрын
i have been using vim for a while but is there any simpler alternative to vscode's "ctrl shift L" command and "ctrl d"? Basically multicursor
@SebastianDaschnerITАй бұрын
There is, there's multiline select (Ctrl+V), but in Vim, I'd rather go for movements plus re-do (dot . ) or macros
@LukasSmith8278 ай бұрын
Luke Smith would be proud, by far the best vim video I've seen
@ptys77773 ай бұрын
Awesome!
@Codigger-br2rt8 ай бұрын
How do I set up gvim to automatically load files that were opened when the editor was last closed each time I started it?
@markhunt64998 ай бұрын
Hello, Sebastian. Can you tell please which OS do you use?
@heroe14868 ай бұрын
Arch + i3wm
@ishaankapoor9337 ай бұрын
Which screen key software are you using?
@SebastianDaschnerIT7 ай бұрын
It's called key-mon
@soufianemssd8 ай бұрын
Can you please tell me, what plugin are you using for creating snippets
@SebastianDaschnerIT8 ай бұрын
It's called vim-snippets: github.com/honza/vim-snippets (though I think I forked it)
@jaadus8 ай бұрын
was kinda hoping you'd show how to create the snippets
@SebastianDaschnerIT8 ай бұрын
Have a look at github.com/honza/vim-snippets , it's quite straightforward
@Awwe1267526 күн бұрын
I still I don’t know how to use (hi syntax) and change the (cursor) and color of (cursor) I don’t like plugin
@CyperN0778 ай бұрын
I map the left arrow key to ESC in insert mode and down to write the file in all modes,
@SebastianDaschnerIT8 ай бұрын
Oh ok, that's an interesting one
@kamalchan97563 ай бұрын
how you did 1:47 the line after 103 # hello this is new to me
@gjermundification8 ай бұрын
0:28 `set nu rnu`
@AryanBuildingSoftwareАй бұрын
selection with o goated.
@rendivs6 ай бұрын
super coollllllll
@odanabunaga25057 ай бұрын
how did you make this split happen at 1:48?
@SebastianDaschnerIT7 ай бұрын
You mean the lines inbetween the example titles that I created to show the contexts? That was just a high number (I think 100 or so), and o for creating a lot of newlines. Or do you mean this context-aware plugin in general? That'd be wellle/vim-context
@odanabunaga25057 ай бұрын
@@SebastianDaschnerIT Yes it's the plugin I was curious about! Cheers! Thanks for the tutorials, they are awesome!
@adjbutler8 ай бұрын
that is all well and good... but how do you exit VIM? can someone just tell me!!!
@pldcanfly8 ай бұрын
Pull the plug out of the wall. If on a laptop, wait for 2-12 hrs afterwards. (Please don't just power off your computer, bad things can happen...)
@anasouardini8 ай бұрын
7:23 I feel like I'm flying!! thank you.
@sub-harmonik8 ай бұрын
I like "jk" =
@SebastianDaschnerIT8 ай бұрын
That's what I had in the beginning as well, but I like having a reachable Esc on my system anyway (hence on Caps Lock)
@yash11527 ай бұрын
== i didnt know yet: * o: switch selection direction * snippets * fzf/explorer inside vim == i already know & use daily/prominently * relativenumber * :exe & :norm * C-v box visual mode * i/a: in/around * w/W * scripts, is it talking about :! ? == i know but disagree with: * Mapping Esc to Caps lock * %: jump to matching: finnicky & unpredictable
@yash11527 ай бұрын
still missing things: * multi-cursor * change case of word/letter * how to specify case insensitive search (with / or ?) * paste as replace mode * :z to scroll current line to top is not working at times * sending neovim to background to run some command etc (no, i dont want to use ! exclamation) * move past the last character i.e. at the line end newline char (this often helps with `db`)
@gjermundification8 ай бұрын
17:20 vim has its own sort, no?
@SebastianDaschnerIT8 ай бұрын
Oh yes, that's right. I'm just used to the Unix commands, I guess :)
@gjermundification8 ай бұрын
@@SebastianDaschnerIT The moment you bring a pipe to the equation shell is the way to go.
@TawaraboshiGenba8 ай бұрын
Of course I know how to exit vim... It's sudo killall vim
@gmatht2 ай бұрын
Please don't do that. pkill is more portable than killall. On Solaris killall really kills ALL processes, not just vim. :P
@mvargasmoran7 ай бұрын
How do I exit vim? 🤣
@pustunt8 ай бұрын
I wish I had no need to deal with VIM
@NostraDavid27 ай бұрын
Just use Nano. It's fine if that works for you.
@pustunt7 ай бұрын
@@NostraDavid2 both are usless, look aroud it's 2024 already
@philpeko17964 ай бұрын
Use Notepad! 🤣🤣
@andreasproteus14657 ай бұрын
Lose the talking head.
@jake1155772 ай бұрын
It's hard to see what you are typing man. Good content tho.
@onetwothree123-7 ай бұрын
About math, you don't need to increase/decrease number by one using or actually if you need for ex. increase number by 10, it will looks like this 10