I’ve always been curious about Emacs, but haven’t been able to learn it.

This playlist looks promising, but ufff each video is like 1 hour and most of the video is just random chatting because it’s a live stream…

Does anyone know any better video series? Something structured and to the point?

  • Shareni@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    3 days ago

    Don’t start from scratch, you’ll give up long before you get a half decent config. Instead use a “distro” like Doom Emacs or Spacemacs.

    If you really want to, get a copy of Mastering Emacs. Afaik it’s the best resource around.

    • highduc@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      3 days ago

      A distro adds extra layers of complexity. If you want to change something you need to know not only how emacs vanilla works, but also specifically how to adapt for your distro.

      I found doom fast and pretty powerful out of the box but when I wanted to customize it a bit and saw the mostly unwritten documentation and how it makes everything much more complicated I gave up and returned to my own config.

      • Shareni@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        3 days ago

        IMO that’s not realistic for beginners.

        I don’t think a beginner that’s just starting to learn a tool is likely to make significant modifications any time soon. I’ve been using doom for like 10 years and so far I’ve only needed to make small changes.

        And when they try to change anything, they’ll search “how to set shortcut in doom Emacs” and immediately get the correct answer. If they search for “how to set shortcut in Emacs” they’ll get 50 different methods using 10 different package managers.

        And besides that. Learning how to make small modifications to Doom is incomparably easier than building a whole config from scratch. I quit Emacs the first time exactly because of that massive hurdle.

        • Jerkface (any/all)@lemmy.ca
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 days ago

          I’ve been using doom for like 10 years and so far I’ve only needed to make small changes.

          I used emacs for at least as long before I started REALLY using emacs. And you do that with elisp.

    • paequ2@lemmy.todayOP
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      4 days ago

      Ooooh, nice. I just watched the first several videos. Way more focused, great thanks!

  • kruetz@aussie.zone
    link
    fedilink
    English
    arrow-up
    3
    ·
    4 days ago

    @paequ2@lemmy.today “Emacs” will launch a new instance of Emacs, while “Emacs (Client)” will connect to an already running Emacs Server – unless Emacs takes a long time to start up you may not notice a difference.

    Doom and Spacemacs are predefined configurations for Emacs that include many additional packages and custom settings, all of which you could manually add to your own Emacs configuration if you had the time and patience. They both include a range of opinionated decisions about what packages to include and how Emacs should look and feel, which may or may not suit you. I don’t use either of them, but if you’re coming from Vim you might find them interesting because they provide a similar modal editing experience.

    • paequ2@lemmy.todayOP
      link
      fedilink
      arrow-up
      1
      ·
      4 days ago

      Oooooh, ok. Thanks for breaking that down.

      What about Emacs GUI vs Emacs TUI? Do people run Emacs as a terminal app? Or is the typical way of running Emacs as a GUI app? How’s the shell integration with the GUI app? Normally, I like staying in the terminal.

      • kruetz@aussie.zone
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 days ago

        I’ve only used the GUI interface, and I think it has some UI features that aren’t available in the TUI interface, but you should be able to use both with (mostly? entirely?) the same configuration.

        There are various ways to run terminal/shell sessions from within Emacs, and to run shell commands and capture their output. So while I almost exclusively use the command line, I do it all from within the Emacs GUI.

        If you happen to use git, you might consider trying magit, an Emacs interface for using git that many people find vastly preferable to using git directly.

        • paequ2@lemmy.todayOP
          link
          fedilink
          arrow-up
          2
          ·
          4 days ago

          So while I almost exclusively use the command line, I do it all from within the Emacs GUI.

          That’s good to hear. Normally, I have a bunch of file and terminal buffers open in Vim and work across all of them—and stay in Vim the whole time. (Well, unless I need something like a browser.)

          Sounds like this is definitely possible in Emacs. Good! I was scared for a moment because I thought I would have to… gasps alt-tab between Emacs and my terminal.

      • Alex@mastodon.org.uk
        link
        fedilink
        arrow-up
        2
        ·
        4 days ago

        @paequ2
        Why not both? I run Emacs with --daemon and have shortcuts to launch a new terminal frame in #tmux or a hot key to spawn a gui frame. I leave the daemon up all week and can rejoin a terminal session remotely if I need to or have slightly nicer fonts sat at my desk.
        @kruetz

      • aard@kyu.de
        link
        fedilink
        arrow-up
        1
        ·
        4 days ago

        I haven’t been TUI only for roughly two decades now - that’s around the time the server got properly usable.

        I typically have a daemon running - on Linux via systemd user session, on MacOS via launchd, on Windows via startup. I then attach GUI frames to that, and - at least on the unix style platforms - typically have a tmux with a TUI frame running.

        I have scripts to open files in emacs - that’s easy configurable to either open in the last used frame, or attach a TUI frame in the terminal, and open it there. I also have the EDITOR variable set to those scripts.

        When fully using emacs you’d probably end up doing more work in emacs, and only occasionally wanting to do shell call outs.

        For example, I edit some project, commit it via magit, trigger a build via compile to pack things up, open dired to move the files to a publish location, then open dired at the publish location and modify the publish package from there, and then finally start a shell in that directory to trigger the publish workflow. Only slight annoyance with that is that out of the box emacs shells are not setup for that kind of multiple shell buffers in specific directiories with easy throwaway - but it’s easy enough to make that work.