Agreed. I mean, I use vim if I want to quickly edit an existing file because opening an editor in the terminal I'm already using is quick and simple, but there's literally nothing that vim does that I use, that emacs with EVIL mode doesn't do equally well. Between that and org-mode, I'm sold (yeah, vimwiki is OK, but the fact that org-mode only requires you to have a .org file makes it a hundred times more convenient).
@@brandomiranda6703 You can install color themes, which are quite powerful. Most can be installed as packages via the built-in package install interface (M-x package-list-packages). I don't use a dark theme anymore and it's been so long I don't remember which one that one was.
I got into Emacs because of this video. I didn't understand anything he was talking about. Less than a year later I understand what he's doing. Nice one Aaron.
Same here. I guess most people who at first have been exposed to other more "user-friendly" text-editors nowadays will only learn how to use emacs/vim because major nerds use it. Although now I have my own reason and thus can understand why the legendary nerds still stick to it, i.e. I hate to have to reach my mouse when writing using Microsoft Word.
Fast forward 7 years and Neovim has become such a polished editor and is back to back most loved editor in stackoverflow developer surveys. Lua was a great choice due to its high performance, light weight and embedded nature a very strong ecosystem has now developed around it, also there is this huge Neovim community. The best plugins are now written in Lua (e.g. Telescope). Built in support for LSP also makes it great for development coupled with TreeSitter integration we can now do things in Neovim that would not be possible otherwise because the editor is now aware of language constructs and can be made to walk and manipulate the AST itself. I wonder if it now addresses all of Aaron Bieber's concerns.
Org-mode? I know that there are at least two projects in Neovim community which try to implement similar functionality but Emacs Org-mode with all projects around it is realy hard to beat. Personally I use both editors but I'm not sure if it's smart idea, maybe focussing only on one is more productive.
I just transitioned from nvim to emacs because of the comprehensive feature set of org-mode. I was very blown away by all the things its capable of. Additionally, the emacs gui can render images and latex inside the buffer using org-fragtog and math-preview which makes editing mathematical documents trivial. I also have a lot of personal notes about various different programming languages that now have transformed into literate programming documents overnight thanks to code execution features of org-mode. Another thing vim can't do very well is reproduce the workflow of jupyter docs, but emacs can. Org-mode and org-roam combine together to embarrass not just vimwiki, but all other note taking/knowledge base systems such as obsidian or roam. For me, the tradeoff was essentially a little bit of latency/responsiveness in exchange org-mode and in-buffer images/latex rendering. This allowed me to eliminate all other apps from my workflow. Right now I can get Space+X+j to instantly capture a timestamped journal entry. Or Space+X+t to capture a TODO with templating that allows for backlinking to the original context without any additional keypresses. Inside a TODO entry, I can clock-in to automatically create log entries of start/end times and then clock-out to closely monitor how much time I'm spending per day on each task. I also use this as a pomodoro timer. Of course, I can use a stopwatch and manually do this, but with emacs I can do it with nicely formatted logs that are folded underneath headings with just 2 or 3 keystrokes. I can compose large outlines and review them with sparse trees where only information related to my search is visible. Or I can create an agenda view that takes TODOs from several different files and composes/sorts them into a single buffer allowing me to navigate notes that are scattered everywhere or edit them remotely from a single buffer. If I'm reviewing my language notes, I can execute code blocks inside the org file and see the output without any copying/pasting. I get all of this out of the box from org-mode.
@@subhadeepsamantaray4220 last week I switched from vim to emacs. I decided that I will use vanilla emacs no evil mode or spacemacs. And now I am fairly decent and at par with my vim productivity and even more. My advice: 1. Complete emacs tutorial as much as you can. 2. Watch mike zamanski emacs series on youtube. Seriously its a gold mine.
@@ezio934 Thanks for getting back. I personally find vim grammar easier to remember, and would prefer to use vim verbs in emacs. Based on your experience, would you still suggest switching to Emacs for me ?
@@subhadeepsamantaray4220 Its up to you. I am not saying to switch right away. Just give it a shot in your free time and if you like it stay with it, if not then vim is not going anywhere. Emacs series from mike zamansky has small videos showing the process of configuring emacs from scratch to an all round IDE. You can use Doom Emacs to get vim features. I didn't use it personally.
@@SimonWoodburyForget Only a subset of games require keyup events. Gaming would be perfectly possible if you excluded those. But you don't have to exclude those, because you generally don't run a game as part of an OS anyway. If you can start the game process from Emacs you're golden.
@@SimonWoodburyForget Only if you by ‘all’ mean ‘none’. I'm not going to insult your intelligence by implying you can't figure out common ways to control these types of games without keyup events, so I'm going to go ahead and assume you're simply trolling me. This is a waste of time.
I love that when I learned vi in 1994 that the vi/emacs culture still exists. Meta-x doctor was a solid companion those late nights in the computer lab.
I'm a die hard Vim user and that talk by the creator of org mode convinced me to use emacs as an organiser. Still not sure If I'm going to give evil mode a try but great talk none the less and I highly recommend org mode. It even makes a pretty schedule for you!
This guy talked me into Emacs. I come from Vim. It took me some time to figure out how to get Evil mode up, but now I find I don't use it that often anymore. Got to go, I have to order an Emacs shirt!
I've watched this talk multiple times over the last couple years and it's honestly one of my favourites. I've switched to emacs, and from emacs multiple times, and whenever I come back to emacs I watch this video. 10:47 is my favourite lmao, I've felt that pain. Thank you for this talk, it's a must watch :)
I'm a non-programmer who uses vim every day for work. Except today - thanks to this video - I started using emacs in evil mode, which combined with org mode is just awesome. Thank you, Aaron and thoughtbot!
I would love to be able to answer your question, but as I said I'm not a programmer, and I've only just started using emacs, mainly for org mode. Maybe you meant to leave a comment for the video makers? :-)
If you're not going for VIM or Emacs, go for VSCode. It has really grown into something phenomenal in the past few months. But when you initially posted this question, back then, probably not so.
I use org mode and org agenda to manage my projects, keep notes, take action items with checklists... I cannot imagine doining it any other way. Jira? Trello?... Um, no.
Just wanted to say thank you for the presentation. This got me to explore emacs and vim and my life and workflow are forever changed. Keep doing what you are doing and hopefully provide some more talks in the future!
To think of it, as a programmer I spend approximately 5% of my time actually typing code. Good 40% is architecturing, planning, thinking and remaining 55% is debugging/investigating stuff. So even if I typed 100 times faster, it would just save me less than 5% of time overall.
@Phan Trọng Nghĩa i write plenty of code myself from scratch too, you can see plenty of pet project showcases on my channel. but even when I write something from scratch, the process of actually writing it almost always negligible compared to time it takes to plan and architect, research and debug. btw i almost never touch mouse in my workflow either -- total commander for keyboard-only file navigation and visual studio is controlled with keyboard just fine.
Thank you! been trying to move into emacs world. I've tried several times... I knew about evil mode but wanted to learn native emacs... however the key combos would break my balls, so I'd leave it for a while. I saw this presentation and it just spurred me on to just use evil mode and: it. is. a. delight. I'm starting to understand what I've been missing. Looking forward to properly harnessing the power of emacs now!
03:40 evil - extensible vi layer 04:32 org mode - note taking & task list mgmt software package 04:50 modes in emacs - just a collection of behaviour of emacs - major mode like filetype in vim - minor mode like plugins (ohhw, so, org mode is basically emacs behaviour preset for org files, ohkay, got it now) 05:19 unloading a plugin in vim is hard ... 07:01 requirement of managing gigantic codebase containing tonnes of files 08:48 we ask bram for it ....
Thanks for this. I should do one called: Evil Mode, or how I learned to stop worrying and love vim. :D I am a heavy Emacs user for the past 2 decades, and had always turned my nose up at vim. Not anymore. I now have the best of both worlds. Total Power. Thanks to your video.
18:00 But with Emacs, you don’t need it to be installed on every machine. You can ssh from emacs to a remote machine. So you don’t have to install emacs on the remote machine
It's amazing to watch this about 5 years later and think about how far Neovim has come. Gotta say, how about full Neovim inside of Emacs? Just for fun? :)
This is what my friend told me before sending me the link to this video. "Would you like to watch an extremely nerdy and cute guy resembling Ryan Gosling explain some CS stuff you know nothing about?"
I think the main difference between vim and emacs is if you want to put everything in the editor or if you want to use your text editor for editing text and, say, a pdf viewer for viewing pdfs (if the thought of having two separate programs side by side makes you uncomfortable, look into a tile based window manager, that's where everything properly clicked for me). If you want to do everything from the editor and like hjkl then evil mode is probably the right choice for you. If you want a set of specialized tools that you use for different purposes then vim is a good choice for the text editor part of that tool belt.
It's so fun to geek around with these editors/systems, though I'm not sure if it really is improves productivity or if it just more like a hobby, like playing with an cool toy.
Orgmode has improved my productivity. And honestly the Vim Editing Langauge make my text editing so much faster. If only I could use it consistently literally everywhere. I often get interrupted by students while working on a Google Doc and return to the Doc to find the last sentnce ends with c3bsentence has a string of VEL somewhere in the middle. None of the vim keys plugins work right on Google Docs, which is really unfortunate.
In all of the programming courses I have done so far, vim and emacs have improved my coding speed tenfold. It is amazing how much time you spend moving a mouse or cursor around.
@@emeraldbonsai Yeah, I'm actually working on that. I've started a blog about using Emacs at jonathanabennett.github.io and very soon I'll be exploring a couple of different ways to pull the gdoc files. The Python library is one, but the first one I'm going to try is called pullover. It's an app that's designed to pull text over from any text buffer in MacOS into Emacs for editing. I'd rather get that one working because if that works, I can use it for literally everything.
It would be cool if this whole presentation could be updated to be current. I'm especially interested in how far along NeoVim has come along. I tried it around 6 months ago and there were a few things (which I can't recall) that made me go back to Bra(vi)m. I was hoping multi-threaded async syntax highlighting would crack the unsolved problem of the epic Ruby highlighting slowdown. But NVim was also slow. Maybe not quite as bad, but still slow enough to be very annoying. I wonder how well emacs/evil/Ruby works?
As of 2019, many points in this video are outdated. Vim/Neovim can perform tasks in the background (useful for asynchronously searching through text, building tags files, etc. as Aaron demonstrated). Vim/Neovim has an embedded terminal (that has much better rendering than any of Emacs' terminal packages). Both Vim and Neovim are very active and healthy open-source projects that benefit from one another. Neovim, in particular, does not have a BDFL and has many advantages over Emacs including the ability to be programed in many different languages as well as having an externalized UI, which has led to people developing GUI IDEs on top of Neovim (for example, Oni).
Also, all of the git functionality shown is possible with fugitive. I know the video is dated, but watching it now, it didn't present anything that I don't already have in Vim or that would make me consider switching (i.e. twitter).
I'll also add vim-orgmode; it's feature incomplete, and requires Python (= compile your own vim for 64bit on Windows), but the basics are there, it does what the video shows.
Clojure is a pretty usable lisp. Yes, it's "impure" functionally, but lisps are fun toys but it just takes a lot of syntax to get something up quickly.
Scheme is definitely great. If you truly want to start writing ACTUAL programs outside of academia, Common Lisp is definitely an option aswell. SICP is an excellent book for Scheme aswell as On Lisp for CL (my personal introductory book, although some have found PCL (Practical Common Lisp) to be an extremely intuitive introduction book (personally I have not, but I digress)). If you know any Lisp dialect, you essentially know them all sans some specific syntax anyway, so it doesn't really matter. Happy Lisping!
i remember when i first got interested in Vim, it was another talk from this same conference that really paved the way and got me excited about it. i remember seeing this one as well at the time, perhaps partially, and i just didn't really understand why this was really interesting because i was new to this world. now years later and much more knowledge about vim and the world of personalized development environments, i feel like im finally ready to switch to emacs. now time to start a new learning curve all over again, but i feel like this time this is what i've been looking for
16min in and honestly it looks like you happened to use vim, but really just wanted emacs. Vim and emacs are different paradigms, doing more stuff doesn't mean being better software and Lua is not any weirder than Lisp (arguably, it's the opposite). At the end of the day it's about simplicity, performance and composability vs having an OS in your OS.
Before I just thought if I using Emacs I have to give up on Vim, but after watched this video I'm so happy that I can use both of them, and even more functionality. I just noob as Vim, but I really love the way it does, so that is the great way to learning Vim and Emacs.
You can run emacs inside neovim from what I hear. All you need to do now is run evil mode inside emacs inside neovim inside emacs inside emacs inside neovim inside ... ;) Also, I love vim, too, and was really proud of myself and commemorating my 1 year anniversary, and you have officially crushed my dreams. :p
I'm a heavy vim user and yet, I must admit he does have a point when referring to the existence of Neovim Not sure how neatly Emacs works out of the box with LSPs though
This is more of an indictment of Windows, but I started using emacs because neovim has too many unexplained behaviors. In the era of treesitter and LSP, neovim will not acknowledge they exist outside of my local vim configuration. Which means I have to simlink my repos to a dummy directory that's inside ~/AppData/Local/nvim/. It will not lint, it will not autoformat, it will not do anything of the sort unless the file I'm editing is under init...lua. Yeah, I understand why a simple scripting language might be superior to vimscript, but that's for plugin writers -- if you're an ordinary vimmer, everything depends on how much of the vim api you're aware of. So now I have to configure with a layer of lua on top of vimscript, which 90% of the time is just me hacking with vim.cmd [[ autocmd.... ]]. On the other hand, emacs' lsp's require more than vim's: the python lsp needs you to have python installed in a virtual environment. I don't. Don't wanna. And other LSP's need to compile, like Rust. With neovim it's much simpler: it's almost always "do you have the executable? Okay we're good, carry on." Evil mode is actually excellent, so far. I'm still in emacs boot camp, having my computer lock up and forcing a hardware reboot one too many times because some neovim plugin wrote somewhere in memory that it shouldn't have (I'm looking at you, neotree.) When the only hard system fails my computer has ever experienced have been caused by my editor, that's not good. I don't know, neovim would be perfect, if each update didn't cause breaking changes to your init (I'm writing this shortly after 0.7 came out). I don't need the rest of the emacs operating system -- I have a hacked tiled window manager in windows: I just open Sumatra: what's the big deal? Also, as someone who actually programs in Common Lisp, having to edit in elisp is like writing in python 2 & 3 at the same time. Both programs are great though. They're too good -- once you have your editor *just right*, you can never settle for anything less ever again. (fwiw, nobody mentioned that emacs was the second windowed system ever created -- the first was a lisp machine with a REPL -- both written by Stallman. That was what Apple sued Microsoft over: "yeah, well we stole his ideas and monetized them FIRST". Also, vim originated in the Commodore Amiga, a machine that by everything I saw, and everything I heard, was vastly superior to the other two desktop systems available, and had maybe 5% market share, tops, because they didn't advertise.)
I skipped evil mode and just went straight to emacs directly part of it was that I was only using it for like a month but still I found it a lot easier to not mix key bindings
What software is he using for the presentation? It's obviously rendered in the browser, but the backend is some Python server (visible in the terminal at 32:20), probably Flask, but does someone know the specific package he's using?
I learned emacs a few months ago and really love it. Now I'm learning vim, because I love the editing in vim. Evil is perfect to me. I can use hjkl to move and the vim modes, and the powerful emacs shortcuts. Maybe heresy for someone, but works perfect to me
I actually started trying evil for a month after seeing this video, but then went back to vim. I felt emacs + evil did solve some edge cases in vim but has its own edge cases, Also evil seemed not to be a first class citizen in emacs, because I was forced to do things in the emacs way every now and then. The hardest thing to get used to when I switched from vim to emacs, was actually not vim, but the terminal. I just couldn't stand the terminal inside emacs, so I had to switch back and forth between emacs and terminal, which broke the "do everything inside emacs" anyway.
+Guilherme Salomé This slide is created by reveal.js[github.com/hakimel/reveal.js], and there is another awesome repository named org-reveal[github.com/yjwen/org-reveal] which can used to create reveal slides easily in org-mode in Emacs just like editing a markdown file.
This appears to be the answer to what I've been looking for! I love vim, but I have been wanting to stay in my editor and do more from one place. I cannot stand the finger strain of of normal emacs. I'm about to try this
Might be worth a try at some point. That said, I've noticed a lot of talk about the meta key - does that generally refer to the Alt key or the actual Meta (aka Windows) key on the keyboard? I mostly ask because my window manager uses the actual Meta key for pretty much all of its keyboard shortcuts...
To be fair, CoC is very usable now and there's nvim-lsp. But tbh, vim and nvim in windows is a way bigger pain than making emacs work on it so it's very justifyable
what I am confused is that everytime I finish editing a file when I press :q it exists emacs entirely. Is that really how its suppose to work? Do I need to fire up new emacs everytime?
I would have probably have become a fan of emacs back when I was using it on a DG minicomputer, but that port of it had a fatal bug that never got fixed. Since then, every unix variant I've used had a dozen different free, intuitive text editors. That, and after learning the basics of using vi's clever interface from habitually playing nethack, I adopted vi/vim and never looked back. If you like a version of emacs, that's nice.
Hi, could you please help me out? I am trying to make go-to-definition working in python and javascript without success. It works in a single file but doesn't in a big project with multiple files and subdirectories. I am using spacemacs with python and javascript modes
I have a lower powered laptop. I tried emacs abt 2years ago but found it, slow to startup compared to vim (too big bloated?) and when I tried to open a file form terminal into emacs it would open another emacs! I tried a few hacks but could not sort this out.
yes , google Evil Mode , and Evil Leader , it will take sometime to get your own key bindings to work , especially that everything is Lisp but it is really really simple and I you will enjoy it a few days later.
I use neovim and I didn't see him do anything that I can't do... also he says the emacs git plugin "destroys" t popes plugin but he didn't demonstrate one thing that plugin can do that tpope's can't.
Ctrl-G can be binded to Esc or at least repeated Esc everywhere in Emacs, though not easily, maybe. There's some code in ErgoEmacs package for that, actually
you need to be a brave person to show off Emacs in a vi conference, well done mate.
Actually everyone was really nice. I was a tiny bit surprised that there was no booing.
Really though?
Agreed. I mean, I use vim if I want to quickly edit an existing file because opening an editor in the terminal I'm already using is quick and simple, but there's literally nothing that vim does that I use, that emacs with EVIL mode doesn't do equally well. Between that and org-mode, I'm sold (yeah, vimwiki is OK, but the fact that org-mode only requires you to have a .org file makes it a hundred times more convenient).
@@aaron-bieber how did you make your emacs look black and all nice like that?
@@brandomiranda6703 You can install color themes, which are quite powerful. Most can be installed as packages via the built-in package install interface (M-x package-list-packages). I don't use a dark theme anymore and it's been so long I don't remember which one that one was.
"Unloading vim plugins is such a pain that Tim Pope wrote a plugin for it." Is easily my favorite line ever.
05:19
Underrated line for sure.
In unloading plugins' defense, tim pope writes plugins for just about everything
I love that when he gets to "and now I use emacs" there is TOTAL SILENCE in the room. You could hear a pin drop. Tough crowd.
@D M "pinky pains" laughed so hard
BOOOoOoooo
You either take the not use Vim pill or I wanna talk to you pill
17:00 Oh. Oh no. Watching this after Bram's passing feels... weird.
I got into Emacs because of this video. I didn't understand anything he was talking about. Less than a year later I understand what he's doing. Nice one Aaron.
I'm kind of in the same position now, I've only heard that geeks use it and am a noob in python (lol)
Same here. I guess most people who at first have been exposed to other more "user-friendly" text-editors nowadays will only learn how to use emacs/vim because major nerds use it. Although now I have my own reason and thus can understand why the legendary nerds still stick to it, i.e. I hate to have to reach my mouse when writing using Microsoft Word.
Exactly the same here as well haha
so what's the bottom line? Vim or Emacs? I have just started my experience with Vim... should I invest in learning Vim or Emacs?
Learn Vim then try Emacs in EVIL mode. That's what Aaron is using in this video. EVIL mode is just Emacs with Vim keybindings.
This video was _the_ gateway for me switching from Vim to Emacs. Now Emacs is my window manager, for God sake.
Cool !
It can do WHAT? A window manager? Maybe I should try this out.
@@butterjelly6339 Yep! EXWM. Still using it to this day :D
@@butterjelly6339 Yes, although it's future is somewhat uncertain.
Fast forward 7 years and Neovim has become such a polished editor and is back to back most loved editor in stackoverflow developer surveys. Lua was a great choice due to its high performance, light weight and embedded nature a very strong ecosystem has now developed around it, also there is this huge Neovim community. The best plugins are now written in Lua (e.g. Telescope). Built in support for LSP also makes it great for development coupled with TreeSitter integration we can now do things in Neovim that would not be possible otherwise because the editor is now aware of language constructs and can be made to walk and manipulate the AST itself. I wonder if it now addresses all of Aaron Bieber's concerns.
Org-mode? I know that there are at least two projects in Neovim community which try to implement similar functionality but Emacs Org-mode with all projects around it is realy hard to beat. Personally I use both editors but I'm not sure if it's smart idea, maybe focussing only on one is more productive.
I just transitioned from nvim to emacs because of the comprehensive feature set of org-mode. I was very blown away by all the things its capable of. Additionally, the emacs gui can render images and latex inside the buffer using org-fragtog and math-preview which makes editing mathematical documents trivial. I also have a lot of personal notes about various different programming languages that now have transformed into literate programming documents overnight thanks to code execution features of org-mode. Another thing vim can't do very well is reproduce the workflow of jupyter docs, but emacs can. Org-mode and org-roam combine together to embarrass not just vimwiki, but all other note taking/knowledge base systems such as obsidian or roam.
For me, the tradeoff was essentially a little bit of latency/responsiveness in exchange org-mode and in-buffer images/latex rendering. This allowed me to eliminate all other apps from my workflow. Right now I can get Space+X+j to instantly capture a timestamped journal entry. Or Space+X+t to capture a TODO with templating that allows for backlinking to the original context without any additional keypresses. Inside a TODO entry, I can clock-in to automatically create log entries of start/end times and then clock-out to closely monitor how much time I'm spending per day on each task. I also use this as a pomodoro timer. Of course, I can use a stopwatch and manually do this, but with emacs I can do it with nicely formatted logs that are folded underneath headings with just 2 or 3 keystrokes. I can compose large outlines and review them with sparse trees where only information related to my search is visible. Or I can create an agenda view that takes TODOs from several different files and composes/sorts them into a single buffer allowing me to navigate notes that are scattered everywhere or edit them remotely from a single buffer. If I'm reviewing my language notes, I can execute code blocks inside the org file and see the output without any copying/pasting. I get all of this out of the box from org-mode.
@@mandos22Neorg is well on its way.
9 years forward every single one of his concerns can be addressed by Neovim and Java developer now use it as their editor of choice
Damn you, Bieber. It's taken me this long to watch this talk, and you took 40 minutes to solve a quandary I've found myself in for literally 10 years.
Aaron you've won. After 10 times watching this video, I switched from a hardcore Vimmer to an Emacs Evil lover.
If you really watched this 10 times, I salute you. I haven't even watched it twice 😂
@ianpan how long did you it take you transition from vim to emacs ?
@@subhadeepsamantaray4220 last week I switched from vim to emacs. I decided that I will use vanilla emacs no evil mode or spacemacs. And now I am fairly decent and at par with my vim productivity and even more. My advice:
1. Complete emacs tutorial as much as you can.
2. Watch mike zamanski emacs series on youtube. Seriously its a gold mine.
@@ezio934 Thanks for getting back. I personally find vim grammar easier to remember, and would prefer to use vim verbs in emacs.
Based on your experience, would you still suggest switching to Emacs for me ?
@@subhadeepsamantaray4220 Its up to you. I am not saying to switch right away. Just give it a shot in your free time and if you like it stay with it, if not then vim is not going anywhere. Emacs series from mike zamansky has small videos showing the process of configuring emacs from scratch to an all round IDE. You can use Doom Emacs to get vim features. I didn't use it personally.
"The kitchen sink goes in emacs" - My favourite part of this whole video
Heck emacs is almost an OS. It just needs a kernel and to load at boot. :P
27:51 for anyone who wants to know where he says it.
@@SimonWoodburyForget Only a subset of games require keyup events. Gaming would be perfectly possible if you excluded those. But you don't have to exclude those, because you generally don't run a game as part of an OS anyway. If you can start the game process from Emacs you're golden.
@@SimonWoodburyForget Board games. Turn-based strategy games. Real-time strategy games. Maze games. Card games. Need I continue?
@@SimonWoodburyForget Only if you by ‘all’ mean ‘none’. I'm not going to insult your intelligence by implying you can't figure out common ways to control these types of games without keyup events, so I'm going to go ahead and assume you're simply trolling me. This is a waste of time.
I love that when I learned vi in 1994 that the vi/emacs culture still exists. Meta-x doctor was a solid companion those late nights in the computer lab.
I'm a die hard Vim user and that talk by the creator of org mode convinced me to use emacs as an organiser. Still not sure If I'm going to give evil mode a try but great talk none the less and I highly recommend org mode. It even makes a pretty schedule for you!
Woo bro, what happened at the end?
This guy talked me into Emacs. I come from Vim. It took me some time to figure out how to get Evil mode up, but now I find I don't use it that often anymore. Got to go, I have to order an Emacs shirt!
You could have a keybinding for that
This talk changed my life..
Realest comment I've seen today
Exactly
I've watched this talk multiple times over the last couple years and it's honestly one of my favourites. I've switched to emacs, and from emacs multiple times, and whenever I come back to emacs I watch this video.
10:47 is my favourite lmao, I've felt that pain.
Thank you for this talk, it's a must watch :)
Well, I'm convinced.
*Installs emacs*
+TreyRust You had to install emacs?
+Jahaal Mordeth he could of done the brew installation which adds some stuff (He says that in the vid)
+Jahaal Mordeth Yeah, it doesn't come with Fedora 23.
Same to me, m8.
if he wants to learn another editor again and had to install it ... he's got to be an arch linux user ...
I'm a non-programmer who uses vim every day for work. Except today - thanks to this video - I started using emacs in evil mode, which combined with org mode is just awesome. Thank you, Aaron and thoughtbot!
U r rare. That said, my only problems with Vim is with developing, say autocomplete , traversing nongreenfield code... Etc. so, u, sir r in heaven.
Just curious, what do you do?
+Martin Charles I'm a linguist and language teacher
I would love to be able to answer your question, but as I said I'm not a programmer, and I've only just started using emacs, mainly for org mode. Maybe you meant to leave a comment for the video makers? :-)
If you're not going for VIM or Emacs, go for VSCode. It has really grown into something phenomenal in the past few months. But when you initially posted this question, back then, probably not so.
This got me excited about the org mode talk, and it wasn't linked in the description, so here's the link: ruclips.net/video/oJTwQvgfgMM/видео.html
I use org mode and org agenda to manage my projects, keep notes, take action items with checklists... I cannot imagine doining it any other way. Jira? Trello?... Um, no.
This is probably the nerdiest thing I've ever watched and I love it
Brutally honest, I was not expecting a nerd to look as good as he does.
Cheers, mate.
Definitely
@@markm0000 beat me to it
Just wanted to say thank you for the presentation. This got me to explore emacs and vim and my life and workflow are forever changed. Keep doing what you are doing and hopefully provide some more talks in the future!
This is blasphemy. I'll give it a go.
With 3 years using VIM, I could totally relate to everything he said.. I guess it's time to finally give it a go .. !
Update?
The only way to go is "ed". ed is the standard text editor.
?
?
To think of it, as a programmer I spend approximately 5% of my time actually typing code. Good 40% is architecturing, planning, thinking and remaining 55% is debugging/investigating stuff. So even if I typed 100 times faster, it would just save me less than 5% of time overall.
@Phan Trọng Nghĩa i write plenty of code myself from scratch too, you can see plenty of pet project showcases on my channel. but even when I write something from scratch, the process of actually writing it almost always negligible compared to time it takes to plan and architect, research and debug. btw i almost never touch mouse in my workflow either -- total commander for keyboard-only file navigation and visual studio is controlled with keyboard just fine.
I love it when he pauses and watches the crowd as if he's expecting them to throw stones at him any second
Thank you! been trying to move into emacs world. I've tried several times... I knew about evil mode but wanted to learn native emacs... however the key combos would break my balls, so I'd leave it for a while.
I saw this presentation and it just spurred me on to just use evil mode and: it. is. a. delight.
I'm starting to understand what I've been missing. Looking forward to properly harnessing the power of emacs now!
03:40 evil - extensible vi layer
04:32 org mode - note taking & task list mgmt software package
04:50 modes in emacs - just a collection of behaviour of emacs
- major mode like filetype in vim - minor mode like plugins
(ohhw, so, org mode is basically emacs behaviour preset for org files, ohkay, got it now)
05:19 unloading a plugin in vim is hard ...
07:01 requirement of managing gigantic codebase containing tonnes of files
08:48 we ask bram for it ....
Thanks for this. I should do one called: Evil Mode, or how I learned to stop worrying and love vim. :D I am a heavy Emacs user for the past 2 decades, and had always turned my nose up at vim. Not anymore. I now have the best of both worlds. Total Power. Thanks to your video.
16:56 This one hits different after Bram's death.
18:00 But with Emacs, you don’t need it to be installed on every machine. You can ssh from emacs to a remote machine. So you don’t have to install emacs on the remote machine
It's amazing to watch this about 5 years later and think about how far Neovim has come. Gotta say, how about full Neovim inside of Emacs? Just for fun? :)
You could, for fun... but I guess you'd have to think, what does neovim do that emacs doesn't?
I'm not fighting, I'm really want to just know what a good setup with, neomutt, fish, neovim would need be replaced by emacs ?
I've open neovim in emacs then used beovim to open vim and used vim to open vi.
You have a strange idea of fun
This is what my friend told me before sending me the link to this video.
"Would you like to watch an extremely nerdy and cute guy resembling Ryan Gosling explain some CS stuff you know nothing about?"
I think the main difference between vim and emacs is if you want to put everything in the editor or if you want to use your text editor for editing text and, say, a pdf viewer for viewing pdfs (if the thought of having two separate programs side by side makes you uncomfortable, look into a tile based window manager, that's where everything properly clicked for me).
If you want to do everything from the editor and like hjkl then evil mode is probably the right choice for you. If you want a set of specialized tools that you use for different purposes then vim is a good choice for the text editor part of that tool belt.
It's so fun to geek around with these editors/systems, though I'm not sure if it really is improves productivity or if it just more like a hobby, like playing with an cool toy.
The sales people get BMWs, we can have fun editors
Orgmode has improved my productivity. And honestly the Vim Editing Langauge make my text editing so much faster. If only I could use it consistently literally everywhere. I often get interrupted by students while working on a Google Doc and return to the Doc to find the last sentnce ends with c3bsentence has a string of VEL somewhere in the middle. None of the vim keys plugins work right on Google Docs, which is really unfortunate.
In all of the programming courses I have done so far, vim and emacs have improved my coding speed tenfold. It is amazing how much time you spend moving a mouse or cursor around.
@@emeraldbonsai Yeah, I'm actually working on that. I've started a blog about using Emacs at jonathanabennett.github.io and very soon I'll be exploring a couple of different ways to pull the gdoc files. The Python library is one, but the first one I'm going to try is called pullover. It's an app that's designed to pull text over from any text buffer in MacOS into Emacs for editing. I'd rather get that one working because if that works, I can use it for literally everything.
@@JonathanBennettKorea It's a wonky work flow but Google Drive Fuse + Move Google Doc to Drive + Edit in Emacs
It would be cool if this whole presentation could be updated to be current. I'm especially interested in how far along NeoVim has come along. I tried it around 6 months ago and there were a few things (which I can't recall) that made me go back to Bra(vi)m. I was hoping multi-threaded async syntax highlighting would crack the unsolved problem of the epic Ruby highlighting slowdown. But NVim was also slow. Maybe not quite as bad, but still slow enough to be very annoying. I wonder how well emacs/evil/Ruby works?
25:23: Treesitter has entered the chat
Jokes aside it's a great talk and it's crazy to see most of the problem mentioned already solved by neovim
Neovim: Literally improved in every aspect except the icon/logo
disk0__ why neo vim choose that logo yuk
As of 2019, many points in this video are outdated. Vim/Neovim can perform tasks in the background (useful for asynchronously searching through text, building tags files, etc. as Aaron demonstrated). Vim/Neovim has an embedded terminal (that has much better rendering than any of Emacs' terminal packages). Both Vim and Neovim are very active and healthy open-source projects that benefit from one another. Neovim, in particular, does not have a BDFL and has many advantages over Emacs including the ability to be programed in many different languages as well as having an externalized UI, which has led to people developing GUI IDEs on top of Neovim (for example, Oni).
Also, all of the git functionality shown is possible with fugitive. I know the video is dated, but watching it now, it didn't present anything that I don't already have in Vim or that would make me consider switching (i.e. twitter).
I'll also add vim-orgmode; it's feature incomplete, and requires Python (= compile your own vim for 64bit on Windows), but the basics are there, it does what the video shows.
Let's hear an update for 2023.
As of 2023, all of them.
I have yet to hit that wall where Vim can't do something for me, but this video was still very interesting to watch.
vim is that thing I use before installing emacs on a new system
Like how your profile pic is the SS logo
Vim meetups and talks like these are the only way to stay sane.
They're basically support groups. Like AA.
Lol
I should learn lisp.
Start with the SICP.
It's just an AST.
Clojure is a pretty usable lisp. Yes, it's "impure" functionally, but lisps are fun toys but it just takes a lot of syntax to get something up quickly.
@@TroyFletcherKeyboards I would recommend Scheme
Scheme is definitely great. If you truly want to start writing ACTUAL programs outside of academia, Common Lisp is definitely an option aswell. SICP is an excellent book for Scheme aswell as On Lisp for CL (my personal introductory book, although some have found PCL (Practical Common Lisp) to be an extremely intuitive introduction book (personally I have not, but I digress)).
If you know any Lisp dialect, you essentially know them all sans some specific syntax anyway, so it doesn't really matter. Happy Lisping!
DO you hate when someone says PC when refering to MS Windows? I do.
Exactly! Uhh
i remember when i first got interested in Vim, it was another talk from this same conference that really paved the way and got me excited about it. i remember seeing this one as well at the time, perhaps partially, and i just didn't really understand why this was really interesting because i was new to this world. now years later and much more knowledge about vim and the world of personalized development environments, i feel like im finally ready to switch to emacs. now time to start a new learning curve all over again, but i feel like this time this is what i've been looking for
Haven't used emacs much but as a relatively experienced Vim/NeoVim user with significant issues with Vim, this video pushed me over the edge to Emacs.
16min in and honestly it looks like you happened to use vim, but really just wanted emacs. Vim and emacs are different paradigms, doing more stuff doesn't mean being better software and Lua is not any weirder than Lisp (arguably, it's the opposite). At the end of the day it's about simplicity, performance and composability vs having an OS in your OS.
Before I just thought if I using Emacs I have to give up on Vim, but after watched this video I'm so happy that I can use both of them, and even more functionality. I just noob as Vim, but I really love the way it does, so that is the great way to learning Vim and Emacs.
You can run emacs inside neovim from what I hear.
All you need to do now is run evil mode inside emacs inside neovim inside emacs inside emacs inside neovim inside ...
;)
Also, I love vim, too, and was really proud of myself and commemorating my 1 year anniversary, and you have officially crushed my dreams. :p
u stop that
how is he doing the presentation in browser? looks cool i would like to do that!
can anyone tell me how
I'm a heavy vim user and yet, I must admit he does have a point when referring to the existence of Neovim
Not sure how neatly Emacs works out of the box with LSPs though
17:43 It happened
RIP Bram Moolenaar
Waiting for the said blog post of starting life on emacs in 14 days
William Simpson and after a couple of weekends I am on emacs and not planning going back
As a vim user, I know the face of the audience as he said "emacs is better software"
This is more of an indictment of Windows, but I started using emacs because neovim has too many unexplained behaviors. In the era of treesitter and LSP, neovim will not acknowledge they exist outside of my local vim configuration. Which means I have to simlink my repos to a dummy directory that's inside ~/AppData/Local/nvim/. It will not lint, it will not autoformat, it will not do anything of the sort unless the file I'm editing is under init...lua. Yeah, I understand why a simple scripting language might be superior to vimscript, but that's for plugin writers -- if you're an ordinary vimmer, everything depends on how much of the vim api you're aware of. So now I have to configure with a layer of lua on top of vimscript, which 90% of the time is just me hacking with vim.cmd [[ autocmd.... ]].
On the other hand, emacs' lsp's require more than vim's: the python lsp needs you to have python installed in a virtual environment. I don't. Don't wanna. And other LSP's need to compile, like Rust. With neovim it's much simpler: it's almost always "do you have the executable? Okay we're good, carry on."
Evil mode is actually excellent, so far. I'm still in emacs boot camp, having my computer lock up and forcing a hardware reboot one too many times because some neovim plugin wrote somewhere in memory that it shouldn't have (I'm looking at you, neotree.) When the only hard system fails my computer has ever experienced have been caused by my editor, that's not good.
I don't know, neovim would be perfect, if each update didn't cause breaking changes to your init (I'm writing this shortly after 0.7 came out). I don't need the rest of the emacs operating system -- I have a hacked tiled window manager in windows: I just open Sumatra: what's the big deal? Also, as someone who actually programs in Common Lisp, having to edit in elisp is like writing in python 2 & 3 at the same time.
Both programs are great though. They're too good -- once you have your editor *just right*, you can never settle for anything less ever again.
(fwiw, nobody mentioned that emacs was the second windowed system ever created -- the first was a lisp machine with a REPL -- both written by Stallman. That was what Apple sued Microsoft over: "yeah, well we stole his ideas and monetized them FIRST". Also, vim originated in the Commodore Amiga, a machine that by everything I saw, and everything I heard, was vastly superior to the other two desktop systems available, and had maybe 5% market share, tops, because they didn't advertise.)
What theme is he using?
github.com/oneKelvinSmith/monokai-emacs
emacsthemes.com/themes/spolsky-theme.html
I skipped evil mode and just went straight to emacs directly part of it was that I was only using it for like a month but still I found it a lot easier to not mix key bindings
what presentation tool is he using? looks cool.
Using vim for many years, i didnt feel the need to try Emacs. Thanks to you, or because of you, i am gonna give it a try. Thanks for the great talk.
What software is he using for the presentation? It's obviously rendered in the browser, but the backend is some Python server (visible in the terminal at 32:20), probably Flask, but does someone know the specific package he's using?
I learned emacs a few months ago and really love it. Now I'm learning vim, because I love the editing in vim. Evil is perfect to me. I can use hjkl to move and the vim modes, and the powerful emacs shortcuts. Maybe heresy for someone, but works perfect to me
I actually started trying evil for a month after seeing this video, but then went back to vim. I felt emacs + evil did solve some edge cases in vim but has its own edge cases, Also evil seemed not to be a first class citizen in emacs, because I was forced to do things in the emacs way every now and then.
The hardest thing to get used to when I switched from vim to emacs, was actually not vim, but the terminal. I just couldn't stand the terminal inside emacs, so I had to switch back and forth between emacs and terminal, which broke the "do everything inside emacs" anyway.
Anyone knows what tool he used to create his slides?
I found out, he is using this: github.com/hakimel/reveal.js
+Guilherme Salomé This seems Rmarkdown presentations
+Guilherme Salomé This slide is created by reveal.js[github.com/hakimel/reveal.js], and there is another awesome repository named org-reveal[github.com/yjwen/org-reveal] which can used to create reveal slides easily in org-mode in Emacs just like editing a markdown file.
How can I get the theme and mode line the speaker is using? I really like the mode line.
Emacs in SSH session?
This appears to be the answer to what I've been looking for! I love vim, but I have been wanting to stay in my editor and do more from one place. I cannot stand the finger strain of of normal emacs. I'm about to try this
Btw what smartwatch is he wearing? Looks pretty slick, does anyone know?
Might be worth a try at some point. That said, I've noticed a lot of talk about the meta key - does that generally refer to the Alt key or the actual Meta (aka Windows) key on the keyboard? I mostly ask because my window manager uses the actual Meta key for pretty much all of its keyboard shortcuts...
+Parker8752 You're confusing the meta and super key. Meta refers to Alt whereas Super refers to the 'Windows key' or 'Command key' on macs
Ah, there we go. That makes much more sense.
I'm an emacs user since 1988. But I've never used org mode. I'll give it a try.
To be fair, CoC is very usable now and there's nvim-lsp. But tbh, vim and nvim in windows is a way bigger pain than making emacs work on it so it's very justifyable
what is the name of the song 0:00 - 0:12 ?
what I am confused is that everytime I finish editing a file when I press :q it exists emacs entirely. Is that really how its suppose to work? Do I need to fire up new emacs everytime?
I would have probably have become a fan of emacs back when I was using it on a DG minicomputer, but that port of it had a fatal bug that never got fixed. Since then, every unix variant I've used had a dozen different free, intuitive text editors. That, and after learning the basics of using vi's clever interface from habitually playing nethack, I adopted vi/vim and never looked back. If you like a version of emacs, that's nice.
Hi, could you please help me out? I am trying to make go-to-definition working in python and javascript without success. It works in a single file but doesn't in a big project with multiple files and subdirectories. I am using spacemacs with python and javascript modes
Which theme is that on emacs he has?
How to set it up??
He's a really brave guy and I like his sense of humour also. :)
Whats ctags/ctex @ 7:48
Do any of you guys use Emacs without "Vim" ?
I do. Im looking to use VI mode though
No it's possibly dangerous to the wrists.
But I use doom emacs and the leader key is a space :D
@@mksybr have you tried doom emacs since writing that comment?
It has a goof evil mode setup.
Cool! How do you set about the emacs? which plugins do you install ? Can you share Your settings?
Does anyone know which theme did he use in emacs? I really liked that cool status bar!!!
Never mind. It's Powerline, just now saw that part in video.
I have a lower powered laptop. I tried emacs abt 2years ago but found it, slow to startup compared to vim (too big bloated?) and when I tried to open a file form terminal into emacs it would open another emacs! I tried a few hacks but could not sort this out.
emac -nw
what application are you using to give your presentation? I've seen these before, with the blue arrows on the bottom right hand corner...
Reveal.js, and org-mode can export to it
does everything electronJS editors do, except 1000x faster and use 1/1000 memory in comparison. Amazing
@23:37 what plugin is that? I'd love to use it
what is he using for switching buffers ?
17:30 RIP Bram
:term does use your shell, just tried it and it called zsh without a hitch
The Vim community has been infiltrated! And now I feel the need to try emacs ....
what people often do not think of.. your terminal emulator is actually also a gui app, but it does not comes with all the goodies around.
i might switch to Emacs. Is there a preconfiged vim binding for it
try spacemacs.
yes , google Evil Mode , and Evil Leader , it will take sometime to get your own key bindings to work , especially that everything is Lisp but it is really really simple and I you will enjoy it a few days later.
lots of packages and stuff that you will never ever use. I highly recommend Evil Mode without spacemacs and install packages as you need them.
I use neovim and I didn't see him do anything that I can't do... also he says the emacs git plugin "destroys" t popes plugin but he didn't demonstrate one thing that plugin can do that tpope's can't.
Emacs and Vim killed my productivity issues. I guess it just provided me clarity
How much does this still hold up?
This video was a gateway drug to the world of Emacs. 1 year later, I use Doom Emacs and do everything there
which theme is this?
Ctrl-G can be binded to Esc or at least repeated Esc everywhere in Emacs, though not easily, maybe. There's some code in ErgoEmacs package for that, actually
Any idea how to switch from Vim-LaTeX-Suite.
I know I know many people hat it. I like those macros and I would need them if I want to switch.
+Felix Albrecht org-mode can export to latex fyi. dunno if it helps you
+Felix Albrecht I use latex-mode and latex-preview-pane, and it works (and looks) pretty good.
vi-able option
I propose using "Vimulation" in place of "Vim Emulation"
You said emacsclient as you showed it is useless. It's not. It's how you get proper multi-monitor support working in emacs -nw.