6 ms·
I am not a programmer but have been learning programming since last 2 years. Only yesterday, I installed emacs and spent half an hour on it. Even opened a tuto
by mayankkaizen 8y ago
I am not a programmer but have been learning programming since last 2 years.
Only yesterday, I installed emacs and spent half an hour on it. Even opened a tutorial to learn the basics.
But I got irritated pretty soon and gave it up. Now I am thinking about people who use it like a pro. How the hell did they master this beast?
- jlouis 8y agoSteeep learning curve. Baby steps and don't give up. Make judgement after a month or two. Key point is you can program it to do what you prefer.
- reitanqild 8y agoAlso: not for everyone. I keep hearing people mentioning vim and emacs but I have a strong suspicion that if people spent the same time that they now spend learning and customizing vim and emacs learning a more modern IDE or advanced editor they'd be even more effective (except when they need to edit over ssh). Personally I use Visual Studio Code all day now. But I've also been happy with Netbeans, IntelliJ, eclipse and Sublime. I rarely have to use a mouse or touchpad, it's all alt-tab, wait-a-second, alt-tab, edit, ctrl-s, ctrl-p type parts of a filename, ctrl-arrowkeys, F2 enter new name for a variable or field etc etc. I've done one honest attempts at learning emacs (and I kind of enjoyed it) + lots of involuntary training on vim (yes, I prefer it to nano).
- TeMPOraL 8y ago> if people spent the same time that they now spend learning and customizing vim and emacs learning a more modern IDE or advanced editor they'd be even more effective (except when they need to edit over ssh) Or except if they need to blog. Or manage repositories. Or manage tasks. Or read e-mail. Or... The thing with Emacs is that it offers you an universal, consistent interface for everything text. That includes code, but also prose, notes, tasks, repositories, file systems, etc. The interface itself is also hugely extensible (with lots of packages readily available through built-in package manager), and all that extensibility works for everything. IMO, spending more time in a typical IDE will make you a more effective programmer. But it doesn't extend beyond programming. When you do something else, you have to switch tools. In this way, spending time on Emacs has a better payoff, because the scope is both deeper and broader.
- mr_overalls 8y ago> The thing with Emacs is that it offers you an universal, consistent interface for everything text. This. As my programming career extended past its first decade, I began (like many people) to feel the fatigue of constantly adapting to new editors, email readers, file managers, etc. The long-term _consistency_ of Emacs gives me an anchoring point and frees me to pay attention to deeper patterns - data structures, architectures, concepts - things that matter more than the tooling du jour.
- bmn__ 8y ago> not for everyone I feel that acutely. Emacs is shit because despite its age, it does not even meet some sane minimum requirements for text editors. No localisation. No tabs. Window cannot be maximised prior to setting some obscure option. Menu items and buttons do not have underlined letters (i.e. accelerators). The vast majority of the options cannot be accessed through the menu or dialogues, instead you get a non-editable document with embedded buttons. Configuration is stored as code. Keys cannot be rebound from the menu. The list could go on and on. I am thoroughly disappointed with the software, I wouldn't recommend to anyone expending patience on it.
- henry_flower 8y ago> Emacs is shit pls don't say that :( there's exactly 0 ppl in the world who get paid for writing emacs. nobody is selling the editor as snake oil liniment that ought to remove all the grievances. > No localisation what do you mean? I can read/type in emacs in all 3 human lang I know/use daily. > No tabs true although `M-x speedbar` can display the list of all open buffers in a vertical fashion > Window cannot be maximised prior to setting some obscure option I usually just press F11 > Menu items and buttons do not have underlined letters (i.e. accelerators) true > The vast majority of the options cannot be accessed through the menu true > or dialogues, instead you get a non-editable document with embedded buttons why do you care if it's not a 'native' dlg? the mouse works. C-s works. > Configuration is stored as code hehehe that's the whole point, m8! > Keys cannot be rebound from the menu. true > The list could go on and on I was hoping you'd mention the idiocy (I cannot find a more proper word) w/ buffers that have long lines. every time I open some 2MB xml file that was generated as 1 string, emacs suddenly becomes dog slow. this is what should be criticized, not the inability to rebound keys from the menu, imo.
- bmn__ 8y agoAre you involved with emacs development or just a user? > there's exactly 0 ppl in the world who get paid for writing emacs I, too, am a free software author in my spare time and not paid for it. Not being paid for a labour of love does not make one exempt from criticism. >> No localisation > what do you mean? The software's user interface and on-line documentation should be implemented in my language, but it's available only in English. > M-x speedbar That displays a hierarchical file browser in a separate window, not a list of documents. >> Configuration is stored as code > that's the whole point Occasionally the sheer power is useful because a programming language gives you the power to do things that are not possible or very hard otherwise. But for the vast majority of cases, most of the time, configuration should be stored in the moral equivalent of an INI file. That way I can process it externally. As it is now, I need to code a parser for elisp and replicate a decent chunk of the emacs runtime environment. That's just too difficult and time-consuming for anyone. Very much related: http://www.cs.dartmouth.edu/~sergey/langsec/occupy/ http://www.cs.dartmouth.edu/~sergey/langsec/occupy/ Turing-completeness should be the exception, not the norm, and only used when actually needed, not for trivial cases. > long lines […] emacs suddenly becomes dog slow Many editors have that same problem, so that one doesn't bother me much.
- bch 8y ago1) realize you may never “master this beast” 2) commit to it for a few weeks and become proficient 3) keep learning
- maw 8y ago1) realize you may never “master this beast” Damn, I've been using it for a bit over 21 years and was hoping that I'd almost gotten a handle on it! Oh well, might as well resign myself to it.
- jordigh 8y agoWe spent a whole hour. Okay, more seriously, it took me about a month to stop hating Emacs in 2002. I only started because I thought I had no choice. I was a math undergrad, I wanted to write math, and they plopped me in front of Emacs and LaTeX running on Debian. Alright then, I'm here to learn new mathematics, so I'm also going to learn new ways to type mathematics. This is just how we do things in university, I thought. Fifteen years laters, I haven't stopped using and learning about Emacs. I can't do any serious writing without it. So, my advice is, if you don't want to keep learning Emacs forever, just stay with whatever you like right now. As a general rule, the Emacs faith does not proselytise. Some of us tolerate Emacs, but you'll have to try it yourself to see if you do.
- Koshkin 8y ago> I can't do any serious writing without it. Well that's too bad, as people have done some serious writing using simper tools - a pen, a typewriter... Isn't Notepad (on Windows) a sufficiently good tool to type, say, a novel in? Less distracting it is, for sure. (Well, I heard some people say that Notepad requires an OS to run, whereas Emacs is an OS in its own right, but really?)
- jordigh 8y agoCorrecting mistakes on a pen is labourious, same with a typewriter. I find Notepad severely limiting too when it comes editing text (how do I set a mark? how do I kill the current line? or what about just the current word? how do I access the kill ring?) not to mention that all of the keybindings are wrong. I can use something other than Emacs if I have to, but it all feels like I'm tying both arms behind my back and writing with a pen held in my teeth.
- nanna 8y agoI'm not a programmer but I have dabbled in code for a while. Emacs honestly made me love using my computer again. Give yourself a full day for the tutorial and then try to stick to it even though for a while you will be slower and clumsier at everything. This will pay off massively.[0] Make it part of your routine. Apart from coding in it, use it for email (mu4e/offlineimap), for git (magit), as a local and remote file manager, for writing notes and running a diary (org mode), for submitting papers (LaTeX/Auctex), for your terminal... Speaking for myself, it actually improves my quality of life, and I feel like I've only scratched the surface. [0] https://stackoverflow.com/questions/10942008/what-does-emacs-learning-curve-actually-look-like https://stackoverflow.com/questions/10942008/what-does-emacs...
- TeMPOraL 8y agoI'd skip e-mail at the beginning, because it can be a real pain to set up (not necessarily on Emacs end - but the whole offlineimap thing, credentials, etc.). But I very much recommend magit - if you're using git, it'll blow your mind. https://magit.vc/ https://magit.vc/
- TeMPOraL 8y agoSpend another half an hour, only effectively. Open the tutorial, do it. Sure, the keybindings are weird[0], but try to approach them without preconceptions or prejudice. Imagine you're learning professional software for a task you've never done before. Say, 3D modeling or audio work. There, you would just accept the conventions without second-guessing them. Work on the tutorial, then spend about half an hour to a hour writing some text and code, so that you get used to interactions. Save a couple of files. Open a couple of files. You should be now comfortable enough to do basic work in Emacs. From there, it's practice, reading and exploration. The cool thing about Emacs is that it's self-documenting. CTRL+h is your friend (in Emacs-speak, C-h). You remember a key combination but are not sure what it does? C-h k key-combination. Remember a function but not where is it bound? C-h w command, or C-h f command - the latter will give you a full documentation of it (and works for other elisp functions as well). Sorta-remember the command? C-h a whatyouremember - will run a regexp search on a list of all commands. Don't remember neither the key nor the command? M-x apropos whatyouremember - this will run a regex search on everything. Also, the full documentation for Emacs should be available under C-h i. Or, if you are serious about Emacs and have some money to spare, I can recommend this book: https://www.masteringemacs.org/ https://www.masteringemacs.org/. It will get you up to speed in no time. Beyond that, Google around. Look for Emacs guides, interesting packages, and interesting Emacs configs (search terms: .emacs, emacs dotfile). They'll introduce you to various productivity and life quality features for which Emacs is so loved. -- [0] - they're weird because they predate the modern fashion. What you're used to came later, from IBM, and was popularized Microsoft.
- rdtsc 8y agoI was wondering that too. However it ended up having the best highlighting and indenting packages for the languages I was using. It was available on most platforms and most of all worked in an SSH session. I wouldn't try to learn everything at once would just learn: 1) How to quit 2) How to save a file 3) Basic navigation: up, down, left, right, end of line, beginning of line 4) How to cut a line, and how to paste a line Some of those you might already know from using bash or even basic text editing on macOS.
- dkns 8y agoI tried giving Emacs a shot again recently because I now use windows at work and it's easier to get Emacs working on windows with all the features rather than trying to get vim/neovim with myriad of different outside plugins. But I won't be switching simply because indentation in html/css/js files is off and apparently Emacs is bad at handling stuff like jsx and web stuff in general. Shame.
- dsevil 8y agoInstall the web-mode package. It handles a lot of modern web stuff pretty well.
- pmoriarty 8y ago"How the hell did they master this beast?" I came to Emacs from decades of using vim. I installed evil-mode, and then spent about 10 hours a day for about 3 months learning more, installing packages, and tweaking my config until it matched and exceeded what I had in vim. This is a never-ending process.. and now, about 5 years later, I'm still learning and still tweaking (though my config has been mostly stable for a long time). I wouldn't necessarily recommend Emacs to someone who's not willing to put in the time and effort to make it in to the editor they need... though they don't necessarily have to spend as much time or effort on it as I have. Everybody has different needs. Fortunately we live in an age of plentiful, easy to get information, so if you are interested then learning more is just a few clicks away. I'd recommend joining #emacs on the FreeNode IRC network, r/emacs on Reddit, and the Emacs StackExchange. The people there can give you lots of pointers and detailed help when you need it.
- dmortin 8y agoEmacs and other editors are like cars. Some like small cars, some others like fast cars or foreign cars, etc. Use what you like the best. I use Emacs for some tasks, but for example, for Android development I use Android Studio, because that is more suitable for the task. (BTW, default Emacs is very foreign. I wouldn't use that. It takes a while until one configures Emacs to one's own taste.)
- Immortalin 8y agoTry Spacemacs, it's like the iPhone of Emacs/Vim.
- krylon 8y ago> How the hell did they master this beast? Patience, mostly. Emacs takes a very big up-front investment, but it pays off in the long run. > I got irritated pretty soon and gave it up Yeah, that was my first experience, too. ;-) Don't rush yourself. Come back every couple of months and give it another try. Work your way through the tutorial, and if you feel like it's just too hard, don't listen to yourself. You will be amazed at what you can achieve on determination and persistence. Also, there are IRC channels and discussion boards waiting for your questions. Do not be afraid to ask "stupid" questions. More likely than not, people will be happy to help you. Last but not least, emacs comes with pretty good documentation. Learning how to to use emacs' online documentation, both the texinfo manual and the online help, can get you surprisingly far.
- rekado 8y agoIt's not you. The defaults are pretty hostile, in my opinion. It took me three attempts over many years to fall in love with Emacs. I'm now using Emacs for everything: shell, git, email, file browser, window manager, IRC, slack, as a pdf reader, ... oh, and to edit text files. My advice is to keep using it. When you notice that something is really weird, run `M-x package-list-packages` to see if someone has already written a package to change the weird behaviour. Ask questions on emacs.stackexchange.com, but also ask Emacs; use C-h to learn about why things are the way they are. If you don't understand why people love Emacs, consider reading this: https://elephly.net/posts/2016-02-14-ilovefs-emacs.html Give it a try some time again. Or not.
- jordigh 8y ago> The defaults are pretty hostile, in my opinion. They're mostly old. So I guess they might be hostile to the young. I actually dislike some of the newer things like transient-mark-mode. I don't want all of that highlighting just because I have a selection region, and was quick to disable it when they enabled it to make it more "modern": http://inversethought.com/hg/dotemacs/file/f029c55c6221/dotemacs.el#l77 http://inversethought.com/hg/dotemacs/file/f029c55c6221/dote...
- h1d 8y agoBeing young isn't the reason for feeling it hostile. Old ones just got used to it when it was the best they had back then. I've been using vim for 15 years or something but its default is insanely hostile that the default hotkeys aren't even funny. You'd even feel wet that you can save a file with just 2 keys under Windows in Notepad compared to 4 keys that's not exactly intuitive until your muscle remembers it or modify it to something sane. (I use a single 'space' under command mode to save.)
- marmaduke 8y agoLots of practice. It’s ok to use an editor like Sublime, too.
- __david__ 8y agoThe way I learned Emacs was by immersing myself in it. I just decided that I would only use Emacs for the next 2 weeks at work, and if it slowed my productivity to a crawl, so be it (it was clearly during a time when there weren't any deadlines). I also was sitting next to someone who had been using it for a few years so I could just yell out "how do I open a file again??" and he'd yell back "control-x, control-f!" A couple years later our vi friend expressed interest and did the same thing. His monitor was littered with little post-it notes until the muscle memory kicked in. You might be thinking, is it really worth my time to learn something esoteric like Emacs, but there are many nice perks once it's been learned. It turns out the default keybindings in readline (and every program that uses readline) are Emacs keys, so it's a exciting feeling realizing you just hit C-t in some random program and it transposed the characters like you wanted. macOS also has many Emacs keybindings in the default text field (where they don't conflict with standard mac keys).
- Koshkin 8y ago> irritated pretty soon and gave it up I have spent a lot of time using it, still irritated.
- tototomtoboro 8y agoI also am trying to use Emacs since everyone says that is so good. Recently i found spacemacs.org . It makes things much easier
- lawn 8y ago> How the hell did they master this beast? Didn't give up.
- Grue3 8y agoMy previous editor was notepad.exe. I just started using Emacs like a glorified Notepad and gradually figured out various features. The interactive help system is fantastic. C-h is your friend.
- andreareina 8y agoPatience and curiosity. I started using emacs because practically speaking it was the only game in town for writing common lisp. Spending so much time in it I began to learn how to get around. A good autocomplete engine and the fact that everything is namespaced means that a lot of functionality is easily discoverable. For example `M-x org- TAB TAB` shows me most of the interesting things I can do in org-mode, and if that's missing `C-h f org- TAB TAB` gives me every function that's defined in the org namespace. The documentation in the help viewer is generally complete, and jump-to-definition means that I can trivially see how something's being done. Once the basics have been learned I think there's also an implicit assumption that the user hacks on emacs (or at least their init.el) to make the things they do easier. In a sense emacs is a make-your-own-IDE-toolkit -- pretty much everything about how it works can be changed if you like.
- jefurii 8y agoA half-hour is not quite enough. :) I did the tutorial a couple times and found a reference card somewhere which I kept next to my computer for awhile. At first I used "Options > Use CUA Keys" so I could use existing muscle memory for basic things like copy/cut/paste. Then I just started using it for work and whenever I needed a text editor. I did this during a slow period at work so I wouldn't stress myself out. These days I'd probably start with one of the Emacs starter kits so there are nice and pretty defaults out of the box.