Neovim & Extensibility - My Talk from Jane Street

  Рет қаралды 48,285

TJ DeVries

TJ DeVries

8 ай бұрын

Hey everyone! I've got some fun live demos and examples to show you today!
I hope you enjoy this talk. This is a recording that I made based on the talk I gave at Jane Street (we didn't have a great setup for recording the talk, so I'm just publishing it here instead).
It's a talk about #neovim and I had a lot of fun making it. Bet you weren't expecting a few of the demos that I showed off ;)
Let me know what you thought.
#programming #vim #nvim #lua #ocaml

Пікірлер: 147
@boreddad420
@boreddad420 8 ай бұрын
18:18 KEKW
@teej_dv
@teej_dv 8 ай бұрын
very happy the joke landed haha
@jrohit1110
@jrohit1110 8 ай бұрын
lol this is a good one
@Linuxdirk
@Linuxdirk 8 ай бұрын
@@teej_dv I see what you did there! 😆
@chrissaltmarsh6777
@chrissaltmarsh6777 8 ай бұрын
I used ed and ex with Bill Joy's vi. (I'm 73). I now use neovim. The memory is still there. (And it works on my intel dev machine, and on the weenie raspberry zeros I am programming for. Not that I run full-on neovim kit on the little ones - not enough oomph there)
@teej_dv
@teej_dv 8 ай бұрын
DANNNGG!!! That's so COOL! That's exactly what I'm talking about.
@chrissaltmarsh6777
@chrissaltmarsh6777 8 ай бұрын
@@teej_dv Mustn't keep a good idea down.
@256k_
@256k_ 8 ай бұрын
godspeed good sir, you are from the greatest tech generation.
@chrissaltmarsh6777
@chrissaltmarsh6777 8 ай бұрын
@@256k_ Experimental physics (HEP, in fact). vi was a tool of the trade. It did the job. NVim does now. My phone has more punch than the PDPs and NORDs I was using. But Joy's ideas carry on.
@BvngeeCord
@BvngeeCord 8 ай бұрын
That’s so cool!! Love that you still seem to have that excitement. I hope when I’m 73 I still get as excited about programming as I do now :p
@fam1u
@fam1u 8 ай бұрын
This was a great watch. I actually didn't have any idea of how Ed, Ex and Vi are connected, so that was eye-opening for me. The GTK choice demo was great, it really hits the nail on the head when it comes to showing how composable Neovim is.
@teej_dv
@teej_dv 8 ай бұрын
waiting for your videos :)
@fam1u
@fam1u 8 ай бұрын
@@teej_dv Soon (tm) :D
@ivanjermakov
@ivanjermakov 8 ай бұрын
TJ is so excited talking about this. True passion is what makes great software the best.
@calder-ty
@calder-ty 8 ай бұрын
Really well done TJ, and in one take. This is worth a bookmark and rewatch.
@teej_dv
@teej_dv 8 ай бұрын
thanks calder :) good to see ya here
@hebedite4865
@hebedite4865 8 ай бұрын
Your passion for neovim and lua itself is genuinely so inspiring and contagious! I'm so glad I randomly came across neovim when I started my linux journey in May. It stood out to me even as someone with zero knowledge or experience with anything vim or lua related. I have it installed on all my devices at this point, I simply can't live without it, and configuring it has taught me so much about lua and really got me excited to learn more and more everyday. Huuuuuuge thank you to you and everyone who has made neovim what it is today! 🥳
@sergeykuznetsov7688
@sergeykuznetsov7688 8 ай бұрын
It's really nice to see another video from you! Thanks for your time recording this. That's really cool how you can easily explain complicated things and show inspiring examples!
@friendliness1337
@friendliness1337 8 ай бұрын
This was really insightful! Thank you for giving such a great and fun talk :)
@leptanian
@leptanian 8 ай бұрын
This is such an amazing video. Been waiting for this and it smashed my expectations! Especially the demo, very cool
@iagobontempocosta
@iagobontempocosta 8 ай бұрын
Amazing talk! These concepts of extensibility blown my mind. Thank you!
@driden1987
@driden1987 8 ай бұрын
Missed TJ's content so much, he's above and beyond the rest. Thanks for uploading! I always learn new stuff and the passion you show is contagious
@gustavojoaquin_arch
@gustavojoaquin_arch 8 ай бұрын
Context?
@gungun974
@gungun974 8 ай бұрын
So I just wanted to say this in the comments since I think it really reflects the idea of this video. At first I went to neovim because I wanted something lighter and I was won over by vim motions. However along the way I came across an HTML autotag plugin that lacks the option to automatically close a tag opened with just "
@sumitkumarsoni1
@sumitkumarsoni1 8 ай бұрын
It's been ages since TJ uploaded, finally we get to see something
@teej_dv
@teej_dv 8 ай бұрын
Sorry :) I'll try and get back to a bit more regular schedule. Thanks for the nice comment!
@daltonyon
@daltonyon 8 ай бұрын
TJ I always learn something watching your videos, thanks!!
@JamieAlban
@JamieAlban 8 ай бұрын
Such a great talk!! I Ioved the GTK demo, it really illustrated the point well.
@devopstoolbox
@devopstoolbox 7 ай бұрын
Thank you TJ this was incredible I learned a TON!
@theodorealenas3171
@theodorealenas3171 8 ай бұрын
I love the respect to ex and Vim Script at the beginning of the video. It makes me more willing to watch the rest and I wish people would appreciate more the history of programming and programming tools
@robertotonino2916
@robertotonino2916 8 ай бұрын
Thank you so much for this, I had no idea of the existence of ed and ex! The demo with GTK really clicked for me. I always felt neovim is a great piece of software and this video adds to that feeling :)
@stronglytyped
@stronglytyped 8 ай бұрын
Excellent presentation! I'm excited to start messing around with some of the things you demo'd.
@ChasingShadowsz
@ChasingShadowsz 8 ай бұрын
This was brilliant, great stuff TJ!
@mohitkumar-jv2bx
@mohitkumar-jv2bx 8 ай бұрын
Been waiting for this video for long. Thanks teej 🙌
@teej_dv
@teej_dv 8 ай бұрын
np :) happy to be able to share it!
@TehKarmalizer
@TehKarmalizer 8 ай бұрын
A great demonstration on how composability can be very powerful and flexible. Designing good, tightly focused APIs is critical for flexible behavior.
@benarcher372
@benarcher372 8 ай бұрын
Thank you so much, great presentation!
@FelipeNovaesRocha
@FelipeNovaesRocha 8 ай бұрын
Best talk of year! Loved!
@jkalmbach79
@jkalmbach79 7 ай бұрын
Your enthusiasm is contagious.
@apina2
@apina2 8 ай бұрын
Really brilliant, thanks so much
@teej_dv
@teej_dv 8 ай бұрын
Thanks for the nice comment
@uwumarie
@uwumarie 8 ай бұрын
it really makes me excited about neovim when tj talks with this enthusiasm about it
@darkarie
@darkarie 8 ай бұрын
bravo, the gtk part at the end is amazing!
@gombike95
@gombike95 8 ай бұрын
This was a great talk! Very motivating ;)
@MartialBoniou
@MartialBoniou 8 ай бұрын
Thanks for this video and your hardwork in the NeoVim core. I love the philosophy of simplicity of Lua (and also Zig; KISS all the way)... I switched from Vim to NeoVim recently (last July!) and I used an amazing plugin called Tangerine: I can program my setup in Fennel (Clojure-like Lisp that compiles in Lua... very light, threading macros, hash functions...)... other plugin I use: Lazy, Mason, LspConfig, Cmp, Luasnip, Null-Ls... I cannot work without these plugins... the modal editing is the best (thx to Bill and Bram)
@mrjson3039
@mrjson3039 7 ай бұрын
My god this video is amazin teej!!!!! neovim change my way of looking at software development, for the better. Thank you and tthe neovim team
@mona.supremacy
@mona.supremacy 8 ай бұрын
This man's contagious passion for writing code the better way was among the reasons I stayed with Neovim after transition from VSCode. The biggest mentality shift that I've experienced so far was a new reflex to look for existing built-in functionality first and only if there's no default way of solving it conveniently... then go look for a plugin. Neovim is the closest thing to magic we've had in programming and TJ is a legit magician.
@samadel4129
@samadel4129 8 ай бұрын
This was a banger video. Thanks TJ
@user-fc7yb4wk6y
@user-fc7yb4wk6y 8 ай бұрын
Super!! Many thanks.
@chriscullinane7179
@chriscullinane7179 8 ай бұрын
You are adorable at the end! keep up the great work and content!
@Tobiky
@Tobiky 8 ай бұрын
Great watch, thank you!
@valentink7573
@valentink7573 8 ай бұрын
Is that Neorg presentation mode, or how did you do the slides in the background?
@FirstLast-sm9vi
@FirstLast-sm9vi 8 ай бұрын
What tool/plugin did you use to make that presentation?
@Jim-bh2tb
@Jim-bh2tb 8 ай бұрын
ditto. wanna know too, that is neat to use.
@ivbox
@ivbox 3 ай бұрын
I see some mention of vimpoint in TJ's github, but I'm not sure there to find the code
@ahmedschhaider4762
@ahmedschhaider4762 8 ай бұрын
very informative, thank you !!
@ElioStalteri
@ElioStalteri 8 ай бұрын
Thanks TJ this was very interesting, I'm running the Lazyvim distro for my personal projects and I'm enjoing it a lot ( I'm still slow with vim motions though ). I want to reach a point were I'll be daily driving neovim at work. thanks for the inspiration and great videos keep it up.
@tobias-edwards
@tobias-edwards 8 ай бұрын
That OCaml GTK demo was awesome!
@256k_
@256k_ 8 ай бұрын
honestly this entire talk just went way over my head. this is clearly above my pay grade.... but i guess all i can say is... thank you for your work on neovim.
@teej_dv
@teej_dv 8 ай бұрын
haha well I'm sorry it went over your head :) if you have any questions in particular, let me know!
@theodorealenas3171
@theodorealenas3171 8 ай бұрын
That part with the integer ID for the buffers still has me puzzled. Do they have like a list of function pointers? And the buffer ID is for picking the right item from the list?
@davidengelmann1636
@davidengelmann1636 8 ай бұрын
Great Video Tj!
@nikocarpenter
@nikocarpenter 6 ай бұрын
I unironically use ed quite a bit. It's honestly the best editor that works with screen readers, because you tell it what lines to print, they get output to the terminal, and the screen reader just reads what lines were printed. As a blind person, the only way to build a mental model of a file's layout is to build it up in my head, since I can't just visually look at a block of text, so really, using ed isn't that big of a deal. Most of the time, I use Neovim, but sometimes, especially on remote systems, I still do reach for ed.
@Linuxdirk
@Linuxdirk 8 ай бұрын
I love the small jokes 😂 Very good and entertaining talk.
@suseJattackIsBack
@suseJattackIsBack 8 ай бұрын
massive chad energy using Berkeley Mono in slides for the terminal
@Sibearian_
@Sibearian_ 8 ай бұрын
yooo finally a video. I have been waiting for one.
@teej_dv
@teej_dv 8 ай бұрын
I'll try and send some more soon :)
@dmytroportianka3842
@dmytroportianka3842 8 ай бұрын
that is really inspiring! now I want to write a neovim plugin :)
@rom1detroyes143
@rom1detroyes143 8 ай бұрын
Not sure to understand all that, but your enthusiasm makes me feels that switching from Vim to Neovim was a good thing to do :-)
@ReeseHaywood
@ReeseHaywood 6 ай бұрын
"one is an index zero is an offset". Thank you!
@kiyov09
@kiyov09 8 ай бұрын
Very good talk Teej 🔥
@radvilardian740
@radvilardian740 8 ай бұрын
hi Tj, long time no see. This is a better format of video
@lifelover69
@lifelover69 8 ай бұрын
Thanks for making it approachable! This makes me excited to try extending neovim, altough i'm a noob. Gotta start somewhere, right? :)
@user-bb4km1uj3o
@user-bb4km1uj3o 8 ай бұрын
When I see a Teej new vid. I just click and watch. Let’s go!
@alexa.davronov1537
@alexa.davronov1537 8 ай бұрын
That's really cool. You need to makre more videos like that.
@TobiasFrei
@TobiasFrei 6 ай бұрын
Always enjoy your videos, and one question related to Neovim: will bashbunni and yourself appear on bsky anytime soon?
@seg_fault_jim
@seg_fault_jim 8 ай бұрын
Chef's kiss 👌
@teej_dv
@teej_dv 8 ай бұрын
haha love the profile pic
@BennyPowers
@BennyPowers 8 ай бұрын
Loved that GTK demo, and thinking of stealing some ideas. Can you link to a gist in the dooblydoo?
@graysorrel
@graysorrel 8 ай бұрын
"we want to Extend ....." :D I haven't laughed that hard In a long time
@JamieAlban
@JamieAlban 8 ай бұрын
I find it super interesting how a piece of software like ed from 1969 is still just around in most modern operating systems
@twenty-fifth420
@twenty-fifth420 8 ай бұрын
Update on my dev journey TJ. I am having so much fun writing code and just running it with neovim simple terminal. But then I had issues with syntax highlighting in nim and crystal so I went back to vs code. 😭 Yes, it is a skill issue. But on the bright side, I did my first commit ever today! (Sure, it is for my web project, but we all start somewhere. 😎) Edit. Wow, so many ways to extend something that makes and runs text pretty.. 😱😱👻 Spooky month scaring me more then just serving me jump scare ads. Edit 2: Also the irony is not lost on me with that vs code, microsoft double entrende joke you made there. 😂
@teej_dv
@teej_dv 8 ай бұрын
Haha it's all good! You should use what makes your productive and is fun!
@0oShwavyo0
@0oShwavyo0 8 ай бұрын
Crystal is a wonderful language, but unfortunately the tooling is not at par with more popular languages in my experience 😢 so you kinda just have to deal with it to get to enjoy writing Crystal lol.
@oDonglero
@oDonglero 8 ай бұрын
He said he was going out to get milk and now he's finally home.
@teej_dv
@teej_dv 8 ай бұрын
hi kiddos! i'm hoooommeee!! sorry bout the traffic
@thecodealchemist7095
@thecodealchemist7095 8 ай бұрын
Ayooooo! 😂
@mixed_nuts
@mixed_nuts 8 ай бұрын
CodePill shaking in his boots right now. :O "BUT MY PYTHON >:(" haha
@senoraraton
@senoraraton 8 ай бұрын
Tj with another banger.
@bearwolffish
@bearwolffish 8 ай бұрын
Yo you put it up, 1 love.
@teej_dv
@teej_dv 8 ай бұрын
@brijeshamin
@brijeshamin 8 ай бұрын
What is this presentation made with?
@hendrykhoza4782
@hendrykhoza4782 8 ай бұрын
What software do you use to present??
@user-xd5gd4pc9h
@user-xd5gd4pc9h 8 ай бұрын
Wonderful as always. 🥰 I love neovim and using it everyday. I also cann't give up vscode completely, which give a better experience to deal with remote-dev, something like remote-ssh, remote-container. I just wonder 1.how to extend my neovim and plugins(such as lsp and neotest) to communicate with lsp-server remotely(meaning in other machine or in docker container) like dap can do. 2. How to wrap the error with jumpable link as in vscode terminal, I just use simple python-compiler with predefined error-format to solve this partly. I want to know your ideas about these things.
@user-xd5gd4pc9h
@user-xd5gd4pc9h 8 ай бұрын
I will be really appreciated for your ideas.
@Sebastian-rs9om
@Sebastian-rs9om 5 ай бұрын
There's a plugin by folke called trouble that might solve your second problem
@user-xd5gd4pc9h
@user-xd5gd4pc9h 5 ай бұрын
To be frank, I use trouble, and it can enhance reslut list such as quick fix list. But I also need to find the list in the output the code and I use python mostly which is difficult to use personal complier to filter it. Would you mind sharing more information about how to achieve that? Thx! @@Sebastian-rs9om
@RoryIsNotACabbage
@RoryIsNotACabbage 8 ай бұрын
Where does Stevie fit into this? I've heard it was what Vim was based on, but i dont know how it actually differs from regular vi
@matiasbpg
@matiasbpg 2 ай бұрын
What plugin do you use for the presentation, looks cool!
@pixelsbyme
@pixelsbyme 8 ай бұрын
Hyyyy! Can you please answer which monospace font are you using
@pixelsbyme
@pixelsbyme 8 ай бұрын
Please answer!
@mezdelex
@mezdelex 8 ай бұрын
Big brain
@seanbrec
@seanbrec 8 ай бұрын
great talk - inspired me to want to connect a linter using vim.diagnostic, looks much easier than I thought it would 👍
@vikromnarula1746
@vikromnarula1746 4 ай бұрын
I would love to know how he makes the slide is it just latex being parsed or just pure html css
@meetmangukiya4614
@meetmangukiya4614 8 ай бұрын
is the slides also being presented in neovim?
@wh1ff78
@wh1ff78 8 ай бұрын
What is the font used in this video?
@uzumakiuchiha7678
@uzumakiuchiha7678 8 ай бұрын
Neovim is simply superior.
@nightshadedude
@nightshadedude 8 ай бұрын
Hey babe, new TJ vid just dropped.
@ragulr1566
@ragulr1566 8 ай бұрын
What is the presentation plugin he is using?
@Ba-gb4br
@Ba-gb4br 8 ай бұрын
Can someone please tell me what font he is using?🙏
@RamsesAldama
@RamsesAldama 8 ай бұрын
have you hear about pod protocol? Pods can be created independently from pod clients. Any program can be invoked as a pod as long as it implements the pod protocol. This protocol is influenced by and built upon battle-tested technologies the nREPL and LSP protocols bencode JSON EDN composition of UNIX command line tools in via good old stdin and stdout
@user-zf5ku7jd5b
@user-zf5ku7jd5b 3 ай бұрын
how did u create slides in nvim ?
@hermessantos181
@hermessantos181 8 ай бұрын
Teach us how to set up DAP. I'm stuck trying to debug laravel codes
@samarnagar9699
@samarnagar9699 7 ай бұрын
I love that text what is it
@pillmuncher67
@pillmuncher67 8 ай бұрын
Tonight I'm gonna party like it's 1969!
@dhavald4359
@dhavald4359 8 ай бұрын
I would try writing remote plugins in golang / rust
@ruslannasonov7937
@ruslannasonov7937 8 ай бұрын
neo(vim) unfortunately doesn't have native UI extensibility - only hardcore raw buffers and glyphs
@zacbackas
@zacbackas 8 ай бұрын
thanks teej
@teej_dv
@teej_dv 8 ай бұрын
np :)
@zahariy
@zahariy 8 ай бұрын
What's that font please?)
@donnygies5435
@donnygies5435 8 ай бұрын
Can i get the 30 second TikTok version?
@teej_dv
@teej_dv 8 ай бұрын
yum yum gang gang nvim has cool extensibility. make things same, use simple concepts. dont break. gang gang
@Tomplaysguitar182
@Tomplaysguitar182 8 ай бұрын
I dream that one day you will rewrite nvim in ocaml
@hydejel3647
@hydejel3647 8 ай бұрын
Hey TJ, what do you think about extending Neovim with Webassembly plugins? This could provide a language agnostic, portable way of writing very fast plugins. neovim issue #23579
@Kalasklister1337
@Kalasklister1337 8 ай бұрын
Interesting
@yoni532s9M5w
@yoni532s9M5w 8 ай бұрын
My problem with neovim is that usually a setup created today is almost entirely irrelevant 4 months from today - unless constantly maintained and handled
@zenshade2000
@zenshade2000 8 ай бұрын
You're letting yourself get wrapped around the axle, so to speak, by not sticking to core functionality and a few solid plug-ins you deeply understand and use. The only maintenance I ever have to do is when I try something new and shiny and want to tweak it to be perfect. I can go back to a vim configuration file from 2005 and it works flawlessly in the latest neovim. You've really not understood TJ's main point here about composibility if you think you constantly are required to do updates and fixes.
@TBTapion
@TBTapion 8 ай бұрын
"1 is an index and 0 is an offset" Lua is based like that
@Jayvil773
@Jayvil773 6 ай бұрын
Nineteen69, good year
@argha-01
@argha-01 8 ай бұрын
Do you work at jean street?
@teej_dv
@teej_dv 8 ай бұрын
no, sorry i was wearing shorts when i did this presentation
@teej_dv
@teej_dv 8 ай бұрын
(to be clear, not jean shorts. athletic shorts).
@teej_dv
@teej_dv 8 ай бұрын
but no, I don't work at Jane Street :) I just went there to give a talk about Neovim
@melanovapedia7924
@melanovapedia7924 8 ай бұрын
oh, I thought you abandon your utube TJ KEKW
@georgerogers1166
@georgerogers1166 5 ай бұрын
Lua is what JS should of been.
@Sameer_Kumar
@Sameer_Kumar 8 ай бұрын
/g/re/p. I wonder where everyone has seen thing. The Origins. 😂
@teej_dv
@teej_dv 8 ай бұрын
pretty cool, huh? :)
@thengakola6217
@thengakola6217 8 ай бұрын
All that naming convention and still nvim_open_win and nvim_win_close
@teej_dv
@teej_dv 8 ай бұрын
what's the first argument of nvim_open_win and what's the first argument of nvim_win_close? nvim_open_win does NOT take a window ID as the first argument. All functions that start with "nvim_win" *always* start with a window ID. If you read through the naming conventions, it will make sense ;)
@thengakola6217
@thengakola6217 8 ай бұрын
@@teej_dv Lmao I have no idea what these are. Im just quoting primes joke here. By the way, thanks for the video it was very informative.
@joshuatye1027
@joshuatye1027 8 ай бұрын
@@teej_dv Thanks, I didn't realize that the function name reflects the arguments it accepts. So smart...
@oDonglero
@oDonglero 8 ай бұрын
@@teej_dv in that case nvim_buf_open_win() is the hill I will die on c:
Automatically Execute *Anything* in Nvim
11:03
TJ DeVries
Рет қаралды 67 М.
tree-sitter explained
15:00
TJ DeVries
Рет қаралды 73 М.
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 7 МЛН
Luck Decides My Future Again 🍀🍀🍀 #katebrush #shorts
00:19
Kate Brush
Рет қаралды 2,8 МЛН
Получилось у Вики?😂 #хабибка
00:14
ХАБИБ
Рет қаралды 2,9 МЛН
ТАМАЕВ vs ВЕНГАЛБИ. ФИНАЛЬНАЯ ГОНКА! BMW M5 против CLS
47:36
The Ultimate Database Control. Right WITHIN NEOVIM
9:35
DevOps Toolbox
Рет қаралды 51 М.
The Only Video You Need to Get Started with Neovim
34:00
TJ DeVries
Рет қаралды 261 М.
Neovim Lua Plugin From Scratch
1:48:24
TJ DeVries
Рет қаралды 74 М.
How Neovim saved me at least 30 minutes today
8:12
Rasmus Bergström
Рет қаралды 8 М.
PDE: A different take on editing code
20:01
TJ DeVries
Рет қаралды 75 М.
Vim Dadbod - My Favorite SQL Plugin
6:01
TJ DeVries
Рет қаралды 24 М.
Effective Neovim: Instant IDE
16:16
TJ DeVries
Рет қаралды 773 М.
What are filetypes in Neovim? (and how to configure)
7:33
TJ DeVries
Рет қаралды 16 М.
The Rust Standard Library is SO Confusing...Until Now!
11:45
Travis Media
Рет қаралды 24 М.
I'm Never Using Neovim's Terminal The Same Again
8:43
DevOps Toolbox
Рет қаралды 29 М.
ВЫ ЧЕ СДЕЛАЛИ С iOS 18?
22:40
Overtake lab
Рет қаралды 134 М.
Asus  VivoBook Винда за 8 часов!
1:00
Sergey Delaisy
Рет қаралды 739 М.
После ввода кода - протирайте панель
0:18
Купил этот ваш VR.
37:21
Ремонтяш
Рет қаралды 279 М.
ПОКУПКА ТЕЛЕФОНА С АВИТО?🤭
1:00
Корнеич
Рет қаралды 2,9 МЛН
Ждёшь обновление IOS 18? #ios #ios18 #айоэс #apple #iphone #айфон
0:57