12 ms·
Absolute Beginner's Guide to Emacs (2012)
- navait 12y agoI think it might be worth adding C-x C-c to the list of shortcuts, since people would like to know how to get out of the application once launching it. C-g is labeled as quit, which might be confusing to a beginner.
- rickdale 12y agoWhen you describe the list of shortcuts for emacs, rather than C-c C-x I would prefer the full Control c or Control x. I programmed in high school in visual basic and c++ but only on windows machines. When I went to college I remember being an absolute beginner and trying to fly through the emacs tutorial and being like, what is capital C? So in other words, do you have a guide or an 'absolute beginners guide'?
- tyrust 12y agoThe author goes over this in the "Keyboard Shortcuts" section. This guide is about as "beginner" as you will find. "C" as an abbreviation for "Control" is pretty much found across all emacs documentation, so getting used to it is a good idea.
- yadakhov 12y agoMy pinky starts hurting when I hear emacs.
- narrator 12y agoRemap Caps Lock to control. You can even do this in MacOS.
- sjm 12y agoI've been using Emacs for years with a Happy Hacking Pro 2 keyboard (where what is normally caps-lock is control) and never had any kind of "Emacs pinky" issue. Remapping caps-lock to control is a must!
- technomancy 12y agoCaps as Ctrl is good, but a keyboard that puts Ctrl on the thumbs is far better, especially for Emacs.
- sjm 12y agoYou mean like the Atreus? ;) (I'm quite keen to try it some day! Love your work in the Emacs community by the way.)
- bryanlarsen 12y agoDon't use a finger to press control. Use the pad of your hand.
- yawaramin 12y agoDoesn't work on laptops with flat keys :-)
- zer0rest 12y agoplace the following in ~/.Xmodmap clear lock clear control add control = Caps_Lock Control_L Control_R
- 12y ago
- melling 12y agoEmacs is actually a lot better with tools like helm: http://tuhdo.github.io/helm-intro.html http://tuhdo.github.io/helm-intro.html Ace-jump is slick too: http://emacsrocks.com/e10.html http://emacsrocks.com/e10.html IDE's like IntelliJ let you type a lot less. Emacs has made some great progress in this direction in the past few years.
- gnuvince 12y agoThe best thing (IMO) about this guide is that it does not start with a gazillion lines of Elisp code to add to .emacs.d/init.el. I think people should be allowed to experience plain vanilla Emacs and decide for themselves what they want to change. If we just tell them "oh, you definitely want these modes enabled and these settings to these values", I feel they are somehow robbed of the best part of Emacs, namely figuring out what you want your own personal editing experience to be.
- apenguin 12y agoI definitely see your point about most guides detailing how to make your init (I don't understand why so many people just tell you to disable tabs, as though it's understood that everyone prefers spaces), but there are certain things that everyone will want. For instance, when given the choice between an older bytecode file and a newer source file, Emacs loads the older one by default. That sort of thing doesn't really seem like the sort of thing you want people to have to experience for themselves. (The setting in question I am referring to is load-prefer-newer)
- mikekchar 12y agoNice guide. I'm trying to get my wife to use Emacs and she has been struggling to make sense of the built in tutorial (as a point of reference, she had practically never used any computing device other than a cell phone before a few years ago). I'll send it to her and see what she thinks. You may ask, "Why the heck are you getting her to use emacs???". I started doing consulting this year and initially for tax reasons decided to have my wife run the company (while I did the programming). It has worked out spectacularly in that my wife loves the job and I can concentrate only on working with the clients. We have to do double entry accounting, though. We're using ledger-cli which has great Emacs org-mode support, so I'm hoping to get her going on that.
- yawaramin 12y agoWow, ledger is pretty hard-core. I haven't used ledger-cli though so I probably shouldn't comment on that. Out of curiosity, have you tried using GnuCash?
- mikekchar 12y agoYeah, I started with GnuCash. Unfortunately (or maybe fortunately as it turned out), I desperately needed good support for currency trading accounts: http://www.mathstat.dal.ca/~selinger/accounting/gnucash.html http://www.mathstat.dal.ca/~selinger/accounting/gnucash.html (I am a Canadian, living in Japan, consulting for a UK company :-P My company has to calculate capital gains on transactions in 3 different currencies...). At the time I was using it, GnuCash had some annoying UI bugs with the optional currency trading accounts feature. A friend suggested that I try out ledger. Now that I'm using ledger I would never, ever go back to GnuCash. It's not that GnuCash is bad -- it isn't. But when I started doing actual accounting (especially with foreign currencies), I could never get anything to balance in ledger. After working at it I finally understood why -- I was doing it all wrong! Being a complete neophyte I had no idea what the difference was between LIFO, FIFO and average cost or how I could represent it in my accounting. GnuCash would say "You made this much capital gains" and I just accepted it. With ledger I would look at the reports and go, "Hey... what the heck... why isn't that number zero???". There are some other big, big wins with ledger. The first is that you are working with a text file. As a programmer, this is massive. Why do I need a stupid GUI? A nice descriptive DSL is waaaaay more convenient. Ledger itself is just a reporting tool that takes the data that you enter into the file and answers questions that you give it (which forces you to think of appropriate questions, which in turn showed me what I didn't understand...) I actually use vim (there is a vim mode as well), but emacs org mode is unbelievably fantastic (I'm a converted emacs user) and probably worth learning emacs for. The mixture of ledger and org mode is probably the best possible interface for an accounting program. The other really big win is that you can put your accounting in source control. I can not express to you the amount of ass-saving this has brought me. Every time I make a change into the ledger I commit the change to git. Real accountants (which I hire to take my amateur stuff and do real accounting with) aren't supposed to change things in their ledger. It's kind of a law or something ;-) They can only add things (including notations). I do the same thing with ledger and git. I can find out what the ledger said at any given date. And I have incredibly readable diffs. This last point is so incredibly important that I could not ever possibly think of using GnuCash again. This is not to say that ledger isn't without its faults. There are also some competing programs that were inspired by ledger which are worth checking out (bean-counter is one and there is a haskel implementation whose name I forget -- hledger???). There are also some things you can not do in ledger. There is no integrated payroll calculator, or invoice tracker, or anything like that. However, since the DSL is pretty easy to generate, it's quite easy to write scripts to do pretty much everything you might want to do. For my company (me and my wife), it is perfect. I don't think I would want to power a large corporation on it. I believe the Software Freedom Conservency still does their accounting on ledger, though. Hope that helps :-)
- bkcooper 12y agoSomething I think would be useful is a beginner's guide to what you should want your text editor to be capable of. I feel like if you already know what you want to achieve, the main barrier to getting there in Emacs is just getting familiarity with the nomenclature and what packages exist. A good example from this article would be M-q for auto-fill. I was super excited when I discovered that command after spending some time redoing line breaks manually before thinking "I'm sure somebody has solved this problem in Emacs before." I'm sure there are tons of useful text editing hacks that would be really useful that just haven't even occurred to me yet.
- kev6168 12y agoThis might gets downvoted into oblivion, but my thinking on editor choice is that I either use the lower level pure text editor such as Vim, Sublime Text, Nodepad++ for their speed, or if needed I go all the way with the big ones, like Eclipse/IntelliJ IDEA/Netbeans, for all their bells and whistles. Should I spend time and effort on the middle ones? I admit my feeling comes from standing on the outside lurking. Emacs masters of course know that this 'middle one' feeling is non-sense. But from the perspective of a newbie who sets out to master an editor/IDE, considering the ratio of effort spent on learning/customization/configuration vs. productivity gain (in a certain time span, let's say 20 years), I am trying to decide to take the plunge and learn emacs seriously, in the midst of big IDEs, Atom/Bracket, Neovim (let's hope it delivers). Now please tell me I am so wrong.
- douche 12y agoWhen I have used Unixy systems, I've always used the emacs-nox packages, which is pure command line. Vi/Vim breaks my brain worse than Emacs. So Emacs is really my low-level text editor; I usually use it for notepad++ type stuff. It's not a terrible investment of effort to learn Emacs for these kinds of limited uses. I don't know anything about the more advanced modes, or the more non-standard/essential key combinations, but I get by for what I ask of it.
- hammerandtongs 12y agoEmacs is a repl for the programming language elisp. It has a lot of elisp functions (1.6m lines iirc) that are very useful for shaping text including, but not limited to, almost everything that people think is so unique to IDE. Elisp and the editor pieces within Emacs are focused on providing you the tools to manipulate text of all types and from many different sources and outputs, not just a few programming languages. People write academic papers, books, organize their lives and yes program with emacs. Yes it's much much more then an ide. Whatever you do, master something and become truly fluent with it. It's worth your time and will pay you back many times over.
- andolanra 12y agoI'd argue that your "spectrum" misses where emacs really shines: nobody really bothers to reconfigure Eclipse or Netbeans as their mail client or web browser, whereas this is not entirely unusual with emacs. This is because emacs has both a simpler set of underlying elements and a richer extension language when compared with something like Eclipse. This makes it IDE-like, but much more expressive and elaborate: there are things you can do with emacs that you could only dream of doing in things like Eclipse. Furthermore, writing extensions for emacs is much more pleasant than writing extensions for Eclipse, and is done much more widely. And, emacs has been around long enough that you have literally decades worth of extensions already available to you. Additionally, emacs is used widely enough that people are quick to add emacs support for new things: if I pick up a new esoteric language tomorrow, I can be 99% sure that there's no Eclipse support for it, but I can be 100% sure that there's already an emacs mode for it and it's probably on the emacs package manager already, to boot. All this is both a plus and a minus, in some ways: learning emacs is probably not worth it unless you're willing to put the time and effort into building up your emacs configuration into something IDE-like, but if that's what you want to do, then emacs can do truly amazing things. So yes, what you said rings more or less true for vanilla emacs, but you're radically underselling emacs as a platform for building better things.
- kang 12y agoFor beginners, this video serious by Jekor is highly recommended : https://www.youtube.com/playlist?list=PLxj9UAX4Em-IiOfvF2Qs742LxEK4owSkr https://www.youtube.com/playlist?list=PLxj9UAX4Em-IiOfvF2Qs7...
- echoless 12y agoEmacs with Evil mode is the best editor ever. For pure text editing capability Vim can't be beat, but it lacks some niceties like ability to run shells, an integrated package installer etc. With Emacs and Evil, you can get the best of both worlds.
- cranium 12y agoAnd Spacemacs (https://github.com/syl20bnr/spacemacs https://github.com/syl20bnr/spacemacs) is a good way to have a nice Evil integration. The only downside I found is when you have to install your first new packages, Spacemacs forces you to integrate it in a configuration-layer because it deletes all orphan packages. Now I think it's a good way to organise your packages, but it's definitively puzzling when you try to figure out why your newly-installed packages got deleted for the 5th time.
- echoless 12y agoThanks for the link. I already have a pretty decent setup, but I'm always looking to improve it. Trying it out now.