reddit / emacs
Getting started with emacs is really hard
tks_kindastrange · 2022-02-18 14:11
I'm a pycharm/visual studio user, but recently vim caught my eye. While figuring out of vim was what I wanted I kept seeing these "vim vs emacs" yt videos and articles, which got me to check out emacs, which at the time looked very similar to vim (to my "mouse focused gui"-using eyes).
After some digging i found distro tubes video on doom emacs which really sold me, but here's the issue: although it's relatively easy to find content telling you why to use emacs, there really doesn't seem to be any content telling you how to use emacs.
I really feel like I've walked into a car showroom, been shown this cool, futuristic car with no visible doors or windows. But as soon as I said "cool, how do I get into it, so I can test drive it?" The salesman just started starting blankly at me as if I'm the weirdo for not already knowing.
This post was mainly to express my woes, but I am very open to being directed to resources on how to get started, especially seeing it up for c# and python.
doulos05 · 2022-02-18 14:24
System crafters has a bunch of content on setting up emacs, as does distrotube.
I remember real python had a blog post on setting up emacs for Python, and honestly most of the stuff in that was fairly evergreen, so you could use that as well.
fragglestickcar0 · 2022-02-18 14:29
At least ten people, many of whom are still in high school, start
learning emacs without posting here with their life story. There's this
thing called Google, see...
TerminalObject · 2022-02-18 14:38
Something I'd recommend doing just as a start up is learning the basic tutorial, which is on the first page when you start it up. Learn the movements, opening and closing files, etc.
Then once you've mastered the basics, you can learn about buffers and how to download emacs packages and so on. Maybe one day you'll even write your own packages, but I wouldn't worry about that if all you want to do is just program some python/c#.
https://m.imgur.com/SKm6x?r
This is a helpful reference.
If you want to program, example workflows are something like this: you open a file, write or edit the code, then either (close the file and emacs then compile/run) or (compile/run inside emacs).
So start up emacs, Ctrl-x ctrl-f followed by typing the file name if it's in the same directory. Write the code, maybe move around using ctrl-n, ctrl-p, ctrl-f, ctrl-b. Then exit the file and emacs by Ctrl-x ctrl-f, and typing y to save. Then compile the code and run it using non-emacs tools.
That's at least a good starting point. Once you do that a few times and get used to it, you can start to notice what is slowing you down, and look for features that would speed you up. Maybe you don't want to exit emacs to compile your code, maybe you learn about the meta/alt key, and specifically how M-x compile lets you compile from the editing screen, and maybe you learn how to use the built in shell, etc.
It's at the end of the day based around you as a programmer needing to know what you want to do, then once you understand what you need, go here:
https://www.gnu.org/software/emacs/manual/html_node/emacs/index.html
AndreaSomePostfix · 2022-02-18 14:40
I wonder if it would be interesting to do a buddy mentoring kind of thing in this community?Shall we try?
\-- edit : that means to pair a somewhat more-experienced Emacs user with an entry level and see if this ease things
n-i-c-l-a-s · 2022-02-18 15:02
In Doom Emacs it helps that it opens an overview of hotkeys/keystrokes when you hit the "leader key" (Space by default). It is kind of self-documenting this way and you can find out about a lot of functionality by trying out .
EDIT: The "Space h" (for "help") is especially useful for learning your way around.
I actually discovered many emacs functions by hitting M-x and then just typing what I wanted to achieve. The names of the available functions and macros are often chosen very well, so that you can find the functions you need by just searching for them (it also helps that it shows the corresponding hotkeys, so that you dont have to call the function by name every time)
When you start to configure emacs to your taste M-x describe-variable and M-x describe-function also help a lot.
Other than that it often comes down to googling "how can I do XYZ in emacs" and then setting up a custom hotkey (or key sequence) for that functionality.
In Doom Emacs most functionality is also very similar to VIM, so you might learn a lot from VIM tutorials
redback-spider · 2022-02-18 15:03
1. learn some basic movement editing copying paste with the default keys, because you will happen to run into it when your config is bugged or something it's good to know it.
2. learn the help system C-h k(keys) C-h f(function) C-h v (variable) alternative replace C-h with F1.
3. learn how to edit the init file, the name and syntax (do some basic lisp (setq my-setting-activate nil / t / number / string)
4. google for things that you dislike for solutions to change it.
5. think about using alternative keybindings vim/ergoemacs/boon/xah-fly-keys...
6. useful starter adons cua-mode / ido / smex / menubar-mode / tool-bar-mode / scroll-bar-mode
BobKoss · 2022-02-18 15:17
You didn’t look very hard. There are tons upon tons of yt videos aimed at beginner emacs.
morte9000 · 2022-02-18 15:26
to learn emasc you have to be willing to read the documentation. M-x info is something that I value a lot.
alternateved · 2022-02-18 15:37
Amazing idea!
super-linux-nerd · 2022-02-18 15:39
I don't understand the obsession with YouTube videos, it's hard to follow along in your editor while watching.
Emacs comes with an interactive tutorial. It's also really good. And the best part is that it's linked on the splash page when you open emacs.
Enfors · 2022-02-18 15:44
> System crafters has a bunch of content on setting up emacs, as does distrotube.
Yeah, I love those videos. But I wouldn't tell someone new to *start* with them, that's a great way to scare people off. Instead, I would start with just launching Emacs, and starting its built-in tutorial and take it from there. That's what I did when I was new back in 1995 (get off my lawn, etc).
KuangPoulp · 2022-02-18 15:49
Mastering Emacs is no different than learning a language. Take your time, do it on the side, and slowly ease into it. Join some mailing lists and don't be afraid to ask. Read documentation and start following Sacha Chua's Emacs News, and other blogs.
oantolin · 2022-02-18 15:57
Both Vim and Emacs are extensively documented. I get the impression most modern software comes with poor documentation, so people are used to looking for external sources of information on how to use the software. With Vim and Emacs that's usually not necessary and often not even a good idea. Instead just use the built-in documentation. In both cases, Vim and Emacs, a good first step is to take the built-in tutorial, and familiarize yourself with the help system.
hybsuns · 2022-02-18 16:12
I started using Emacs a few years ago, then I took a long break from it, and went back to Emacs recently and now I am much more productive with it. Here are a few things that I found helpful when it comes to (re)learning Emacs:
\- Start with vanilla configuration (not Doom or Spacemacs) to get familiar with basic navigations and key bindings
\- Start with simple tasks (such as editing Git commit messages, or small files like README.md). The goal was to getting use to the UI, operations, and practice.
\- Explore additional packages and install them one at a time, such as syntax highlighter, major modes for markdown or Python, etc
\- Read a manual/book that can guide you. I had a copy of Eric Raymond's Learning GNU Emacs and it is still helpful.
\- Once you get used to writing in Emacs and basic configurations/customizations, explore more resources to organize your configuration. I recommend System Crafter's Emacs from Scratch series as a starting point.
\- Refine your configuration, add more packages (such as C# and Python LSP in your case), install more utilities (such as Magit, Ag, etc), explore and getting better at using them
For me, Emacs is likely going to be a life-long learning process. There are so many commands/key-bindings out there that I just don't know, and they can potentially boost my productivity in various situations. To me, the goal of learning/using Emacs is not just about getting better at using it, but also build my own setup in the process and make Emacs fit my needs as well.
[deleted] · 2022-02-18 16:12
I'm using Spacemacs along with Pycharm at work for Python currently. I use Spacemacs with \`lsp-mode\` using the pyright server and I haven't had anything to complain about. I just use Pycharm to debug stuff (though I plan to replace that with \`dap-mode\` maybe). I tried to do C# in Emacs before with Omnisharp; the experience was sorta okay I guess, but overall it worked, well for me doing Unity C# at least.
juanmatiasdelacamara · 2022-02-18 16:14
OK, I understand comments about YT videos.... but I think sometimes are good (more for a newcomer) ... it is a long trip once you are on... and always you r learning... most of those times reading posts or documentation... if you need YT videos:
Have you tried this list? https://www.youtube.com/watch?v=rCMh7srOqvw&list=PLhXZp00uXBk4np17N39WvB80zgxlZfVwj
[deleted] · 2022-02-18 16:26
'Learning GNU Emacs', 3rd Edition by O'Reilly.
It was how I learned it. Book is from 2004, but it holds up just fine.
It has an easy introduction; and works as a look-up book.
Never needed any other documentation.
BobKoss · 2022-02-18 16:30
Different people learn new things differently.
[deleted] · 2022-02-18 16:33
1. Navigate to Options, Customize Emacs, Custom Themes. Choose a nice dark one.
2. Download the [GNU Emacs Reference Card](https://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf)
3. Watch this [video](https://www.youtube.com/watch?v=nmBcCRu92NI) repeatedly until you understand it. Follow along with you're own emacs. You'll learn what a **buffer** is, the **window** you view it in and the **frame** your emacs instance exists in. This stuff is essential, it's easy but a must-know.
4. Follow up with this [video](https://www.youtube.com/watch?v=JdF1QZQqiTI) which reinforces and builds a little on what you learned and gets you finding, creating and saving files.
5. You now know the basics and importantly, you are in control of your buffers and windows. You can stop worrying now and relax into emacs. This is where the fun begins, creating your own emacs build to suit your needs. Welcome to the fold.
anexxus · 2022-02-18 16:33
Yeah, this is a great video series. Zaiste does a great job introducing and explaining how to use Doom Emacs. Here's a link to the playlist page, and what topics are currently available:
[DoomCasts: Emacs Doom Screencasts](https://www.youtube.com/playlist?list=PLhXZp00uXBk4np17N39WvB80zgxlZfVwj)
* Emacs Doom Episode 1 - Getting Started
* Emacs Doom E02 - Projects with Projectile, File Explorer with Treemacs & EShell
* Emacs Doom E03 - A short intro to Dired
* Emacs Doom E04 - Buffers, Windows and Basic Navigation
* Emacs Doom E05: Installing Packages with org-super-agenda as an example
* Emacs Doom E06: Quick, horizontal movements with evil-snipe
* Emacs Doom E07: Moving around the screen with Avy
* Emacs Doom E08: Multiple cursor in Emacs with evil-multiedit
* Emacs Doom E09: Org Mode, Basic Outlines
* Emacs Doom E10: Org Mode - Links, Hyperlinks and more
* Emacs Doom E11: Org Mode - Custom Link Types
* Emacs Doom E12: Org Mode - Linking to words & Bookmarks
* Emacs Doom E13: Org Mode, Code Snippets 101
* Emacs Doom E14: Org Mode, Getting Organized with Tasks
* Emacs Doom E15: Org Mode, Priorities for Tasks
* Emacs Doom E16: Org Mode, Marking Tasks with Tags
* Emacs Org Mode - Using Checkboxes - Emacs Doom 17
* Emacs Magit - Getting Started - Emacs Doom 18
* Emacs Magit - The Git Commit Flow in More Detail - Emacs Doom 19
* Emacs Magit with Forge for Issuing Pull Requests - Emacs Doomcasts 20
* Emacs Magit with Forge for merging Pull Requests · Emacs Doomcasts 21
* Deft Mode · Emacs Doomcasts 23
* Journaling with org-journal · Emacs Doomcasts 24
* Org Roam Setup · Emacs Doomcasts 25
* Aliases in Org Roam Emacs Doom · Emacs Doomcasts 26
* Getting Started with Emacs & Doom in 2021 (on Apple Silicon M1) · Emacs Doomcasts 27
* Custom keybindings in Doom Emacs · Emacs Doomcasts 28
Danrobi1 · 2022-02-18 16:47
Hi. `("C-h t")`. You're Welcome.
andreyorst · 2022-02-18 16:58
> But as soon as I said "cool, how do I get into it, so I can test drive it?"
I don't get it. What's the problem? I mean, surely they gave you the parts, engine, and a MANUAL, right? \s
Yeah, getting into Emacs is hard, but there a lot of helpful resources, some are even inside Emacs, namely the tutorial, and the manual. You should keep in mind, that emacs is meant to be heavily configured to suit your own needs, so exploration is the key. Emacs has *a lot* of stuff in it's default package, but most things are not enabled by default because there's no way to know everybody's preferences without enforcing some. So to use emacs effectively you need to learn how to find stuff you need. And in rare cases make your own :)
`Ctrl+h` followed by `i` will take you to the manual. `ctrl+h` followed by `t` will take you to the tutorial. Good luck!
Status-Detective-783 · 2022-02-18 17:19
How much time do you have to focus on emacs every day? Learning emacs is going to take TIME. A lot of it. Make learning emacs a side job. It's more like planting a food garden.. you're going to need to plant the seeds and water them and collect your harvest down the road. But once you got it down, you'll have whatever you want, forever.
Or if you don't want to do that, you can keep buying fast junk food at high prices.
flagos · 2022-02-18 17:21
We all have different ways to learn. Mine was to print this reference card which gives all the basic shortcuts you need to know to start.
Once you're comfortable with these shortcuts, you can start extending your .emacs file.
https://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf
super-linux-nerd · 2022-02-18 17:32
That's true. I'm a hands-on learner so I approached this with my biases in mind.
00-11 · 2022-02-18 17:34
> most modern software comes with poor documentation, so people are used to looking for external sources
I wonder if that's the main reason... But if the premise is true, yeah (sad), it makes sense.
oantolin · 2022-02-18 17:38
To be honest, I'm not really sure how true that claim is, and even if it is true, I'm not sure whether it is the main reason people search for external info.
I think a second possible reason is that some people just prefer video to text.
akirakom · 2022-02-18 17:38
You are right, and some people prefer texts over videos. For those who like to read, I would recommend [Mastering Emacs](https://www.masteringemacs.org/).
00-11 · 2022-02-18 17:40
The Emacs Wiki page for [Learning Emacs](https://www.emacswiki.org/emacs/LearningEmacs) has lots of helpful resources. They're all posted by Emacs users themselves.
[deleted] · 2022-02-18 17:42
[deleted]
rwilcox · 2022-02-18 17:43
My suggestions:
1. Use the UI version, and don’t try to go all CLI ninja the first day. The menu bar is great for discovering stuff, and because it’s context sensitive sometimes tells you how to get out of the odd mode you’re found yourself it
2. M-x is just amazing. You have a task but don’t know where it’s buried or what C-x 52 b z chord it is? M-x thing-you-are-looking-for and probably you’ll find it
3. Lean INTO the idea that Emacs separates files from where they’re displayed. (Files = buffers, Splits = windows). In other editors tabs intertwine these ideas and the more I use Emacs the more I’m not sure if that’s a good idea or not.
4. Yes, what they say is true: Emacs is a great OS and a bad text editor. If you are trying to do Vim style d 2 w style stuff, sorry. But you have a much better scripting language.
[deleted] · 2022-02-18 17:46
[deleted]
ftrx · 2022-02-18 17:55
IME it's just a matter of vocabulary: Emacs is an editor in the classic meaning of an editor, witch is (was) the human-computer interface, these days Emacs should probably be named "Desktop Environment". In modern IT slang "editor" is "something to just edit text".
If you look for a replacement of an IDE Emacs is overburden to learn IMO, learning Emacs is like learning GNU/Linux, since there aren't anymore the LispM it need a bootloader, witch happen to be an OS these days, but that's is: an Operating Environment, something like Kde or Gnome, but far more powerful and integrated, so if you know it something like a CDE on steroid + the CDE/unix ecosystem.
Emacs in that sense is very useful to learn, you can have your email in Emacs, with a GMail-like local search, so at a hyper fast speed, with all automation you like (filters to auto-perform or manually perform on keypress action on messages like automatically archive certain attachment, auto-compiling a note, adding an entry to org-agenda, ...), you have a powerful file manager, both local and connected/remote (via TRAMP), an integrated environment for reddit (for instance nnreddit Gnus backend) to see posts and comments together with feeds, HN posts/comments, mails, news (usenet) etc etc etc. Doing so is long to learn by back so much that's absolutely worth the investment: with Emacs you can unlock "the desktop power" all modern systems completely miss since they are far more focused in tie users to proprietary services avoiding giving real power to them.
Personally, coming from unix not-that-short experience, I started to be "productive" in Emacs in few months, few more month and it became my real desktop (EXWM), so it's not that hard, if you look at it "for what it be", it's definitively hard if you just want a drop-in replacement of an IDE without touching the rest of your work paradigm, desktop etc. Many still use Emacs just to develop, but honestly I suppose they simply choose it years ago before IDE and never really decide to jump the ship...
paretoOptimalDev · 2022-02-18 17:58
Focus on what you want to use it for and determine the minimal steps to test that out.
If you post that thing, we might be able to help figure those steps out.
nanoar · 2022-02-18 18:03
When I started with emacs, I read most of the manual and most of the elisp manual. Now I cannot pretend that I good with emacs but after quite a few years small amounts of it percolated through to the mind and I can do things quite competently at times (including the odd small elisp coding project).
Definitely understand the woes. That said, emacs becomes like a bit of a hobby. You do not find yourself ever feeling like you mastered it, you are constantly learning, and at the same time you start to find anything else infuriating to use even though your own setup is filled with quirks and FIXMEs. :D
reddit_clone · 2022-02-18 18:07
Unfortunately Emacs is not as easy to get started with like say VSCode.
You should remember emacs is not just an editor. Neither is it an IDE in the conventional sense. It is like a suite of applications that enable maximum productivity for a developer (eventually). (Helm, Projectile, OrgMode, Magit, Babel, Dired, company, lsp to name only a few).
Think of it as learning to ride a bike. It takes time to find your balance. May be scrape your knees a bit. But once learned your are _off_.
dirtycimments · 2022-02-18 18:25
I absolutely feel you man. I went with emacs because, mostly i wanted to get into org-mode (i am getting trying to get into the flow of zettelkasten). Also, i feel like a hacker using emacs, so i feel cool using it (even though i know not a single command of lisp or any deep knowledge of emacs, but there you go)
I agree 100%, but i might be the accidental audience of emacs, and not its core users who know how to program, know how to modify and script so that their email goes to this-or-that folder, which then is synced with this or that function, so that finally can read emails in emacs(no replying yet, thats later!). Its too much for me.
sunnyata · 2022-02-18 18:38
And you can't copy and paste from a video into emacs, or bookmark it or search it. Text wins every time. I know people have different learning styles but when people say they prefer learning from videos they're essentially saying they prefer learning in a less efficient way because it's all they know, like the way some people "prefer" MS Word over Emacs.
sadbasilisk · 2022-02-18 18:39
It's worth it though.
jokem59 · 2022-02-18 18:45
Your frustrations are well founded. In theory, all the documentation exists for you to learn emacs. As a matter of fact, all the documentation exists to learn pretty much anything in the world (looking at you Wikipedia). Learning to read and understand said documentation is a skill which takes time to hone.
I think most people learn best with some sort of human interaction. The spoken word helps facilitate a free flow of ideas and reveals certain misunderstandings in fundamental concepts. Ideally, you'd have someone you can talk to face to face. The next best alternative is to hop onto some discord/slack server to try and get closer to real-time help. This sub-reddit is a great resource too. Ask away!
nv-elisp · 2022-02-18 19:18
> I know people have different learning styles
This is a pernicious idea that was espoused in (at least) the US public school system. Based on little to no evidence. I knew it was horseshit in grade school, but academia is finally coming around on it, too:
https://www.apa.org/pubs/journals/releases/edu-edu0000366.pdf
sameertj · 2022-02-18 19:35
Have you tried doom emacs or spacemacs? If you are new to emacs I recommend trying one of these two.
[deleted] · 2022-02-18 19:40
[deleted]
crlsh · 2022-02-18 20:00
And you are just in the "First try mood" !! :)
But it's true, the "basic" introductions to emacs seem made for someone who already uses emacs, but it is a matter of reading, we have all been through that.
Mastering Emacs is a very good book.
fragglestickcar0 · 2022-02-18 20:15
The paper is an odd one to reference as it asserts that learning
styles are nonsense instead of proving that assertion (which apparently
the papers it cites in the opening paragraph do).
Nonetheless I get it. Generally, whenever someone says "I'm a visual
learner," I just assume he's disclaiming his stupidity. I myself have
made similar face-saving disclaimers: "Well, my brain doesn't work that
way", etc.
But it's hard, nay, impossible, to believe learning how to tie a
sheepshank is easier via text than video. And the kinesthetic feedback
of a repl when learning a programming language would also seem
undeniable. I'll always remember how valuable Maple was when trying to
wrap my head around Stokes's Theorem.
Basically, what I'm saying is, all of academic psychology is bunkum.
You will find as many papers arguing one way versus the other. It
remains true to this day that the only useful idea the psychometricians
originated is IQ.
trae · 2022-02-18 20:15
Here here.
Emacs is a text editor in the same way that photoshop is a photo retouching app. You don't expect to open photoshop and create digital art from day 0.
Or a metal lathe. At least photoshop and emacs won't rip your fingers off if you make a mistake.
Just a wrong mindset.
ThisKappaIsGrey · 2022-02-18 20:23
For me, I think that getting started with Emacs seems hard because of all the features you are being shown, and it may seem overwhelming. I think getting started with an Emacs Distribution, like Doom Emacs, makes the learning curve a bit easier, since you don't have to learn any significant Emacs Lisp, and can get started with adding the things you need by editing `init.el` . Before getting doom, I would recommend that you either learn the `Vim` bindings or the Emacs bindings (depending on which style you prefer), getting comfortable with them, and then try Doom out. That should help ease the learning curve a bit. Doom has a python module( configuration for python) that you can use. Just look at the modules page on github: https://github.com/hlissner/doom-emacs/tree/master/modules/lang/python . You can add modules by editing your `init.el` , and Distro Tube should have a tutorial for that if you need it.
If you really want to customize your Emacs, then yeah, I recommend going through System Crafters videos, or looking at the Emacs manual (if you run emacs without any configuration, there's a `tutorial` you can go through. Or do `M-x help` and press enter.) Anyways, if you have the right mental model of Emacs, everything is not too hard, since Emacs is self-documenting (Doom has keybindings like `SPC h b b` . or you can do `M-x describe-binding` that allows you to seach through bindings.) Everything keybind is bound to functions and you can invoke them directly with `M-x` . There's also the concept of "Modes" (Major and Minor) that changes the behavior of your editor based on which mode is activated and such. Just learn these concepts, and you'll have a much easier time with the editor, imho.
gotsreich · 2022-02-18 20:44
I had that issue with org-mode. Highly loved but it wasn't clear to me how to actually *use* it as anything but a replacement for Markdown.
So I started with the basics and learned more stuff over time.
I'm subscribed to this subreddit specifically to learn random new things about emacs and its packages.
FunctionalFox1312 · 2022-02-18 20:50
Hm, I disagree. Emacs has a lot of modern nicities that would make the jump from VSCode/Pycharm/etc smooth, but they're not discoverable thru the builtin tutorials. IE Ivy/Helm, Projectile, LSP, DAP, etc. System Crafters can be intimidating but I think his work is accessible enough & shows off what a practical emacs config looks like & how to get there
Available-Bug8339 · 2022-02-18 20:55
there are some good discord channels (system crafters / doom emacs / emacs) out there that (imo) is better than 1:1 as questions/problems are queryable.
Enfors · 2022-02-18 20:57
You make a valid point.
nv-elisp · 2022-02-18 21:09
> The paper is an odd one to reference as it asserts that learning styles are nonsense instead of proving that assertion (which apparently the papers it cites in the opening paragraph do).
It's an example. Not an academic exercise. It got the point across.
> Generally, whenever someone says "I'm a visual learner," I just assume he's disclaiming his stupidity.
I don't think that so much as I think it's an excuse people learn to, and are encouraged, to rely on. The difference is I'm sure that a fair number of people are convinced (or were convinced when they were children) that they're an "X" style learner by someone whose job it is to teach them.
> But it's hard, nay, impossible, to believe learning how to tie a sheepshank is easier via text than video. And the kinesthetic feedback of a repl when learning a programming language would also seem undeniable. I'll always remember how valuable Maple was when trying to wrap my head around Stokes's Theorem.
You've misunderstood my point. It's not that certain modes of learning aren't more or less suited to teaching certain activities that's incorrect. It's that people are *primarily* X style learners. That assertion is what was taught and there is no evidence to support it.
So sure, it may be easier to show someone how to tie a sheepshank, but that doesn't mean everyone who learns to tie a sheepshank is now primarily a "kinesthetic learner" any more than they're any other "type" of learner. I'm sure we can both think of exceptions, but the general rule is that people are able to learn in many different ways and their preferences are just preferences.
> Basically, what I'm saying is, all of academic psychology is bunkum. You will find as many papers arguing one way versus the other. It remains true to this day that the only useful idea the psychometricians originated is IQ.
Seems like you don't even agree with yourself in that paragraph, and it's straying far from the topic, so I'll leave it at that.
Thanks for the convo.
sunnyata · 2022-02-18 21:21
Lol. Top priority, turn on a dark theme. 2nd order of business, go and watch some videos.
How about typing `C-h t` like it says on the splash page?
[deleted] · 2022-02-18 22:03
...or how about you answer the OP directly by recommending that he type C-h t rather than pissing all over my suggestion.
​
There is nothing wrong with:
1. Quickly, make it look 10 times better before you start.
2. Download GNU's own Emacs Reference Card
3. Learn what buffers, windows and frames are with a decent video tutorial.
4. Learn how to open, close, edit and delete files.
5. Relax and enjoy the rest of what emacs has to offer.
[deleted] · 2022-02-18 22:05
[deleted]
arthurno1 · 2022-02-18 22:37
> Instead just use the built-in documentation.
But in order to use it, one needs to learn how to use it :-). So-called chicken egg problem of a kind. Not to mention that people need to learn it is there too.
Some guy tweeted that you can press C-h f and C-h v and get help from Emacs and got hundreds of thumbs up here in this reddit just some day ago. Obviously a lot of people does not know how built-in help works, seems like.
[deleted] · 2022-02-18 22:44
[deleted]
robo_socks · 2022-02-18 22:48
I feel the pain. I want to get better at using emacs, I feel like from all the videos I've watched and the blogs I've read that I could integrate it into a few of my workflows. So I open it once every six months, work through the tutorial, try to do something, have to google it, get frustrated, give up and do what I wanted to do with other software, rinse and repeat.
sunnyata · 2022-02-18 22:55
Other people had already suggested the obvious thing. Which is good, because Emacs is stuffed with its own documentation and learning how to access it is essential, much more valuable than watching some video. As for themes, some people like dark ones, some don't - whichever OP prefers it isn't going to have a material affect on their learning Emacs.
AndreaSomePostfix · 2022-02-18 23:34
that is fair. The trade-off seems to be that 1:1 is more personal: I experienced being mentored in the past and it is nice to have somebody that knows about your specific situation.
Tommerd · 2022-02-18 23:35
Not gonna be adding more suggestions as you've got plenty, but if you're like me and used to GUI editors and looking up documentation, I made https://emacsdocs.org to make reading the docs a little less painful.
Also I am gonna give suggestions anyway: if you are like me and you want to get up and running quickly and later figure out how everything really works (top down rather than bottom up learning) Id really suggest using Doom emacs. Has all the configurability of regular Emacs but at least come preset up in a sane way like VS Code. Replace
;; lsp
with
lsp
and
;; python
with
(python +lsp)
in init.el (which you can find by pressing space, then f, then p) to have intellisense and a decent environment for writing python. That way you can at least get started doing stuff rather than reading a dang book for an editor you're not even sure you want to use!
nrnrnr · 2022-02-18 23:36
I learned from the tutorial. With standard keybindings, that’s `Ctrl-H t`.
The book _Mastering Emacs_ is also really good.
Tommerd · 2022-02-18 23:39
I think that's a great idea! And would be good to couple that with a discord or something (why doesn't this community have a discord BTW?)
[deleted] · 2022-02-18 23:48
Your comments section makes interesting reading. You really like to argue with people, don't you? Being an academic makes you feel somehow superior to everyone else. That comes across really strongly. Well guess what Sunny, we're not in school now and there are many better ways to learn emacs than RTFM. And if the best you can do is turn your nose up at YouTube tutorials then I suggest you try a little harder. If you were one of my employees, you wouldn't last pissing time.
kromobrn · 2022-02-19 00:30
My background is very similar to yours, except I never used PyCharm but VSCode/Notebooks for Python. All I can say is that you'll have to decide if that's something that you really want to learn, and then invest the time in. As some people have said already the built-in tutorials are great.
Just don't expect to find a similar experience to what you have with the popular IDEs, where you get the hot features of the moment with a click of a button. The powers will come to you as you invest the time and learn the whole ecosystem and how to configure things the way you like.
I took the route of starting with one of these preconfigured distributions (Spacemacs in my case), and yet I it still took lots of weekends for me to start becoming comfortable developing primarily with it. I remember feeling stuck frequently in the beginning, lots of questions I had I couldn't find the answer to on google (but they were right there in a hidden Info page within Emacs).
To buy into your analogy, I would say that there are several "futuristic" cars in the room, but there are this one in the corner that's old, has manual transmition, and the doors open backwards, but the sales guy says he has seen some professional car drivers doing impressive things with it.
Awllower · 2022-02-19 01:23
Today I learned: Emacs is a text-editor.
Just kidding.
fragglestickcar0 · 2022-02-19 02:01
> If you were one of my employees, you wouldn't last pissing time.
Let me guess: you run a crack team of urinal cake replacers.
wombatz · 2022-02-19 02:43
IQ is nonsense
fragglestickcar0 · 2022-02-19 03:09
Given how low mine is, I'd love for that to be the case.
captainjawz · 2022-02-19 03:13
I use doom emacs, its one of the many preconfigured distributions of emacs, I find it super easy to use coming from vim, because well it uses the vim keybindings, but anything I wanna "try figuring out" I press alt + x on my keyboard and it opens like a menu of options, and i start typing to search for stuff, stuff like "replace string" "tab region" etc, overtime I've been learning the keybindings to use them and before I realized I was doing some major edits on my config files and stuff, it certainly is challenging, but that alt + x made the learning curve become super easy
[deleted] · 2022-02-19 03:25
[deleted]
deerpig · 2022-02-19 03:30
I started writing a reply but it became too long so I turned it into a blog post. Yes it's about emacs.
https://chenla.org/screed/posts/a-tale-of-three-toilets.html
[deleted] · 2022-02-19 03:39
There is a channel on yt named Uncle Dave. He has a playlist on GNU Emacs. He covers everything from starting to customize your Emacs your way. You will get your basics done from there. Then wander around these street's of Emacs where you can finally find inner peace.
hem1t · 2022-02-19 03:42
As a beginner myself, I would suggest you to use spacemacs instead of doom.
And also you should guess and search commands and then with that learn the keybinds.
If you know lisp then great, if you do not then just go for an introduction video to elisp.
And with above things you should be good to continue.
And yes I would also agree emacs is great but sucks.
plantarum · 2022-02-19 03:45
> But in order to use it, one needs to learn how to use it :-)
When you open Emacs the opening buffer features a list of links to the documentation:
- The tutorial
- the guided tour
- the manual
It's not like it's buried in details - this is the first thing listed on the page, and there's barely 100 words of text in total.
There's also a 'help' menu at the right side of the toolbar, as in most modern programs.
How could you make this any easier to discover?
jerril42 · 2022-02-19 04:40
SystemCrafters is currently doing a new series on starting Emacs. It is just beginning and has only one video in it. I found his [first series](https://www.youtube.com/watch?v=74zOY-vgkyw&list=PLEoMzSkcN8oPH1au7H6B7bBJ4ZO7BXjSZ) very helpful in getting more utility out of Emacs.
molduggery · 2022-02-19 04:42
You have to read more than you watch.
While the YouTube content can be useful for getting a "big picture" of something in Emacs, if you want to actually learn Emacs you need to read. Any time you wonder about how something works in Emacs, you need to seek out textual content. Whether that is Emacs built-in documentation, blog posts, code on github, questions and answers on Emacs stack exchange, posts and comments on reddit, or asking in IRC: You must always have a text-first mindset.
Read the Emacs Tutorial
`C-h t`
I'm particularly fond of these Emacs mini-manual posts for new Emacs users
https://tuhdo.github.io/emacs-tutor.html
https://tuhdo.github.io/emacs-tutor2.html
https://tuhdo.github.io/emacs-tutor3.html
Read various portions of the Emacs manual
https://www.gnu.org/software/emacs/manual/html_node/emacs/index.html
Read various portions of the Elisp manual
https://www.gnu.org/software/emacs/manual/html_node/elisp/index.html
However: usually you go to these manuals when you either
- have a specific question about either Emacs or Elisp
- want to discover Emacs or Elisp functionality
- generally want a better understanding of some overall topic.
Regardless, you won't read those manuals like a book from beginning to end. That's a mistake. Read the manuals when what you need is documentation, like when you have a question, and read portions relevant to your questions.
Discover what might be relevant by getting help from Emacs
`C-h m` will describe enabled modes in the current focused buffer.
`C-h f` to get the documentation of a function.
`C-h v` to get the documentation of a variable.
`C-h k` to describe a keybinding (that you're prompted to press).
`C-h P` to describe a package.
`C-h L` to find the location of a library or package, and to visit the location.
`C-h F` to find the documentation in an Info manual for a particular variable/function/command
`C-h ?` will display all these help oriented keybinds and some others that are sometimes useful
Test Elisp code with:
- `M-:`
- The default scratch buffer (\*scratch\*) in the elisp major mode as a testing buffer for elisp code.
EmacsWiki exists
https://www.emacswiki.org
You can search for Emacs Lisp code on Github
https://github.com/search?q=language%3A%22Emacs+Lisp%22+emacs.d+OR+init
There is an Emacs StackExchange
https://emacs.stackexchange.com
Blogs with Emacs content
https://emacsredux.com
https://irreal.org/blog/?tag=emacs
https://ag91.github.io/tags/moldable-emacs
https://endlessparentheses.com/tags-expanded.html#emacs
https://www.masteringemacs.org/all-articles
https://sachachua.com/blog/category/emacs/
https://protesilaos.com/codelog/
http://howardism.org/
https://oremacs.com/archive/
And personally: I think it's better to start with just Emacs. Not Doom Emacs or anything similar that has done all the configuring for you. You don't want a habit of trying to find help specific to Doom Emacs. You start with Emacs, and then install packages and set them up as you'd like.
[deleted] · 2022-02-19 05:36
I would recommend watch System Crafters video on YouTube
centzon400 · 2022-02-19 05:45
Something I've noticed about a lot of the youtube videos available (and many are top notch-- OTOH Zamansky, Uncle Dave, System Crafters, Prot) are sort of "form based". As in, "we're gonna look at x package today". "This is Ivy/Consult..."
Very very few are "function-based". I don't mean in the programmatic sense, but in the sense of completing a "common" task. "I'm gonna write a blog post," for example "...in markdown, check it into git[lab|hub|, make a change, check it out, publish it to a PDF file, etc."
With voice over/keycast/command log visible. I feel this could be a fairly good intro series of videos as it look horizontally across various packages rather than vertically within one. You will naturally cover editing... line selection, moving up and down, searching/replacing, buffer movement, all the stuff we take for granted
---
And a general note. Having read the seventy-five preceding comments, I am am impressed once again with the relative lack of gate-keeping. Someone said they wanted to get into Emacs because it made them feel like a hacker, and I guess it could be easy to sniff at that. But I think that's Brilliant. Why not! It's a good a reason as any, TBH.
Pat yourselves all on the back for being nice!!
chibuku_chauya · 2022-02-19 07:48
Yes, Emacs has a forbidding learning curve. Strap in for the long haul.
mestia · 2022-02-19 09:09
I guess it is really a step by step process with a steep learning curve requiring time and quite some dedication, i personally use emacs for org mode only, for coding vim suits me better.
Rotatop · 2022-02-19 09:49
I m sorry: it is really really hard to get into. Or maybe not hard but very very time consuming to know what you want, what exist, what you can implement how to implement it. And the it brokes because of an upgrade version of emacs or package.
parpinelli · 2022-02-19 09:52
That would be awesome. I switched over to Emacs last year, but kept going back to VSCode when I had to get something done faster. This year I decided to drop VSCode fully.
I use Doom Emacs, mostly as an IDE to code in python/ts, but am keen to learn how I can get the most out of it, especially with things like org mode.
Would be cool to speak with more experienced Emacs users :)
Alternative-Ant-4741 · 2022-02-19 11:53
Definitely recommend doom emacs. It helps you get started with minimal config. It's the best option if you're already used to vim key bindings. I tried spqcemacs before but it was super slow and crashed often
arthurno1 · 2022-02-19 13:09
While I completely agree with you, the fact is that lots of people have missed it. I am not sure myself what is the reason. Maybe there are several reasons. One being that people are looking and reading at online guides how to configure Emacs and looking at other peoples configurations where welcome buffer is often turned off. Another reason might be that Emacs is started from a command line with some file as argument. Some people just wish to do their work and dismiss the welcome buffer. Perhaps they have thoughts to come to it at another time, and forget about it. I remember myself some 20+ years ago when I was a student and was using Emacs, nothing worked as I expected, so after some time of using it in some very basic ways, I took the tutorial, I think a couple of times, until I got the basic movement and shortcuts.
Anyway, discoverability is a returning topic on the emacs-devel list at least in the last couple or so years as I have been watching it, so there is more left to work on it.
Temporary_Market_316 · 2022-02-21 11:50
System Crafters and it's community are starting to create a Rational vanilla Emacs settings that help beginners to get much more out of Emacs when they start. So yes, that is a good start. And System Crafters have great beginners videos. Yes, they are long, but quality takes time.
Under-Estimated · 2022-08-06 12:10
Most techy people prefer text to video though. I can read much faster than I can watch a youtube tutorial, even on 2x speed. Also ctrl+f in my browser is really useful.
oantolin · 2022-08-06 12:46
I'm with you on preferring text, but I'm also over 40 years old! I think the video-preference stats might be very different among young people.
Under-Estimated · 2022-08-06 12:55
I’m young. I get the feeling that older people prefer video but that might just be me