Thank you Wifeagen! Your sponsorship is invaluable to the community! Prime, between you and TJ I was just giving Neovim a try. It was time to learn why sitting on trees looking through telescopes is so appealing... Now knowing 9 breaks backwards compatibility: I might as well try the lua config too. Thanks!
@j.m.manhard2 жыл бұрын
Well, they promised it would not break backwards compat and would want to avoid something similar to the python2.7-thingy back then...
@ThePrimeagen2 жыл бұрын
its EXTREMELY hard to keep backwards compat with a language that was designed to be a REPL to begin with. full language > REPL language and now they deal with that
@FedericoPedemonte2 жыл бұрын
"Wifeagen" 🤣
@AdrianMNegreanu2 жыл бұрын
it's absurd you didn't even bother to read the vim9 release notes but here you are now, bashing it. i guess rage-inducing videos/comments is what you're after as that's what youtube rewards
@AbelShields2 жыл бұрын
@@flagrantace9525 clearly you're someone who's never even given it a go. There's a vast suite of plugins for vim and neovim that make it at least as usable as vscode, if not more. I do use vscode (with vim keybindings), but for development work I often prefer neovim due to the lsp and autocompletion plugins and much less visual clutter.
@tobiasjennerjahn86592 жыл бұрын
I think overall it’s a pretty sensible decision. Vim has always been Bram’s Project and he decided that it’s going to stay that way. It’s unfortunate that this will split the vim community even more, but at least now it’s easy to choose. People who like the community driven development and velocity will choose neovim and people who like brams version will choose vim. I think that’s fine. No more “which is better”, they’re just different editors now.
@ThePrimeagen2 жыл бұрын
This is probably the most reasonable take. They're just different now
@rsmith314162 жыл бұрын
Keep in mind that neovim conveniently keeps merging patches from vim. Fixed bugs and improvements that are added to vim are being used by the neovim community all the time, and most of those changes happen in areas that actually make vim a great text editor. I think neovim's development team focus too much time adding IDE-like features instead of improving core features that have had longstanding issues in vim (vim's regex flavor is awkward to use, :vimgrep is slow, the internal pager is not very functional, just to give a few examples). Admittedly, it is easier to add more bells and whistles than refactoring or completely changing old features, but it is a shame that is the case.
@nymusicman Жыл бұрын
@@rsmith31416 I'm not sure that it's a good idea to fix vim's regex, because it does some very specific things for vim. Plus you can always use \v to get "regular" regex working. It's not that bad. I've never used :vimgrep so I can't say, but I know a lot of IDE nvim frameworks use a grep solution that is actually pretty fast. Plus you can always just run native grep from the vim commandline.
@rsmith31416 Жыл бұрын
@@nymusicman The reason core features will never be fixed is basically because it is too difficult, so neovim's team is happy to add more features around the edges. However, in an ideal world, the regex engine should be fixed. You can use `\v`, but that's merely a convenience function that it is useful if you don't want to escape too many special characters. It is not a replacement for a fully-featured regex engine. Yes, you can use the external grep in vim, but if you look at the output, since it is calling an external program, the output is noisy. It would be better to have a fast built-in vimgrep or at least, if you're going to call an external program, don't show the internal pager to the user. This has been a long-standing issue in the vim community for ages, but again, it is too difficult to fix without breaking backward-compatibility or introducing new bugs. This is why I had high hopes that Neovim would implement these features from scratch.
@RogerBarraud Жыл бұрын
@@ThePrimeagen Yup. And the difference is: One of 'em SUCKS!!!1! ;-)
@kuglepen642 жыл бұрын
Okay, so can we please have a guide to what would be a contemporary Neovim config. No old cruft, all the newest stuff. What does the killer config look like?
@nodidog2 жыл бұрын
You could do worse than watching the chris@machine video series 'neovim from scratch', its the most complete breakdown of setting up a full lua config that I've found, and it's a great base to start from
@techworld30432 жыл бұрын
@@nodidog yesterday i was thinking watching him.
@nodidog2 жыл бұрын
@@techworld3043 he keeps the repository up to date as well, so it's fairly easy for less confident vimmers to deal with API changes since the videos were released
@JavierHarford2 жыл бұрын
I second Simon's words, but would like to add if u wanna save a little time you could check out Lunarvim
@cullynn2 жыл бұрын
Summer 2022 full lua config, hit us PLEASE
@dredre70372 жыл бұрын
Agreed, weird choice to make. Also, as a user, I can motivate myself to learn Lua since it has the benefit of being used outside of vim as well. With vimscript, I never learned it and mostly copied things over since the syntax never made sense to me. Also thanks to the wife!
@ThePrimeagen2 жыл бұрын
hah! same, literally the same. I don't want to spend time learning a language that doesn't exist.
@lucho79712 жыл бұрын
@@ThePrimeagen so true, i had the same feeling while using it
@vorrnth87342 жыл бұрын
Actually it is a pretty obvious choice. You cannot be dictator if you share control.
@RichardBronosky2 жыл бұрын
I write all of my KZbin comments in Esperanto.
@user-lb1ib8rz4h2 жыл бұрын
@@vorrnth8734 ??? it's open source, that's why forks exist. if they wanted control, perhaps a better use of time would've been to address the issuess behind why people felt those forks were necessary in the first place (vimscript being one of them)
@nomathic76722 жыл бұрын
Thanks prime's wife for allowing him to reach his final form 🙏
@catalinoprea53132 жыл бұрын
goat
@lucabaggi39512 жыл бұрын
looking forward to a full nvim config series! totally agree on this one
@meerzulee2 жыл бұрын
Blazingly fast comment !!!
@uchennaofoma4624 Жыл бұрын
😂😂😂😂
@moncefkarimaitbelkacem1918 Жыл бұрын
Blaaaazingly fast 🔥 🔥 🔥
@maxscott3349 Жыл бұрын
It's super laggy and takes 45 seconds to load now
@totally_not_a_bot2 жыл бұрын
I don't really configure Vim other than setting various options. I'm not a professional developer so I don't feel like I need to, and I like simplicity. I'm trying Neovim because I like the defaults and the autoindentation is better. I also like how the configs are structured using the XDG config and data directories. I'm not sure I would install it if I had to build a system from scratch again. I tend to use custom distros with fairly minimal setups and configuration. If I can change a line in a default config, I will change a line in a default config. I use vim because I think it's simpler than emacs and I like ESC:w better then C-x C-s as I don't like pressing ctrl if I can help it. I can't be bothered to figure out how to enable evil mode since I'm lazy with my configs and I'm kinda stuck in my ways at this point. Vim is good enough. The emacs learning curve is also super intense. Basic Vim takes less than an hour using vimtutor. Vim also integrates with the system clipboard better. I had to install and learn a seperate package to use Neovim's clipboard functionality. That package _can_ be used with Vim, but it isn't mandatory. Hardcore users are going to be affected. Relatively normal users like me are going to be largely unaffected. Programming languages and other systems break backwards compatibility all the time. People who like Vim will adapt. People who don't like the change will migrate. It happened with Python 3, and look how that went. People learned the different syntax and moved on. People don't usually like jumping ship to other software ecosystems anyway. Neovim is a fork of Vim and doesn't include the Vim license as is specified as mandatory in the Vim license. Vim is charityware, and I like that Bram has that focus. You can support Vim if you want, but he requests that you support children in Uganda instead and even includes donation links, paypal addresses and relevant bank information to make it easy. This information is in the first section of the help docs.
@freshhorizonswithjakub2 жыл бұрын
Thank you Prime's wife for allowing us to have such delightful experience and joy with your husband!
@ThePrimeagen2 жыл бұрын
she says welcome
@marcelor1235 Жыл бұрын
Special thanks to your wife (and kid(s) ?) for sponsorhip each episode, as a entrepeneur with wife and 2 kids I know that these special extra times that lead us towards a better future.
@AbhinavKulshreshtha2 жыл бұрын
I moved from vim to neovim for LSP. When I tried lua, it was just amazing. Specifically the trick where I could just create a hash table of properties and loop through them to set them, It's just so clean.
@ThePrimeagen2 жыл бұрын
its just a simple language with few things to help or hurt you :)
@entelin2 жыл бұрын
@@ThePrimeagen The whole, variables are global by default I think is a god awful and dangerous default though.
@bmbiz2 жыл бұрын
@@entelin Absolutely. I find some of Lua's choices bizarre.
@niles_50032 жыл бұрын
@@entelin Maybe so, but Lua power users never use global variables.
@entelin2 жыл бұрын
@@niles_5003 Oh yeah I know. We power users also never make n00b mistakes like off by 1, double free, we always initialize our variables, and certainly never make scoping mistakes. That's why Rust is such a stupid idea as a programming language, good programmers never make mistakes anyway. It's actually a feature to build landmines into your language as it weeds out all the people who shouldn't be programmers in the first place.
@TomJordan7412 жыл бұрын
One aspect of why I like Lua being used in Neovim, is that I can use Lua in other tools like - Hammerspoon, WezTerm, etc
@winstonstrongarm89292 жыл бұрын
I've only recently come to agree with this mentality on big changes, DIY is not always the best choice, especially when it comes to deciding whether to implement your own standards over adopting something new/different.
@MohitDodhia2 жыл бұрын
You forever have my gratitude, Mrs. Prime
@Satook Жыл бұрын
Agreed. Just use one of the many available options. I’d love to see WASM take hold. Much safer getting scripts from the net when they’re sandboxed!
@raptoress61312 жыл бұрын
Thanks. I had no idea this was going on, and I don't know how to feel about it. I just had to ditch Atom, I'm still trying to get used to Vim and now this.
@ThePrimeagen2 жыл бұрын
it hurts.
@user-he4ef9br7z2 жыл бұрын
Currently I have a mixed config. Even though Lua is a good choice, there's one problem: Lua is much more verbose compared to Vimscript. `set nu` vs `vim.wo['nu']=true` one can be typed on the go, Therefore, as of now, simple parts of my config are in Vimscript, while the really complicated parts are reserved for Lua.
@11WicToR112 жыл бұрын
agreed, I mean, i would be against vimscript (years ago) ...but as long as we have it, why not use it? It has syntax highlighting, its made for vim. All primeagen arguments hold imho, i just dont see reason to rewrite your config to that less readable form. BUT when i write custom functionality, its lua ...then its binded to keys in vimscript, but there is this one readable general place where everything is glued together. Subjective opinion tho
@ThePrimeagen2 жыл бұрын
i was pretty much this for the last 1.5 years. i decided to finally make the jump.
@twb01092 жыл бұрын
I have it setup as ``` local set = vim.opt local let = vim.g local o = vim.o local bo = vim.bo local wo = vim.wo ``` At the top of the config and then it's just: ``` set.nu = true set.rnu = true ``` Still not as simple, but easy enough and just as readable
@rsmith314162 жыл бұрын
@@twb0109 I don't think that's more readable. If anything, you're adding another level of indirection. This is the problem with all language bindings (python, ruby), so it is not Lua's fault. However, I have to say I have never seen anything written in Lua that is not simpler and more readable in vimscript and with the official release vim9 script, scripting is so much better in vim. People forget that in some cases, domain-specific languages are better than general-purpose languages and something as niche as a text editor definitely benefits from a DSL.
@badeip2 жыл бұрын
@@twb0109 `set nu` is `vim.opt.nu = true`. `vim.wo['nu']=true` doesn't even do the same as your vim command.
@Beornz2 жыл бұрын
Thanks, Mrs. ThePrimeagen. I hope to see more videos here. It's hard to catch the live stream but love VODs. Keep it up!
@mattwilliams18442 жыл бұрын
Was super stoked on the decision for Lua, now I can re-purpose the learning of the language to awesome window manager, or one of the many cool open source Lua driven game engines.
@andrewpounds58638 ай бұрын
Alright -- been coding HPC and graphics in vi and then vim for almost 30 years... have tons of customizations... but was shocked by Bram's passing and wondered about vim's future. Have played with sublime, VSCode, Emacs, and Atom --- always come back to vim. You've convinced me to give neovim a try. BTW - huge shoutout to your wife for letting you code and make videos in the same relative space!
@LikeAndFavBF32 жыл бұрын
The "New vim series coming soon" news felt like christmas
@ThePrimeagen2 жыл бұрын
absolutely!
@kylegaijin2 жыл бұрын
While I use vim key bindings in most of the editors I use VSCode, Jetbrains Ide(s), etc... I really wish I knew (N)vim a lot better and knew how to take advantage of the Lua framework. I totally give you my vote to make a Udemy course or otherwise and the A..Z of Nvim. If I could break away from other editors and go with Nvim solely, that would be awesome.
@TomJordan7412 жыл бұрын
Good short-take video. Chris@Machine has a good Lua video train that helped me bootstrap my personal config. But much of my approach has changed since then. I look forward to yours. My focus has been in the perception of startup speed. For example, I want the power of a note system - like Neorg - without paying the cost in time to first edit when I'm not focused on capturing a note - and Neorg has a high startup cost. So the techniques of loading only what you want - when you want it - is interesting to me. So I am currently refactoring my config with this focus in mind. I have been pulling ideas from a variety of configs all along but now think I'm almost to the point of seeing if I should split it off for others to peruse. When you do redo your Lua config videos, consider emphasizing why you are doing it this way instead of another way - I think the why a programmer used this technique instead of that technique is interesting and under represented in config videos tutorials.
@luissolanodev2 жыл бұрын
Of course I didn't trust the title, c'mon… who thinks ThePrime is gonna leave this fabulous text editor..? No way
@ThePrimeagen2 жыл бұрын
i mean, i am definitely leaving vim. neovim 100% :)
@choicesii12 жыл бұрын
You know.... vscode with nvim extension is the best of both worlds.
@luissolanodev2 жыл бұрын
@@choicesii1 I don't think you'll get the full nvim experience by doing so. You'll still be tied to a GUI application that may require mouse interaction sometimes and is not as customizable as nvim.
@choicesii12 жыл бұрын
@@luissolanodev I don't find that to be the case. The gui is more like an alternative. I can have tabs opened and just swap by pressing ctrl+tab cycle, and ctrl+{num} switch panes, ctrl+p(type name) search file with filter or :buffers and :b{bufNum} like vim. I can do ctrl+` to access terminal and do a code {dir/path} and open a file or :e and it loads directory like vim. I can adjust the size of the terminal and use nvim when I need it for things like changing multiple files, which I find easier in nvim. But I get access to visual git graph, and mouse over git blame. And a split window with git diff. The gui for git branches in general I find to be more intuitive. Also debugging tools with gui by clicking before the number of a line to create a breakpoint is very intuitive. You literally can do everything in a terminal if you wanted but it looks more perty with vscode themes. There are a few limitations in : commands at times but it is very minimal. And as I said you can just open a terminal with ctrl+` and nvim a file in vscode.
@luissolanodev2 жыл бұрын
@@choicesii1 I'm pretty sure you can do everything you mentioned with a couple nvim plugins, so “having the best of both worlds” may not be an accurate term and is kinda subjective in this case. If you prefer having a prettier UI that's ok, but still there's people who want the full keyboard based nvim experience.
@user-fn7dk1su3b2 жыл бұрын
What you don't understand is that the language binding is also shitty in (neo)vim. It'd be also an insane amount of work to do it properly. I wonder how long it takes for neovim to stop passing vim related execution as a string. The point of vim9script is to drop the language binding support and encourage the usage of channel API. With the legacy vimscript, it was even slow to handle the data from the external process. So this is the only way forward for vim. Now thanks to vim9script, my vim binary is linked with no other languages.
@rsmith314162 жыл бұрын
Finally one sensible comment. Yes, language bindings are terrible and add complexity with very minor benefits. I don't think it is possible to get rid of all the namespaces, in the same way such pattern has been the norm of every language binding in python, ruby or lua in vim. I don't know why everyone loves Lua in neovim now and no one seemed to care to have such interface in vim when both APIs are extremely similar. Lua is a great language, but I have never seen anything written in Lua that is more readable than the equivalent script in vimscript (and there is no comparison with the significant improvements that vim9 script brings to the table).
@immer56802 жыл бұрын
@@rsmith31416 vimscipt is a terrible language stop fooling yourself, you can see how many great plugins out there written for neovim thanks to lua. I know many people who tried to make a plugin for vim but gave up the idea after trying to wrap their head around vimscript
@rsmith314162 жыл бұрын
@@immer5680 Vimscript is certainly not a great language, but if you compare implementations of arbitrary functionality for neovim written in Lua vs vimscript, it is undeniable that even legacy vimscript is more readable than Lua. As I said in other comment, this is not Lua's fault by any stretch of the imagination. It is simply that the language bindings makes any language look like a mess (even setting a mapping is too complex). The same can be said of language bindings for python, ruby and lua itself in vim. Vim9 script is such a big improvement. I would be surprised if anyone needs more than a few hours to learn it and be productive with it.
@immer56802 жыл бұрын
@@rsmith31416 vim.keymap.set('', '', '', opts...) it's not that complex. Less elegant than vim, but still not a deal breaker
@rsmith314162 жыл бұрын
@@immer5680 That's a simplified signature, but it is not good when that's one of the simplest tasks you can do in neovim. If you have to pass around tables, then it looks even worse.
@cherryramatis25082 жыл бұрын
I’m just happy that I know how to use plain vi and integrate properly with the shell, no vim/neovim dependency at all
@ThePrimeagen2 жыл бұрын
Yeah, when I have to use server stuff, I just use that. That's why I never change the default of vim motions.
@LeelaSankharM Жыл бұрын
thank you mrs.ThePrimeagen.. entire community bows to you 🙇♂🙇♂🙇♂🙇♂🙇♂
@AnalyticMinded2 жыл бұрын
Recently I tried Neovim for the first time, and decided to do a lua config, 'cuz that's what all the cool kids were doing.... It was not a fun experience. After 2 days of trying to replicate my vimscript config, I gave up. It seems to me that you have to know some lua in order to set package-specific options (copying configs won't help if they don't use your particular package). And I really wanted to like Neovim! The other thing that killed it was the absence of a terminal buffer. I mean, Neovim does have a terminal, but not like Vim. It does not open in a split, and I never did find out how to get it to work properly. I always had to kill Neovim to get out of the terminal. I'll be sticking with Vim for the foreseeable future.
@user-he4ef9br7z2 жыл бұрын
Of course you gotta know Lua to write Lua. Lua is pretty simple, you can learn it in a matter of days. Besides, that Neovim can use Vimscript too. I don't understand your problem with the terminal buffer. I can get a terminal in a split and use it pretty easily.
@ramkumarradhakrishnan85232 жыл бұрын
neovim terminal does seem fast kzbin.info/www/bejne/gIi1loxvaLufbMk do you mean faster than this, also ya lua config does feel tough to create though chris matis videos seems to help a bit, im thinking of checking some basic lua tuts and this one.
@ThePrimeagen2 жыл бұрын
the terminal buffer is pretty simple to get out of once you know the secret set of keys to leave it. it does not behave like the rest of vim because C-c / Esc have meanings in the terminal so they chose a different set of terms to exit () I tried going full lua and I got everything done + more in about 3 hours, but i am familiar with lua and have some idea how it should work
@AnalyticMinded2 жыл бұрын
@@user-he4ef9br7z Vimscript is simpler and more concise when configuring. As for the terminal, when I type :terminal, I get a prompt but can't navigate it. Don't know why that is. In any case, I'm sticking with Vim for now.
@AnalyticMinded2 жыл бұрын
@@ThePrimeagen Thanks for the clarification! Maybe I'll revisit when I am more familiar with the language.
@PictorialPlanet-2 жыл бұрын
Thank you Mrs Primeagen for sponsoring these videos.
@afaqansari1492 жыл бұрын
Thank you Wifeagen for keeping ThePrimeagen in NORMAL mode ✌️
@kevinfreeman96522 жыл бұрын
Thanks Wifey.....found out about Primeagen on Front End Masters about a year ago and the content has been phenomenal. Thought I had subscribed since the videos always pop up in my KZbin feed, but I'm definitely subscribed now. Can't wait for the new series.
@moitoius2 жыл бұрын
This is how I feel about Dockerfiles. The approach taken by buildah (without bud) is significantly better, because it uses a off-the-shelf solution: the shell that you like.
@segueoyuri9 ай бұрын
fun fact: not every single article of software ever produced needs an update
@anonjohnnyG5 ай бұрын
If you want a bloated and buggy vim, use neovim.
@derpythecate68422 жыл бұрын
Dude I thought you were switching to emacs or something. Long live Neovim!
@tosch90572 жыл бұрын
I've been holding back on going full lua because I'm too lazy to properly learn it xd
@erlonpb2 жыл бұрын
I was thinking about doing the jump. Can't wait for your neovim series, first one should be how to do that jump smoothly
@aaronbos10672 жыл бұрын
I’ve also been keeping my config mostly in VimScript, but have just used some lua for things that I wanted to use out of the box. Going all in on Neovim and lua config does seem to be the way to go if starting from scratch in 2022.
@ThePrimeagen2 жыл бұрын
that is what i did about 2 weeks ago and that is why i am redoing my vim series.
@n0kodoko1432 жыл бұрын
still here for it. Moved my .vimrc over a year ago now. nvim and not looking back! (now to get nvim to be the default with distros) - "Thanks Mrs. Prime" ... "A"
@numtostr2 жыл бұрын
As you said, lua has a great LSP and tooling around the language which makes it 69x more appealing than vimscript.
@ThePrimeagen2 жыл бұрын
hands down!
@niles_50032 жыл бұрын
Which LSP and tooling do you use?
@alexa.davronov1537 Жыл бұрын
Sadly, lua is a piece of shit compared to the JS. LuaJIT is also dead afaik. Maintainer just dropped it and make few fixes to new version that won't be released soon.
@robertturner70902 жыл бұрын
My wife thanks your wife for letting the boys have a laugh together. Keep up the solid work!
@ThePrimeagen2 жыл бұрын
Thank you thank you
@quentincaldway2 жыл бұрын
Yoooo mind blowing! You're the veteran on All thing Vim bro lol. Hands down! I go to no other channel but this on for Vim.. But man, the turn around for NeoVim lol, time to search your channel for some tips and migration techniques....I pray I don't break my .vimrc lol. Alsoooo Cheers to the wife my bro! My lady is my everything! Shout out to all the Queens out there making us men wiser and available for what we do!
@sub-harmonik2 жыл бұрын
lua's great, probably one of my favorite languages, especially interpreted. The only thing I dislike is the convention of arrays starting at index 1
@ThePrimeagen2 жыл бұрын
yeah, 1 based is not based
@rodelias93782 жыл бұрын
New neovim series coming soon!! Thank you very much to ThePrimeagen’s beautiful wife!!
@ThePrimeagen2 жыл бұрын
yayayaya!
@sturgeonphillip2 жыл бұрын
Oh wonderful Mrs Primeagen, you have blessed our lives. We are eternally grateful (this may or may not be read using the voice of Toy Story's little green aliens).
@pershin-daniil2 жыл бұрын
Great video, I’m waiting for new Neovim tutorials, videos and so on 👾
@ThePrimeagen2 жыл бұрын
yayayaya!
@solidoak792 жыл бұрын
Thank you, Mrs. Primeagen.
@zenshade20002 жыл бұрын
For those that just want to get started with Neovim/vim but are intimidated by all the configuration stuff, I'd recommend just going with VSCode with the neovim extension for now. With that choice, about the only config you'll need to figure out is how to remap to something sane like 'jk' or 'ii'. I say this as someone who is having a blast going 100% lua config in Neovim. But I'm on day 5 now, and that's with having LOTS of experience with Vim/Neovim setups. You just have to decide if you're the type that enjoys confronting config issues and conquering them. I do, and I definitely learn A LOT in the process. But that's not something you want to deal with when first starting out with neovim/vim.
@theroboman7272 жыл бұрын
there is also astronvim which I think its just very good beginner defaults for neovim
@caleblagrange71642 жыл бұрын
I noticed a massive performance increase after fully transitioning my nvim to lua. I never could have imagined moving back to vim. Now I wonder though, how might a similar vim9 config perform compared to my lua config?
@marcotrosi2 жыл бұрын
Nobody is forced to use vim9script even when switching to Vim version 9. Old Vim script is still default. Also I'm maybe one of the biggest Lua fans, I just love this language so much, and by Lua I mean pure PUC Lua, not LuaJIT or MoonScript. But I'm not ready for NeoVim, and probably never will be. Tested it, wasn't happy. I don't care that it uses my favourite language for scripting and config. I also don't know if I will use vim9script because plain old vimscript is simply enough for me. It does what I need and that's it.
@driden19872 жыл бұрын
Agree 100% Definitely looks like there are lot of questionable decisions on the VIM side while neovim is nailing it and has gathered an awesome community with some amazing projects.
@denzilv2 жыл бұрын
Thank you, Mrs. Primeagen! I'll definitely check out Lua! I now have Neovim installed on my Windows and Mac. 😈
@nicio13932 жыл бұрын
Thanks to you and your wife for this. Can't wait for the neovim series
@chillydoog2 жыл бұрын
Wow. Metaphorically speechless. On today of all days. This country is going down the sh!tter! Ty wifeagen.
@ThePrimeagen2 жыл бұрын
THE WHOLE DANG THING
@Zeioth2 жыл бұрын
Might be, but I still see Vim as the stable branch of Neovim basically. Once I have everything working fine, I don't need to touch it at all. So the real take here is, how difficult actually is to create plugins for lua vs vimscript? The main issue now is vim and neovim plugins may stop beign compatible with each other.
@vizunaldth2 жыл бұрын
Nice work on landing that sponsorship, probably the hardest one of all to get
@RogerBarraud Жыл бұрын
Thankyou Mrs Prime! Rants keep me sane 🙂
@DimitriSabadie2 жыл бұрын
I disagree with your opinion that a specific DSL is “absolutely the wrong decision to make here.” The advantage of a DSL is that it can be written in a way that its host system (i.e. Vim here) can optimize it (special keywords, special semantics, etc. etc.), while that is just impossible with a dynamic, general-purpose language. In that sense, I think VimScript makes a lot of sense. My take on this is that I would rather go “native plugins” (i.e. use the same language as your host system; helix uses Rust plugin, etc.), or use a smart crafted DSL. As a Neovim contributor (core discussion, hop.nvim, some PRs into core), I know the advantage of using something like Lua. It lowers the entry bar for people to contribute. However, speaking completely from the technical point of view, I still think Lua was a mistake, as the language is really terrible, and Neovim still cannot provide “Neovim primitive” in that language. Yes, it can export functions and symbols under vim.api, but that’s still “plain Lua primitives.” On the other side, VimScript can have anything it likes, like “map”, ”xmap”, etc., and there is no “in-between translation.” As a friend recently said on Twitter: languages that try to solve one specific problem will always be smarter and better than general-purpose languages that try to solve that same problem.
@magmacodes91432 жыл бұрын
Genuine question, doesn't that limit the number of people willing to contribute to the editor. Also doesn't that make it difficult to write Plugins / Scripts ? The best thing about something like VSCODE is that almost anyone who wants to contribute, CAN !
@DimitriSabadie2 жыл бұрын
@@magmacodes9143 You are completely right and you are paraphrasing what I said (“It lowers the entry bar for people to contribute.”). However, it doesn’t change all the the other problems. Sometimes, having many people on a topic doesn’t make the situation any better (it makes it worse).
@krombopuloslincler48492 жыл бұрын
He actually considers Rust to be his wife. So thank you Rust!
@alvarojneto2 жыл бұрын
I hope that the rebranding explanation given to neovimconf is honest, because I am basing my pivot to neovim out of it
@itellyouforfree7238 Жыл бұрын
I never used NeoVim before. I will transition from Vim to NeoVim today because of that decision. I've had enough of half-ass scripts. Time to finally have an excuse to learn Lua the proper way.
@Prod-23 Жыл бұрын
I'm a great believer in only building the bits of your system unique to your domain. Everything else, go with something "standard" that you don't have to look after in addition to the commitment you've already made to your own code and customers.
@elhadjbabacarcisse28682 жыл бұрын
Thank u to miss Prime 🙏
@5lickwi112 жыл бұрын
Thank you Mrs. Primeagen!
@blackfrog15342 жыл бұрын
I followed primes old config to get my neovim config started and then I added some of my personal preferences and everything works great and now I feel like going full lua is a waste of time but maybe im wrong
@ThePrimeagen2 жыл бұрын
herm? i just went full lua!
@AdiosOcelote2 жыл бұрын
The VimScript is the main reason of why I didn't really want to swap (or try out) Vim in general. Though after watching some of your streams, I'm thinking about giving Neovim a shot, though I'd love to see Neovim removing all the Vimscript is uses and replacing it with Lua or something else (preferably Lua since it already supports it). Probably not gonna happen, but whatever.
@tearsinrain20492 жыл бұрын
New Vim series, hell yeah!
@torphedo6286 Жыл бұрын
This seems like a reasonable take. From the benchmarks I've looked at, LUA (and esspecially LuaJIT) can be insanely fast compared to other similar languages.
@earthling_parth2 жыл бұрын
Nvim for the win 🤩 I also want to start using lua for my Nvim config soon. Also, thank you Prime's wife for letting him share some of his thoughts with us degenerates on Twitch and YT 😄
@frydac2 жыл бұрын
Do you know neovim is more popular? I would think vim still has a much larger userbase. I do think the ratio power/casual users is much higher with neovim. It does seem like the split that lua kind of started is now firmly confirmed and very likely keep growing, unfortunately. It seems like most new plugins will have to choose either vim or neovim, or use the 'ancient' way, for how much longer that will keep being supported. I kind of expect vim to not die and continue to have a sizeable community of plugin developers who stick with vim. I guess time will tell.
@rsmith314162 жыл бұрын
I generally agree except that the number of power users might actually be in favor of vim. Neovim is much more focused to cater to new developers and such users are more likely to install too many plugins to turn neovim into an IDE. At least in my experience, the real power users (people with many years of experience that know how to use vim very well) install very few plugins and tend to work with built-in features instead.
@josemembreno49962 жыл бұрын
I agree with your opinion!
@VaibhavRajputmoksh2 жыл бұрын
Nvim series coming soon, did I hear that correctly ? Bring it on..
@za_wavbit Жыл бұрын
I still haven't used the new vimscript, don't care, doesn't matter, VimL has always been an awful language and I use it as little as possible (Lua, also, is not a good language, and no one can convince me otherwise). But Vim has had Python support since forever, and async support (making it actually good) since Vim 8. The wrapper still needs to be in VimL, but all the work can be done in Python. `find` sees 27 Python files in my Vim plugins directory, so it's also definitely in use IRL. I don't think nvim means the death of vim, but it's an interesting enough take that I just subscribed.
@KronosaurusRex2 жыл бұрын
New vim series? HYPE
@RichardBronosky2 жыл бұрын
I too have tried to keep my vim config compatible with both neovim and vim. This is the first I've heard of vim9script. This gives me enough motivation to commit to Lua. I'll keep a small vimrc gist around for when I ssh into boxes/containers with vim8. But for my workstations, I'm going full Lua, Telescope, and TreeSitter. Bram, please have mercy on my soul.
@FreddyRangel852 жыл бұрын
I agree. When I heard about what’s in Vim 9, I seriously started taking a much closer look at NeoVim.
@ThePrimeagen2 жыл бұрын
great move
@oumardicko55932 жыл бұрын
Thanks Ms.Primeagen for allowing us to enjoy Mr.Primeagen. XD
@Hobbitstomper2 жыл бұрын
The entire tech industry is so obsessed with creating their own programming language, scripting language, frameworks and libraries. The number #1 thing that gives me a headache is that every single day there is a new framework being released, often creating their own scripting language syntax, claiming it solves a problem or helps with productivity. If nowadays I want to create a webapp and I decide to look up things, I am basically being told to use 20 different JS frameworks half of them trying to reinvent the scripting language itself requiring me to learn a new syntax, and on top of that, we now have code editors that start to create their own languages as well, all in the name of "speed and productivity". No no no no! NO!!! This is ridiculous. I don't want to keep learning new languages each time I take a toilet break. Seriously, the amount of people in the tech world who are obsessed with re-inventing the wheel for every single line of code they write, is ridiculous. I'm sticking with NeoVim and VSCode, and I'm only using extensions that I know I use almost on a daily basis. Programming wise, I stay away from bloatware. That means no nodeJS. If it can be written in PHP and runs stable and performs well, so be it. Front-end, no JS bloatware frameworks for something that can be written in vanilla JS within a reasonable amount of time. Always try and use vanilla JS first, otherwise look for the least bloatware framework possible. Hopefully soon I can start using Rust and WASM to replace a lot of the nonsense I've been dealing with.
@user-he4ef9br7z2 жыл бұрын
Couldn't agree more.
@turolretar2 жыл бұрын
That’s because Js front end is for soyboy zoomers, they can’t commit to one thing only and their attention span is shorter than the period with which a new js framework is released. This is a joke btw
@ThePrimeagen2 жыл бұрын
i am right there with you. i think collectively people are getting really sick of this shit.
@metachronicler2 жыл бұрын
I get what you are saying and I don't disagree. I would add that in the case of Javascript the reason that all of these web frameworks exist is that the language is fundamentally unfit for purpose. Something like React should have been implemented at the language level at least a decade ago if not more. Or a better language should have been made. Sadly our industry just doesn't think that way or really have good mechanisms for enabling that kind of thought process.
@ThePandaGuitar2 жыл бұрын
"i hate new languages. let me replace everything with a new language called rust" lol
@gavinvales89282 жыл бұрын
Thank you Mrs ThePrimeagen 🥰
@Rudolfucius2 жыл бұрын
"This is treason then"
@kein30012 жыл бұрын
Thanks you very much Prime wife!
@tato031302 жыл бұрын
Prime why did you scared me with that thumbnail? 😢
@ThePrimeagen2 жыл бұрын
i was trying
@bearwolffish2 жыл бұрын
An additional ty to the wife for letting you scream in the dungeon.
@be3yjreuxyfgthutnhck922 жыл бұрын
I started using vim because of you and loving ir so far. Can you make series of tutorial for using lua and neovim expalining all the things you said.
@anatolykushnir94042 жыл бұрын
excited for new vim series
@wiskasIO Жыл бұрын
The micropython idea sounds tempting. Too bad I don't want to compete with Neovim. 🤔
@epiderpski2 жыл бұрын
To the Beautiful Wifeagen, Thanks! Primeagens screams help me sleep at night. Oh, and he's right on the money with this video.
@papasmurf91462 жыл бұрын
Sigh. I've been using vim for over a decade and it seems that too often after an update I find some random thing that feels like a bug but is a new feature that interrupts my work flow. I don't like autocomment, and over the years it seems new things cause an autocomment meaning I have to hunt down the new feature and turn it off. Most recently doing a shift of code aligns everything on a tab boundary. But some code deliberately was off for reasons. I haven't had time to figure out that new feature and turn it off, but it is hurting my productivity. For years I had vim script just save the file and then pass it to a custom perl script to do what I really wanted done. Much less pain than debugging vimscript.
@taulguedi6372 жыл бұрын
I am learning Vim now... What the heck... I will learn the fundamentals well and we will see what happens next. Do you think that is a good decision?
@ThePrimeagen2 жыл бұрын
yeah. motions are the same betwixt vim and neovim.
@paulmurray32442 жыл бұрын
Thanks to the better half for sponsoring this video.
@monsterthrash2 жыл бұрын
Non-clickbait title: I won’t be using vim 9
@hojjat50002 жыл бұрын
He won't be using vim 8 either! He will be using Neovim.
@IgnacioChavez2 жыл бұрын
Not really clickbait. The title represents what he said.
@vtrudkov2 жыл бұрын
Jesus! I can't catch him on the normal speed, but on 0.75 he became so lovely stoner!
@ThePrimeagen2 жыл бұрын
WAH?
@Wintastic2 жыл бұрын
Thank you Mrs Primeagen
@carriagereturned3974 Жыл бұрын
spent some time (weeks) customizing neovim in lua, still in there :))
@JavierHarford2 жыл бұрын
I nearly felt gaslit with this title, like all the vim/nvim evangelism only for Prime to jump to VSCode/Emacs - I just had to watch the video
@ThePrimeagen2 жыл бұрын
i thought it was well done ;)
@freshnuts8642 жыл бұрын
I hold down CTRL to jump whitespaces when im coding, with vim + tmux the macro changes to deleting everything under the cursor. In nvim it kept the macro the same for both. Along with custom color syntax; nvim auto matched it but vim didn't.
@oglothenerd Жыл бұрын
I am looking at Helix. A text editor that is similar to Vim, and is created in Rust.
@mba2808 Жыл бұрын
There is 70% chance that creator of that is trans then
@oglothenerd Жыл бұрын
@@mba2808 XD
@KFlorent132 жыл бұрын
Thank you, ThePrimeagen's wife.
@ThePrimeagen2 жыл бұрын
she says you are welcome
@PsychoKiller2502 жыл бұрын
This reminds me of that one xkcd people creating new standards and just dividing the community
@gargleblasta2 жыл бұрын
1:09 Did he just say "follow eMacs" ? /me grabs torch
@ThePrimeagen2 жыл бұрын
do anything but write vim9script
@Zakaros10002 жыл бұрын
Well, I hope you do a nice configuration guide for neovim for clueless users like me.