Evil Mode: Or, How I Learned to Stop Worrying and Love Emacs

Поділитися
Вставка
  • Опубліковано 1 лют 2025
  • Aaron Bieber from Wayfair is back to talk to us about his recent experience using Emacs (what?!?!). That's right, Emacs. Aaron decided it was time to see how things looked on the other side and will share what he found, what he missed from Vim, and maybe even a few things we can bring back to Vim from Emacs.
    Learn more from the developers at thoughtbot ⌨️
    Head over to tbot.io/dev-blog to read more great articles on our blog.

КОМЕНТАРІ • 439

  • @joaofleumatico
    @joaofleumatico 8 років тому +1820

    you need to be a brave person to show off Emacs in a vi conference, well done mate.

    • @aaron-bieber
      @aaron-bieber 7 років тому +160

      Actually everyone was really nice. I was a tiny bit surprised that there was no booing.

    • @SeekerLabs
      @SeekerLabs 7 років тому +6

      Really though?

    • @Parker8752
      @Parker8752 6 років тому +12

      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
      @brandomiranda6703 6 років тому +5

      @@aaron-bieber how did you make your emacs look black and all nice like that?

    • @aaron-bieber
      @aaron-bieber 6 років тому +17

      @@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.

  • @PS3PCDJ
    @PS3PCDJ 4 роки тому +201

    "Unloading vim plugins is such a pain that Tim Pope wrote a plugin for it." Is easily my favorite line ever.

    • @yash1152
      @yash1152 2 роки тому +9

      05:19

    • @bearwolffish
      @bearwolffish 2 роки тому +3

      Underrated line for sure.

    • @Dieterbe
      @Dieterbe Рік тому +1

      In unloading plugins' defense, tim pope writes plugins for just about everything

  • @onetimeonthegoodfoot
    @onetimeonthegoodfoot 5 років тому +415

    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.

    • @TangoIndiaMike144
      @TangoIndiaMike144 4 роки тому +2

      @D M "pinky pains" laughed so hard

    • @toooes
      @toooes 3 роки тому +1

      BOOOoOoooo

    • @theoriginyt4869
      @theoriginyt4869 Рік тому +1

      You either take the not use Vim pill or I wanna talk to you pill

  • @adrianthomas4163
    @adrianthomas4163 9 років тому +237

    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.

    • @tagged5life
      @tagged5life 8 років тому +7

      I'm kind of in the same position now, I've only heard that geeks use it and am a noob in python (lol)

    • @benjdewantara
      @benjdewantara 8 років тому +6

      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.

    • @arthurcgusmao
      @arthurcgusmao 8 років тому

      Exactly the same here as well haha

    • @watawonderfulworld
      @watawonderfulworld 8 років тому +4

      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?

    • @adrianthomas4163
      @adrianthomas4163 8 років тому +11

      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.

  • @talhaakram
    @talhaakram 2 роки тому +57

    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.

    • @mandos22
      @mandos22 2 роки тому +16

      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.

    • @billygunther9381
      @billygunther9381 Рік тому +1

      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.

    • @trev-dev
      @trev-dev 10 місяців тому

      @@mandos22Neorg is well on its way.

    • @ahmedjaad4940
      @ahmedjaad4940 4 місяці тому

      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

  • @digipack
    @digipack 5 років тому +23

    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.

  • @shatterstone3045
    @shatterstone3045 11 місяців тому +12

    17:00 Oh. Oh no. Watching this after Bram's passing feels... weird.

  • @tenv
    @tenv 4 роки тому +79

    This video was _the_ gateway for me switching from Vim to Emacs. Now Emacs is my window manager, for God sake.

    • @Abhinav-Bhat
      @Abhinav-Bhat 2 роки тому +2

      Cool !

    • @butterjelly6339
      @butterjelly6339 2 роки тому

      It can do WHAT? A window manager? Maybe I should try this out.

    • @tenv
      @tenv 2 роки тому +2

      @@butterjelly6339 Yep! EXWM. Still using it to this day :D

    • @gagagero
      @gagagero Рік тому

      @@butterjelly6339 Yes, although it's future is somewhat uncertain.

  • @ianpan0102
    @ianpan0102 6 років тому +58

    Aaron you've won. After 10 times watching this video, I switched from a hardcore Vimmer to an Emacs Evil lover.

    • @aaron-bieber
      @aaron-bieber 6 років тому +9

      If you really watched this 10 times, I salute you. I haven't even watched it twice 😂

    • @subhadeepsamantaray4220
      @subhadeepsamantaray4220 4 роки тому

      @ianpan how long did you it take you transition from vim to emacs ?

    • @ezio934
      @ezio934 4 роки тому +3

      @@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.

    • @subhadeepsamantaray4220
      @subhadeepsamantaray4220 4 роки тому

      @@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 ?

    • @ezio934
      @ezio934 4 роки тому +1

      @@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.

  • @JohnDegen_aka_Jeehannes
    @JohnDegen_aka_Jeehannes 8 років тому +43

    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!

  • @jamesharland3727
    @jamesharland3727 8 років тому +88

    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!

    • @OchoZero9
      @OchoZero9 8 років тому +2

      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.

    • @MartinCharles
      @MartinCharles 8 років тому +1

      Just curious, what do you do?

    • @jamesharland3727
      @jamesharland3727 8 років тому +11

      +Martin Charles I'm a linguist and language teacher

    • @jamesharland3727
      @jamesharland3727 8 років тому +2

      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? :-)

    • @fahadus
      @fahadus 7 років тому +4

      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.

  • @Jango1989
    @Jango1989 9 років тому +17

    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!

    • @Ateshtesh
      @Ateshtesh 2 роки тому

      Woo bro, what happened at the end?

  • @jpcampbell
    @jpcampbell 4 роки тому +18

    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.

  • @wety789
    @wety789 8 років тому +213

    "The kitchen sink goes in emacs" - My favourite part of this whole video

    • @theroundduckman
      @theroundduckman 8 років тому +12

      Heck emacs is almost an OS. It just needs a kernel and to load at boot. :P

    • @true-blue32
      @true-blue32 7 років тому +7

      27:51 for anyone who wants to know where he says it.

    • @konayasai
      @konayasai 5 років тому

      @@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.

    • @konayasai
      @konayasai 5 років тому

      @@SimonWoodburyForget Board games. Turn-based strategy games. Real-time strategy games. Maze games. Card games. Need I continue?

    • @konayasai
      @konayasai 5 років тому +1

      @@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.

  • @mbaderoen
    @mbaderoen 4 роки тому +2

    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 :)

  • @killroy123
    @killroy123 8 років тому +8

    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!

  • @onbekendpersoon1082
    @onbekendpersoon1082 9 років тому +64

    This talk changed my life..

    • @ianpan0102
      @ianpan0102 5 років тому

      Realest comment I've seen today

    • @xuxue9122
      @xuxue9122 3 роки тому

      Exactly

  • @raalotephinscorcies5382
    @raalotephinscorcies5382 7 років тому +8

    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!

  • @XorAlex
    @XorAlex 8 років тому +151

    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.

    • @Ovenman940
      @Ovenman940 6 років тому +78

      The sales people get BMWs, we can have fun editors

    • @JonathanBennettKorea
      @JonathanBennettKorea 6 років тому +23

      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.

    • @nixlad
      @nixlad 5 років тому +6

      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.

    • @JonathanBennettKorea
      @JonathanBennettKorea 5 років тому

      @@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.

    • @mksybr
      @mksybr 5 років тому

      @@JonathanBennettKorea It's a wonky work flow but Google Drive Fuse + Move Google Doc to Drive + Edit in Emacs

  • @friedrichdergroe9664
    @friedrichdergroe9664 3 роки тому +1

    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.

  • @TreyRust
    @TreyRust 9 років тому +231

    Well, I'm convinced.
    *Installs emacs*

    • @flagman57
      @flagman57 9 років тому +14

      +TreyRust You had to install emacs?

    • @MyAce8
      @MyAce8 9 років тому +1

      +Jahaal Mordeth he could of done the brew installation which adds some stuff (He says that in the vid)

    • @PhilippeCarphin
      @PhilippeCarphin 9 років тому +3

      +Jahaal Mordeth Yeah, it doesn't come with Fedora 23.

    • @barflaginduck
      @barflaginduck 7 років тому

      Same to me, m8.

    • @hamilcarr4685
      @hamilcarr4685 6 років тому +8

      if he wants to learn another editor again and had to install it ... he's got to be an arch linux user ...

  • @yopizza
    @yopizza 8 років тому +241

    This is blasphemy. I'll give it a go.

  • @carlospenaranda5777
    @carlospenaranda5777 6 років тому +4

    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.

  • @randomizednamme
    @randomizednamme 9 років тому +445

    This is probably the nerdiest thing I've ever watched and I love it

    • @markm0000
      @markm0000 8 років тому +39

      Brutally honest, I was not expecting a nerd to look as good as he does.

    • @aaron-bieber
      @aaron-bieber 7 років тому +25

      Cheers, mate.

    • @mcsaism
      @mcsaism 5 років тому

      Definitely

    • @coronaklledmebot4856
      @coronaklledmebot4856 2 роки тому

      @@markm0000 beat me to it

  • @ronniemagatti3342
    @ronniemagatti3342 4 роки тому +40

    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? :)

    • @noblesavage149
      @noblesavage149 3 роки тому +6

      You could, for fun... but I guess you'd have to think, what does neovim do that emacs doesn't?

    • @sectorx20
      @sectorx20 3 роки тому

      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 ?

    • @nevoyu
      @nevoyu 3 роки тому +3

      I've open neovim in emacs then used beovim to open vim and used vim to open vi.

    • @Dieterbe
      @Dieterbe Рік тому

      You have a strange idea of fun

  • @monugupta32
    @monugupta32 5 років тому +5

    With 3 years using VIM, I could totally relate to everything he said.. I guess it's time to finally give it a go .. !

  • @VioletJewel1729
    @VioletJewel1729 9 років тому +52

    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

  • @yash1152
    @yash1152 2 роки тому +11

    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 ....

  • @matthewlind3102
    @matthewlind3102 6 років тому +5

    Perfect! Awesome presentation Aaron, thanks!
    Now I know what to do. I will start learning Vim so I have it available everywhere I go. Then I'll get emacs with evil mode.

  • @PizzaRollExpert
    @PizzaRollExpert 6 років тому +3

    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.

  • @hieucao9909
    @hieucao9909 6 років тому

    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.

  • @JayLooney
    @JayLooney 8 років тому +37

    This got me excited about the org mode talk, and it wasn't linked in the description, so here's the link: ua-cam.com/video/oJTwQvgfgMM/v-deo.html

    • @friedrichdergroe9664
      @friedrichdergroe9664 3 роки тому

      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.

  • @Draganko123
    @Draganko123 5 років тому

    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.

  • @juanadriancastroquintana8939
    @juanadriancastroquintana8939 6 років тому +4

    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

  • @Unei1995
    @Unei1995 2 роки тому +2

    I love it when he pauses and watches the crowd as if he's expecting them to throw stones at him any second

  • @256k_
    @256k_ Рік тому

    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

  • @skye1596
    @skye1596 4 роки тому +2

    I have yet to hit that wall where Vim can't do something for me, but this video was still very interesting to watch.

  • @Alexander_Sannikov
    @Alexander_Sannikov 5 років тому +7

    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.

    • @Alexander_Sannikov
      @Alexander_Sannikov 4 роки тому

      @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.

  • @disk0__
    @disk0__ 7 років тому +4

    Neovim: Literally improved in every aspect except the icon/logo

    • @AjayKumar-uk4sp
      @AjayKumar-uk4sp 5 років тому

      disk0__ why neo vim choose that logo yuk

  • @muhdzafri7551
    @muhdzafri7551 3 роки тому +2

    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

  • @erikedlund8711
    @erikedlund8711 6 років тому +12

    The only way to go is "ed". ed is the standard text editor.
    ?

  • @smprather
    @smprather 4 роки тому +5

    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?

  • @MahashwetaBhattacharya
    @MahashwetaBhattacharya 8 років тому +133

    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?"

  • @altair_cepheus
    @altair_cepheus 7 років тому +1

    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

  • @kexuyo
    @kexuyo 7 років тому +7

    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.

  • @ayylmao1197
    @ayylmao1197 8 років тому +46

    vim is that thing I use before installing emacs on a new system

  • @SlavaKim
    @SlavaKim 9 років тому +13

    Waiting for the said blog post of starting life on emacs in 14 days

    • @SlavaKim
      @SlavaKim 9 років тому +14

      William Simpson and after a couple of weekends I am on emacs and not planning going back

  • @omarmagdy1075
    @omarmagdy1075 Рік тому +3

    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

  • @ThaRSGeek
    @ThaRSGeek 9 років тому +70

    Vim meetups and talks like these are the only way to stay sane.

  • @anibaldk
    @anibaldk 5 місяців тому

    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

  • @fabioramatis2373
    @fabioramatis2373 4 роки тому

    Thanks for changing my life
    I'm using doom emacs and I'm really happy with emacs power

  • @gosukiwi
    @gosukiwi 9 років тому +59

    I should learn lisp.

    • @malandro2023
      @malandro2023 6 років тому +3

      Start with the SICP.

    • @skepticmoderate5790
      @skepticmoderate5790 6 років тому +3

      It's just an AST.

    • @TroyFletcherKeyboards
      @TroyFletcherKeyboards 6 років тому +3

      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.

    • @jonny__b
      @jonny__b 5 років тому +1

      @@TroyFletcherKeyboards I would recommend Scheme

    • @arbitrarilyclose
      @arbitrarilyclose 5 років тому +4

      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!

  • @asheqimran6238
    @asheqimran6238 6 років тому +16

    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).

    • @Cybolic
      @Cybolic 6 років тому +1

      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).

    • @cthzierp5830
      @cthzierp5830 5 років тому

      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.

    • @SisypheanRoller
      @SisypheanRoller Рік тому

      Let's hear an update for 2023.

    • @damian_madmansnest
      @damian_madmansnest Рік тому

      As of 2023, all of them.

  • @an0nsaiko890
    @an0nsaiko890 Рік тому +1

    16:56 This one hits different after Bram's death.

  • @DARIUSHAZIMI
    @DARIUSHAZIMI 8 років тому +1

    Very well done. Great presentation Aaron. Must use emacs, Must use emacs. Got into emacs just because of this video Aaron.

  • @andrewlankford9634
    @andrewlankford9634 6 років тому

    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.

  • @vietn621c8
    @vietn621c8 6 років тому +6

    does everything electronJS editors do, except 1000x faster and use 1/1000 memory in comparison. Amazing

  • @SuperBoU
    @SuperBoU 7 років тому +1

    Thank you. You gave me reason to try evil mode on emacs.

  • @SamiyuruSenarathna
    @SamiyuruSenarathna 4 роки тому

    That is a lot of enthusiasm. Great. I feel like trying the things you showed.

  • @orion55
    @orion55 5 років тому +3

    As a vim user, I know the face of the audience as he said "emacs is better software"

  • @user-je8he7ox6p
    @user-je8he7ox6p 10 місяців тому

    He's a really brave guy and I like his sense of humour also. :)

  • @jessejordache1869
    @jessejordache1869 2 роки тому +1

    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.)

  • @chair547
    @chair547 6 років тому +1

    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

  • @istainblack
    @istainblack 6 років тому +7

    The Vim community has been infiltrated! And now I feel the need to try emacs ....

  • @jimnewton4534
    @jimnewton4534 6 років тому +1

    I'm an emacs user since 1988. But I've never used org mode. I'll give it a try.

  • @nullanon5716
    @nullanon5716 6 років тому +1

    Emacs and Vim killed my productivity issues. I guess it just provided me clarity

  • @fakestiv
    @fakestiv 3 місяці тому +1

    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.

  • @jimying4682
    @jimying4682 9 років тому +2

    Cool! How do you set about the emacs? which plugins do you install ? Can you share Your settings?

  • @PhilippeCarphin
    @PhilippeCarphin 6 днів тому

    28:30 While magit is totally awesome, the =:Git blame= from Tim Pope's plugin is way better than Magit's blame that interweaves commit info with the code. If I want to do a git blame, I close Emacs and go in Vim just for that.

  • @a13ph0
    @a13ph0 9 років тому

    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

  • @eppodagawd6521
    @eppodagawd6521 3 роки тому

    *speaker*: "After probably millions of hours of configuration behind me"
    *me*: dang that guy's at least 114 years old... lookin good slick!

  • @the_real_vdegenne
    @the_real_vdegenne 8 років тому +8

    Emacs is probably the best thing that happened to me, besides learning how to efficiently code without using the mouse or arrow keys and destroying my back, I realized the keys i long was learning from a linux environment like the man pages or the shell interactive keys are the same keys that the Emacs interface is using. I am sorry but could someone tells me one good reason to use Evil Mode ? As I just said Emacs keystrokes are actually linux environment's keystrokes, so if you are learning to use Emacs you will hit two birds.

    • @Abayake
      @Abayake 7 років тому +1

      Actually less/tail also uses vim stuff (Nj Nk to move N lines downards or upwards, ? / to search etc), but EVIL mode is mainly aimed at people who are used to the vim philosophy (which is kind of opposite of emacs'), so most people already know how to use unix (vim is usally sysadmins' editor of choice via ssh since it's lighter) keymaps anyway.
      So it's mostly aimed at people who are used to vim but want to move to what's objectively better software, while keeping the editing style of vim.
      If you're fine with emacs' mapping then you have no real reason to look at it except maybe curiosity.

    • @JonathanBennettKorea
      @JonathanBennettKorea 6 років тому +9

      Vim, and by extension Evil mode, differs from Emacs in 1 primary assumption about text editing: You spend most of your time editing, not writing. Given that assumption and the shared assumption that keyboard commands are better than mouse actions, all of Vim falls into place.
      If you spend most of your time editing, you want to spend most of your time with your hands in the typing position, but how can you issue editing commands without leaving the home row? Well, you use modal editing. When you're in Insert Mode (or the overwrite mode), your keystrokes are read as characters to put on the screen. But you spend most of your time in Normal Mode (hence the name). And there, your keystrokes are commands. Well, if you're able to have multiple, successive keystrokes interpreted as commands, why not allow command composition? And that's the beauty of what I call VEL (Vim Editing Language).
      Want to delete to the end of a line in Emacs? There's a key combination for that, sure. But it calls a specific function ("delete-to-eol" I think). You need a different one if you want to delete to the beginning of the word. And another to delete to the end of a paragraph. In VEL, there's a single delete command: d. By itself, it does nothing. Because delete, by itself, doesn't mean anything. But I can combine it with motion commands, and now there's magic. The VEL string `dt(` will delete all text up to (but not including) the very next ( occuring on this line. `d4w` deletes the next 4 words. `d4b` deletes the last 4 words. I didn't have to memorize all the combinations, any more than I have to memorize all the possible combinations of English words which can make a sentence. In the VEL, if you learn a new motion, you automatically know how to delete over that motion, change over that motion, comment over that motion, indent/dedent over that motion... If you learn the command to yank, you automatically know how to do that over any motion you already know. The possibilities grow exponentially, but the memory footprint grows linearly.

  • @Parker8752
    @Parker8752 9 років тому +1

    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...

    • @theblulad
      @theblulad 9 років тому +1

      +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

    • @Parker8752
      @Parker8752 9 років тому

      Ah, there we go. That makes much more sense.

  • @insanecbrotha
    @insanecbrotha 6 років тому

    It is fascinating how someone who is so into vim would want to use a mac at home and not linux with i3 or something. Nice talk btw!

  • @XDjUanZInHO
    @XDjUanZInHO 4 роки тому +1

    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

  • @minhajsixbyte
    @minhajsixbyte 4 роки тому +1

    how is he doing the presentation in browser? looks cool i would like to do that!
    can anyone tell me how

  • @miyalys
    @miyalys 5 років тому

    It seems a lot of these features are now equally possible with neovim, but Org mode does look nice, so I'm thinking about using emacs/org for note taking in the future, instead of writing markdown in vim.
    I wonder if vim or emacs (plugins included) has better Java development support currently?

  • @soutrikband
    @soutrikband Місяць тому

    This video was a gateway drug to the world of Emacs. 1 year later, I use Doom Emacs and do everything there

  • @tinnick
    @tinnick 2 роки тому

    what presentation tool is he using? looks cool.

  • @alecstewart212
    @alecstewart212 7 років тому +1

    As a new Emacs user, glad you've joined us. :P
    But as Joao stated, you got balls for showing Emacs at a Vim meetup. Why anyone gives a shit, beats me, but I know people are reeeeeeally optionated about it.

  • @igormorgado
    @igormorgado 4 роки тому +5

    DO you hate when someone says PC when refering to MS Windows? I do.

    • @AS-gq5ho
      @AS-gq5ho 5 місяців тому

      Exactly! Uhh

  • @goofyschoolaccount
    @goofyschoolaccount Рік тому +2

    17:43 It happened
    RIP Bram Moolenaar

  • @marcello4258
    @marcello4258 2 роки тому

    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.

  • @anotherjohn
    @anotherjohn 9 років тому +8

    "Emacs can do anything Vim can do"
    I thought so too until I tried editing a 50meg xml file with it.

    • @codeinclined
      @codeinclined 7 років тому +48

      As a vim user with a form of autism, your comment only served to make me appreciate vim/emacs more and you less.

    • @rsimon1252
      @rsimon1252 6 років тому +10

      haha atom hahahaha

  • @SimskeD
    @SimskeD 6 років тому

    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?

  • @salehgeberty
    @salehgeberty 8 місяців тому

    Is emacs still a good choice, or nvim and jscode is 😮 or subilne is 😊

  • @luv2stack
    @luv2stack 6 років тому +4

    Do any of you guys use Emacs without "Vim" ?

    • @mksybr
      @mksybr 5 років тому

      I do. Im looking to use VI mode though

    • @glowingone1774
      @glowingone1774 3 роки тому

      No it's possibly dangerous to the wrists.
      But I use doom emacs and the leader key is a space :D

    • @glowingone1774
      @glowingone1774 3 роки тому

      @@mksybr have you tried doom emacs since writing that comment?
      It has a goof evil mode setup.

  • @lperkins2
    @lperkins2 5 років тому +1

    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.

  • @SantiYounger
    @SantiYounger 4 роки тому

    5:00 I need to watch this talk, that he talked about regarding orgmode

  • @NKernytskyy
    @NKernytskyy 3 роки тому

    Until brief intro to this video I considered Emacs unworthy of my attention comparing to Vim, but now ... I consider to re-consider.

  • @ildisiri
    @ildisiri 7 років тому

    Btw what smartwatch is he wearing? Looks pretty slick, does anyone know?

  • @zenec_
    @zenec_ 3 роки тому +1

    Me : never did programming before
    My programming school : we will make you use emacs as a text editor
    Me : *cry*

  • @Zsnakeistaken
    @Zsnakeistaken 8 років тому +10

    that title is baller

  • @KP-gs3rl
    @KP-gs3rl 7 років тому

    Does anyone know which theme did he use in emacs? I really liked that cool status bar!!!

    • @KP-gs3rl
      @KP-gs3rl 7 років тому +1

      Never mind. It's Powerline, just now saw that part in video.

  • @afterthesmash
    @afterthesmash 6 років тому

    I've been a emacs dilettante for as long as I can remember. I know enough to get by, but never made the jump to power user. I'm also a vi dilettante, just enough for editing configuration files. I'm also an Eclipse editor dilettante. In some ways, this is the least painful, because it most resembles my web client's textarea input box, which I also use extensively (even without an inbuilt regex search and replace, which is simply mind boggling). Long ago, in the late age of MS-DOS, I was a Brief power editor. I suspect I knew every command in the entire program. Before that, I had been a WordStar power editor. I had read the manual cover to cover more than once. Long ago, I gave vi a trial as my new power editor. But even after a month, I still found myself typing in the wrong mode what seemed like fifteen times a minute, and finally I just thought: what a steaming POS!
    Here's the problem. I don't mind typing in the wrong mode. What I CAN NOT STAND is the inability of vi to undo my last flurry of keystrokes (bursting up to 120 wpm) and then replay them again in the correct mode. It's a computer, right? Computers can do things like that, right? Or _ought_ to be able to ... ??? In the 21st century ?????
    Now perhaps the vi implementation was the roadblock all along, and vi on top of emacs could actually implement mode-revisionist burst replay.
    Demonstrate that feature in evil mode and you would have had me grinning diabolically before hello.
    For some reason, I am congenitally incapable of thinking mode first, intent second. It always ends up being intent first, @&%#$ language, cognitive frame shift to discover how much damage I just did to my buffer with twenty keystrokes launched in a 1.0 s flurry in command mode instead of insert mode, restoring my cursor position, then repeating the burst again-not even always remembering to go back into insert mode before doing so (congenital problems like the one I have don't take hiatus). Lather, rinse, repeat. Until I want to punch the sun out of the sky.
    90% of my emotional response to vi/vim is wanting to punch the sun out of the sky after yet another recursive mode battle.
    Here's another fine implementation idea: the document is always loaded into two buffers. The top buffer is *always* in insert mode. The bottom buffer is *always* in command mode. Both buffers respond to the keyboard in tandem. Then after every keyboard burst, I merely have to pick which one I want to keep, and my two windows synchronize again. Or I could probably also learn to make this work with two keyboards: one *always* in insert mode, the other *always* in command mode. It would be faster than my typical mode switch as I ever managed to conduct this in my first grand effort to adopt vi/vim.
    BTW, I never completely internalized ^G in emacs, either. (Somewhere along the line, I must have run out of mental buffers for totally internalized things.) But then I just make sure ^Z is bound to something non-destructive, and I'm good to go.
    Unfortunately, vi's attitude, so far as I've ever discovered, is this: ha! ha! wrong mode-back it out by hand, and type it again, you stupid mutt.

  • @calmvolatility2787
    @calmvolatility2787 7 років тому

    what application are you using to give your presentation? I've seen these before, with the blue arrows on the bottom right hand corner...

    • @rogerbosman2126
      @rogerbosman2126 5 років тому

      Reveal.js, and org-mode can export to it

  • @MacbookCore
    @MacbookCore 8 років тому +5

    What theme is he using?

    • @siros4207
      @siros4207 7 років тому

      github.com/oneKelvinSmith/monokai-emacs

    • @mauriciocortazar9604
      @mauriciocortazar9604 6 років тому

      emacsthemes.com/themes/spolsky-theme.html

  • @ansumanbebarta3750
    @ansumanbebarta3750 8 років тому

    How can I get the theme and mode line the speaker is using? I really like the mode line.

  • @Jcarr250
    @Jcarr250 6 років тому

    :term does use your shell, just tried it and it called zsh without a hitch

  • @lbenda
    @lbenda 6 років тому +5

    \C-v - the v is like a arrow pointing down, that's why.