I am done with vim

  Рет қаралды 216,670

ThePrimeagen

ThePrimeagen

Күн бұрын

Пікірлер: 645
@PhillipDressen
@PhillipDressen 2 жыл бұрын
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.manhard
@j.m.manhard 2 жыл бұрын
Well, they promised it would not break backwards compat and would want to avoid something similar to the python2.7-thingy back then...
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
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
@FedericoPedemonte
@FedericoPedemonte 2 жыл бұрын
"Wifeagen" 🤣
@AdrianMNegreanu
@AdrianMNegreanu 2 жыл бұрын
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
@AbelShields
@AbelShields 2 жыл бұрын
@@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.
@tobiasjennerjahn8659
@tobiasjennerjahn8659 2 жыл бұрын
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.
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
This is probably the most reasonable take. They're just different now
@rsmith31416
@rsmith31416 2 жыл бұрын
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
@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
@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
@RogerBarraud Жыл бұрын
@@ThePrimeagen Yup. And the difference is: One of 'em SUCKS!!!1! ;-)
@kuglepen64
@kuglepen64 2 жыл бұрын
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?
@nodidog
@nodidog 2 жыл бұрын
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
@techworld3043
@techworld3043 2 жыл бұрын
@@nodidog yesterday i was thinking watching him.
@nodidog
@nodidog 2 жыл бұрын
@@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
@JavierHarford
@JavierHarford 2 жыл бұрын
I second Simon's words, but would like to add if u wanna save a little time you could check out Lunarvim
@cullynn
@cullynn 2 жыл бұрын
Summer 2022 full lua config, hit us PLEASE
@dredre7037
@dredre7037 2 жыл бұрын
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!
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
hah! same, literally the same. I don't want to spend time learning a language that doesn't exist.
@lucho7971
@lucho7971 2 жыл бұрын
@@ThePrimeagen so true, i had the same feeling while using it
@vorrnth8734
@vorrnth8734 2 жыл бұрын
Actually it is a pretty obvious choice. You cannot be dictator if you share control.
@RichardBronosky
@RichardBronosky 2 жыл бұрын
I write all of my KZbin comments in Esperanto.
@user-lb1ib8rz4h
@user-lb1ib8rz4h 2 жыл бұрын
@@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)
@nomathic7672
@nomathic7672 2 жыл бұрын
Thanks prime's wife for allowing him to reach his final form 🙏
@catalinoprea5313
@catalinoprea5313 2 жыл бұрын
goat
@lucabaggi3951
@lucabaggi3951 2 жыл бұрын
looking forward to a full nvim config series! totally agree on this one
@meerzulee
@meerzulee 2 жыл бұрын
Blazingly fast comment !!!
@uchennaofoma4624
@uchennaofoma4624 Жыл бұрын
😂😂😂😂
@moncefkarimaitbelkacem1918
@moncefkarimaitbelkacem1918 Жыл бұрын
Blaaaazingly fast 🔥 🔥 🔥
@maxscott3349
@maxscott3349 Жыл бұрын
It's super laggy and takes 45 seconds to load now
@totally_not_a_bot
@totally_not_a_bot 2 жыл бұрын
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.
@freshhorizonswithjakub
@freshhorizonswithjakub 2 жыл бұрын
Thank you Prime's wife for allowing us to have such delightful experience and joy with your husband!
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
she says welcome
@marcelor1235
@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.
@AbhinavKulshreshtha
@AbhinavKulshreshtha 2 жыл бұрын
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.
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
its just a simple language with few things to help or hurt you :)
@entelin
@entelin 2 жыл бұрын
@@ThePrimeagen The whole, variables are global by default I think is a god awful and dangerous default though.
@bmbiz
@bmbiz 2 жыл бұрын
@@entelin Absolutely. I find some of Lua's choices bizarre.
@niles_5003
@niles_5003 2 жыл бұрын
​@@entelin Maybe so, but Lua power users never use global variables.
@entelin
@entelin 2 жыл бұрын
​@@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.
@TomJordan741
@TomJordan741 2 жыл бұрын
One aspect of why I like Lua being used in Neovim, is that I can use Lua in other tools like - Hammerspoon, WezTerm, etc
@winstonstrongarm8929
@winstonstrongarm8929 2 жыл бұрын
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.
@MohitDodhia
@MohitDodhia 2 жыл бұрын
You forever have my gratitude, Mrs. Prime
@Satook
@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!
@raptoress6131
@raptoress6131 2 жыл бұрын
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.
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
it hurts.
@user-he4ef9br7z
@user-he4ef9br7z 2 жыл бұрын
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.
@11WicToR11
@11WicToR11 2 жыл бұрын
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
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
i was pretty much this for the last 1.5 years. i decided to finally make the jump.
@twb0109
@twb0109 2 жыл бұрын
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
@rsmith31416
@rsmith31416 2 жыл бұрын
@@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.
@badeip
@badeip 2 жыл бұрын
@@twb0109 `set nu` is `vim.opt.nu = true`. `vim.wo['nu']=true` doesn't even do the same as your vim command.
@Beornz
@Beornz 2 жыл бұрын
Thanks, Mrs. ThePrimeagen. I hope to see more videos here. It's hard to catch the live stream but love VODs. Keep it up!
@mattwilliams1844
@mattwilliams1844 2 жыл бұрын
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.
@andrewpounds5863
@andrewpounds5863 8 ай бұрын
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!
@LikeAndFavBF3
@LikeAndFavBF3 2 жыл бұрын
The "New vim series coming soon" news felt like christmas
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
absolutely!
@kylegaijin
@kylegaijin 2 жыл бұрын
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.
@TomJordan741
@TomJordan741 2 жыл бұрын
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.
@luissolanodev
@luissolanodev 2 жыл бұрын
Of course I didn't trust the title, c'mon… who thinks ThePrime is gonna leave this fabulous text editor..? No way
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
i mean, i am definitely leaving vim. neovim 100% :)
@choicesii1
@choicesii1 2 жыл бұрын
You know.... vscode with nvim extension is the best of both worlds.
@luissolanodev
@luissolanodev 2 жыл бұрын
@@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.
@choicesii1
@choicesii1 2 жыл бұрын
@@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.
@luissolanodev
@luissolanodev 2 жыл бұрын
@@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-fn7dk1su3b
@user-fn7dk1su3b 2 жыл бұрын
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.
@rsmith31416
@rsmith31416 2 жыл бұрын
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).
@immer5680
@immer5680 2 жыл бұрын
@@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
@rsmith31416
@rsmith31416 2 жыл бұрын
@@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.
@immer5680
@immer5680 2 жыл бұрын
@@rsmith31416 vim.keymap.set('', '', '', opts...) it's not that complex. Less elegant than vim, but still not a deal breaker
@rsmith31416
@rsmith31416 2 жыл бұрын
@@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.
@cherryramatis2508
@cherryramatis2508 2 жыл бұрын
I’m just happy that I know how to use plain vi and integrate properly with the shell, no vim/neovim dependency at all
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
Yeah, when I have to use server stuff, I just use that. That's why I never change the default of vim motions.
@LeelaSankharM
@LeelaSankharM Жыл бұрын
thank you mrs.ThePrimeagen.. entire community bows to you 🙇‍♂🙇‍♂🙇‍♂🙇‍♂🙇‍♂
@AnalyticMinded
@AnalyticMinded 2 жыл бұрын
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-he4ef9br7z
@user-he4ef9br7z 2 жыл бұрын
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.
@ramkumarradhakrishnan8523
@ramkumarradhakrishnan8523 2 жыл бұрын
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.
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
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
@AnalyticMinded
@AnalyticMinded 2 жыл бұрын
@@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.
@AnalyticMinded
@AnalyticMinded 2 жыл бұрын
@@ThePrimeagen Thanks for the clarification! Maybe I'll revisit when I am more familiar with the language.
@PictorialPlanet-
@PictorialPlanet- 2 жыл бұрын
Thank you Mrs Primeagen for sponsoring these videos.
@afaqansari149
@afaqansari149 2 жыл бұрын
Thank you Wifeagen for keeping ThePrimeagen in NORMAL mode ✌️
@kevinfreeman9652
@kevinfreeman9652 2 жыл бұрын
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.
@moitoius
@moitoius 2 жыл бұрын
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.
@segueoyuri
@segueoyuri 9 ай бұрын
fun fact: not every single article of software ever produced needs an update
@anonjohnnyG
@anonjohnnyG 5 ай бұрын
If you want a bloated and buggy vim, use neovim.
@derpythecate6842
@derpythecate6842 2 жыл бұрын
Dude I thought you were switching to emacs or something. Long live Neovim!
@tosch9057
@tosch9057 2 жыл бұрын
I've been holding back on going full lua because I'm too lazy to properly learn it xd
@erlonpb
@erlonpb 2 жыл бұрын
I was thinking about doing the jump. Can't wait for your neovim series, first one should be how to do that jump smoothly
@aaronbos1067
@aaronbos1067 2 жыл бұрын
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.
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
that is what i did about 2 weeks ago and that is why i am redoing my vim series.
@n0kodoko143
@n0kodoko143 2 жыл бұрын
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"
@numtostr
@numtostr 2 жыл бұрын
As you said, lua has a great LSP and tooling around the language which makes it 69x more appealing than vimscript.
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
hands down!
@niles_5003
@niles_5003 2 жыл бұрын
Which LSP and tooling do you use?
@alexa.davronov1537
@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.
@robertturner7090
@robertturner7090 2 жыл бұрын
My wife thanks your wife for letting the boys have a laugh together. Keep up the solid work!
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
Thank you thank you
@quentincaldway
@quentincaldway 2 жыл бұрын
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-harmonik
@sub-harmonik 2 жыл бұрын
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
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
yeah, 1 based is not based
@rodelias9378
@rodelias9378 2 жыл бұрын
New neovim series coming soon!! Thank you very much to ThePrimeagen’s beautiful wife!!
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
yayayaya!
@sturgeonphillip
@sturgeonphillip 2 жыл бұрын
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-daniil
@pershin-daniil 2 жыл бұрын
Great video, I’m waiting for new Neovim tutorials, videos and so on 👾
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
yayayaya!
@solidoak79
@solidoak79 2 жыл бұрын
Thank you, Mrs. Primeagen.
@zenshade2000
@zenshade2000 2 жыл бұрын
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.
@theroboman727
@theroboman727 2 жыл бұрын
there is also astronvim which I think its just very good beginner defaults for neovim
@caleblagrange7164
@caleblagrange7164 2 жыл бұрын
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?
@marcotrosi
@marcotrosi 2 жыл бұрын
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.
@driden1987
@driden1987 2 жыл бұрын
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.
@denzilv
@denzilv 2 жыл бұрын
Thank you, Mrs. Primeagen! I'll definitely check out Lua! I now have Neovim installed on my Windows and Mac. 😈
@nicio1393
@nicio1393 2 жыл бұрын
Thanks to you and your wife for this. Can't wait for the neovim series
@chillydoog
@chillydoog 2 жыл бұрын
Wow. Metaphorically speechless. On today of all days. This country is going down the sh!tter! Ty wifeagen.
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
THE WHOLE DANG THING
@Zeioth
@Zeioth 2 жыл бұрын
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.
@vizunaldth
@vizunaldth 2 жыл бұрын
Nice work on landing that sponsorship, probably the hardest one of all to get
@RogerBarraud
@RogerBarraud Жыл бұрын
Thankyou Mrs Prime! Rants keep me sane 🙂
@DimitriSabadie
@DimitriSabadie 2 жыл бұрын
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.
@magmacodes9143
@magmacodes9143 2 жыл бұрын
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 !
@DimitriSabadie
@DimitriSabadie 2 жыл бұрын
@@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).
@krombopuloslincler4849
@krombopuloslincler4849 2 жыл бұрын
He actually considers Rust to be his wife. So thank you Rust!
@alvarojneto
@alvarojneto 2 жыл бұрын
I hope that the rebranding explanation given to neovimconf is honest, because I am basing my pivot to neovim out of it
@itellyouforfree7238
@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
@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.
@elhadjbabacarcisse2868
@elhadjbabacarcisse2868 2 жыл бұрын
Thank u to miss Prime 🙏
@5lickwi11
@5lickwi11 2 жыл бұрын
Thank you Mrs. Primeagen!
@blackfrog1534
@blackfrog1534 2 жыл бұрын
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
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
herm? i just went full lua!
@AdiosOcelote
@AdiosOcelote 2 жыл бұрын
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.
@tearsinrain2049
@tearsinrain2049 2 жыл бұрын
New Vim series, hell yeah!
@torphedo6286
@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_parth
@earthling_parth 2 жыл бұрын
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 😄
@frydac
@frydac 2 жыл бұрын
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.
@rsmith31416
@rsmith31416 2 жыл бұрын
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.
@josemembreno4996
@josemembreno4996 2 жыл бұрын
I agree with your opinion!
@VaibhavRajputmoksh
@VaibhavRajputmoksh 2 жыл бұрын
Nvim series coming soon, did I hear that correctly ? Bring it on..
@za_wavbit
@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.
@KronosaurusRex
@KronosaurusRex 2 жыл бұрын
New vim series? HYPE
@RichardBronosky
@RichardBronosky 2 жыл бұрын
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.
@FreddyRangel85
@FreddyRangel85 2 жыл бұрын
I agree. When I heard about what’s in Vim 9, I seriously started taking a much closer look at NeoVim.
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
great move
@oumardicko5593
@oumardicko5593 2 жыл бұрын
Thanks Ms.Primeagen for allowing us to enjoy Mr.Primeagen. XD
@Hobbitstomper
@Hobbitstomper 2 жыл бұрын
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-he4ef9br7z
@user-he4ef9br7z 2 жыл бұрын
Couldn't agree more.
@turolretar
@turolretar 2 жыл бұрын
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
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
i am right there with you. i think collectively people are getting really sick of this shit.
@metachronicler
@metachronicler 2 жыл бұрын
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.
@ThePandaGuitar
@ThePandaGuitar 2 жыл бұрын
"i hate new languages. let me replace everything with a new language called rust" lol
@gavinvales8928
@gavinvales8928 2 жыл бұрын
Thank you Mrs ThePrimeagen 🥰
@Rudolfucius
@Rudolfucius 2 жыл бұрын
"This is treason then"
@kein3001
@kein3001 2 жыл бұрын
Thanks you very much Prime wife!
@tato03130
@tato03130 2 жыл бұрын
Prime why did you scared me with that thumbnail? 😢
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
i was trying
@bearwolffish
@bearwolffish 2 жыл бұрын
An additional ty to the wife for letting you scream in the dungeon.
@be3yjreuxyfgthutnhck92
@be3yjreuxyfgthutnhck92 2 жыл бұрын
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.
@anatolykushnir9404
@anatolykushnir9404 2 жыл бұрын
excited for new vim series
@wiskasIO
@wiskasIO Жыл бұрын
The micropython idea sounds tempting. Too bad I don't want to compete with Neovim. 🤔
@epiderpski
@epiderpski 2 жыл бұрын
To the Beautiful Wifeagen, Thanks! Primeagens screams help me sleep at night. Oh, and he's right on the money with this video.
@papasmurf9146
@papasmurf9146 2 жыл бұрын
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.
@taulguedi637
@taulguedi637 2 жыл бұрын
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?
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
yeah. motions are the same betwixt vim and neovim.
@paulmurray3244
@paulmurray3244 2 жыл бұрын
Thanks to the better half for sponsoring this video.
@monsterthrash
@monsterthrash 2 жыл бұрын
Non-clickbait title: I won’t be using vim 9
@hojjat5000
@hojjat5000 2 жыл бұрын
He won't be using vim 8 either! He will be using Neovim.
@IgnacioChavez
@IgnacioChavez 2 жыл бұрын
Not really clickbait. The title represents what he said.
@vtrudkov
@vtrudkov 2 жыл бұрын
Jesus! I can't catch him on the normal speed, but on 0.75 he became so lovely stoner!
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
WAH?
@Wintastic
@Wintastic 2 жыл бұрын
Thank you Mrs Primeagen
@carriagereturned3974
@carriagereturned3974 Жыл бұрын
spent some time (weeks) customizing neovim in lua, still in there :))
@JavierHarford
@JavierHarford 2 жыл бұрын
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
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
i thought it was well done ;)
@freshnuts864
@freshnuts864 2 жыл бұрын
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
@oglothenerd Жыл бұрын
I am looking at Helix. A text editor that is similar to Vim, and is created in Rust.
@mba2808
@mba2808 Жыл бұрын
There is 70% chance that creator of that is trans then
@oglothenerd
@oglothenerd Жыл бұрын
@@mba2808 XD
@KFlorent13
@KFlorent13 2 жыл бұрын
Thank you, ThePrimeagen's wife.
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
she says you are welcome
@PsychoKiller250
@PsychoKiller250 2 жыл бұрын
This reminds me of that one xkcd people creating new standards and just dividing the community
@gargleblasta
@gargleblasta 2 жыл бұрын
1:09 Did he just say "follow eMacs" ? /me grabs torch
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
do anything but write vim9script
@Zakaros1000
@Zakaros1000 2 жыл бұрын
Well, I hope you do a nice configuration guide for neovim for clueless users like me.
@ThePrimeagen
@ThePrimeagen 2 жыл бұрын
i have one already recorded, slated here shortly
Why I Use C | Prime Reacts
13:00
ThePrimeTime
Рет қаралды 176 М.
0 to LSP : Neovim RC From Scratch
30:47
ThePrimeagen
Рет қаралды 1,4 МЛН
Players push long pins through a cardboard box attempting to pop the balloon!
00:31
Walking on LEGO Be Like... #shorts #mingweirocks
00:41
mingweirocks
Рет қаралды 7 МЛН
How Much Tape To Stop A Lamborghini?
00:15
MrBeast
Рет қаралды 201 МЛН
How To Choose Mac N Cheese Date Night.. 🧀
00:58
Jojo Sim
Рет қаралды 83 МЛН
I Went To DEFCON!
16:25
ThePrimeagen
Рет қаралды 284 М.
Neovim Is a Waste Of Time, And I LOVE It | Prime Reacts
17:00
ThePrimeTime
Рет қаралды 94 М.
6 easy steps to get started with Neovim
2:40
ComputerBread
Рет қаралды 4,1 М.
My thoughts on framework after daily driving it for 2 years
16:34
Louis Rossmann
Рет қаралды 721 М.
i tried Vim...
10:06
Alex Ziskind
Рет қаралды 45 М.
Why I use Vim in 2022
6:33
ThePrimeagen
Рет қаралды 499 М.
Vim Tips You Probably Never Heard of
12:11
Luke Smith
Рет қаралды 123 М.
The Development of Vim
7:20
ForrestKnight
Рет қаралды 16 М.
Vim vs NeoVim, What's the Difference?  Which Should You Use?
10:29
Mental Outlaw
Рет қаралды 328 М.
Why I Cant Stand IDE's After Using VIM | Prime Reacts
17:51
ThePrimeTime
Рет қаралды 372 М.
Players push long pins through a cardboard box attempting to pop the balloon!
00:31