TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Why Emacs?

169 点作者 bozhidar超过 13 年前

19 条评论

aufreak3超过 13 年前
&#62; A very trivial example is the fact that most IDEs don’t even have keybindings optimized for touch typing - they require you to move your hands often from the home row (such a waste) and have mouse-centric UIs.<p>what? ... and Emacs has optimized key bindings for touch typing? C-x C-c!<p>Personal notes here - I know emacs-vs-vim is war, but I'm interested in the cognitive aspects of why one works for some people and why another works for others.<p>My own preference - vim - is driven by memorability of commands. Though I used to use emacs for a long time, remembering commands was a problem for me.<p>When I tried vim, I found many of the commands I need frequently to be memorable because they are <i>compositional</i>.<p>Here is what I mean - if I learn the concepts "delete = d", "change = c", "copy(yank) = y", "in = i" and "around = a", I can construct "delete around (" = "da(", "yank block" = "yank around {" = "ya{", "change array contents" = "change inside [" = "ci[" and so on.<p>So do long time emacs users just remember the keystrokes or have some kind of logic like that for them?<p>edit: I <i>know</i> emacs is much more than that, but my usability question is purely about the keyboard interface.
评论 #3257285 未加载
评论 #3259343 未加载
评论 #3257088 未加载
评论 #3260378 未加载
评论 #3258892 未加载
SingAlong超过 13 年前
Did anyone else try "M-x butterfly" after reading the comic strip in the blog post? I just tried it out of curiosity and it seems like an easter egg :D<p>1.) M-x butterfly<p>2.) The mini-buffer asks "Do you really want to unleash the powers of the butterfly". I entered "yes".<p>3.) A new buffer opens up and then there's this text-based animation with the text "Amazing physics going on..."<p>4.) The mini-buffer says "Successfully flipped one bit!"
评论 #3257548 未加载
评论 #3257483 未加载
nosignal超过 13 年前
I've recently (~3 months) started using emacs "full-time" for org-mode, text notetaking, Python, and Octave.<p>Here is a (small) list of things I'm sure emacs can do:<p>- Integrate with git;<p>- Run my Python and/or Octave code inside emacs;<p>- Perform autocomplete on my Python/Octave code;<p>- Become my blog publishing platform using a combination of the above features;<p>- Replace my email, twitter &#38; RSS clients;<p>- Read and post to HN from within emacs<p>Here is a list of how many of those things I, personally, can actually do using emacs:<p>-None of them<p>I love it for a text editor, I love the keybindings and commands, I love the theory of how extensible it is. But by god it's a nightmare to set up and configure. For all the "guides to emacs" there are out there, it would still take me about 2 or 3 days to get it running like the well-oiled machine I'd like it to be.<p>I'm sticking with it, but when I'm learning Octave, to learn about Machine Learning, to get better at programming — having to stop to learn how to use my text editor is just one step too far.<p>One day work will settle down and I'll have more time to stuff about getting emacs to do exactly what I want; but for now I feel like I'm using IBM's Watson to help me beat Words With Friends.
评论 #3257659 未加载
评论 #3257378 未加载
mixmax超过 13 年前
The power of emacs is also it's biggest flaw - it's a tremendously powerful piece of software but it's hard to master.<p>I think it's a matter of discoverability.<p>A simple program such as Microsoft paint delivers a nice inital experience - my mom will be drawing moustaches on her pictures in no time. The reason for this is that it has great discoverability: Click on the little pencil and start drawing. Nothing to know, nothing to remember, just start using the program. This, of course is also it's biggest drawback - as the complexity and possibilities of a program increase it becomes increasingly difficult to create a simple GUI.<p>If you move up to something like photoshop you start to reach the limit of what a graphical user interface can deliver. It's hard for a beginner to just sit down and start. There are masks, layers, palettes, and all sorts of other things to master before you can really use the program the way it's meant to. There's still discoverability - you can actually learn photoshop without a manual, just by clicking around. But it comes at a cost: A lot of options are hidden behind two, three or sometimes four mouseclicks. So you have a program that's hard for a beginner, but not streamlined enough for an expert.<p>Emacs is at the other end of the scale. It has basically ditched the crutches that are the graphical user interface, which makes it a great program for experienced users that know exactly what they want to do and how to do it. But it has no discoverability. If you don't know how to perform an action emacs won't give you any clues(1), and it won't tell you what it can or can't do. An often heard remark in regards to emacs is <i>"Wow I didn't even know you could do that</i>".<p>(1) Yes I know there are MAN pages, manuals, etc. but they don't count. I often get better results from a simple Google search.
评论 #3258605 未加载
评论 #3256922 未加载
评论 #3257011 未加载
kiba超过 13 年前
20 years old like me are using emacs these day. It's not for old people anymore. I bet there are people in the world who are two decade more than my age and never touch vim, or emacs.
评论 #3258009 未加载
评论 #3257793 未加载
maximilian超过 13 年前
In the article he links to "Emacs Prelude". From its README:<p><i>No arrow navigation in editor buffers<p>This is not a bug - it's a feature! I firmly believe that the one true way to use Emacs is by using it the way it was intended to be used (as far as navigation is concerned at least). That's why I've disabled all movement commands with arrows - to prevent you from being tempted to use them.</i><p>I don't use my arrow keys that much, but do any others see this as a useful feature? How do you typically navigate around code in Emacs?
评论 #3257851 未加载
评论 #3258865 未加载
评论 #3257744 未加载
jphackworth超过 13 年前
One feature of Emacs that I wish IDEs would or could adopt is macros. It really enables a larger set of refactorings when you can repeat any text transformation. You really need non-popup find-this-string, though.
评论 #3258015 未加载
keeptrying超过 13 年前
I use emacs. But arguing between Vim Emacs and Textmate is a perfect waste of time. Get back to work.
评论 #3256913 未加载
评论 #3257406 未加载
评论 #3258048 未加载
greggman超过 13 年前
I'm going to stick out like a dork I suppose but I prefer slickedit. It gives me all the stuff claimed as great for emacs AND all the stuff claimed great for IDEs. The only thing it doesn't give me is vims smallness but since I rarely exit the editor that doesn't effect my workflow.
评论 #3257513 未加载
评论 #3256994 未加载
agentgt超过 13 年前
I am a long time Emacs users but now I shamelessly admit I am an Eclipse user.<p>Eclipse handles plugins really well. What I loath about Emacs is its plugin management. It is a PITA to download new plugins or update existing ones.<p>Also Eclipse generally understands the programming language your working on. The whole you have to use your mouse in Eclipse is total BS. In a simple keystroke I can navigate the type hierarchy of a class and or the call hierarchy of a method.... not to mention auto-completion.<p>For Scala, Java, Javascript, and XML I use Eclipse. For Python I use Emacs because its still the best editor for it.<p>If your using a JVM language give Eclipse a try. I'm glad I did.<p>IMHO IDE vs Emacs is becoming so Déjà vu of Emacs vs Vim.
评论 #3257203 未加载
评论 #3257262 未加载
评论 #3257217 未加载
评论 #3258853 未加载
k_bx超过 13 年前
Also I noticed only recently that emacs32-nox is really-really lightweight and starts immediately, so I am happy to install/run it on my servers.
评论 #3256963 未加载
评论 #3257308 未加载
morazow超过 13 年前
I have started using emacs recently. Before I was using vim (approximately 4years), and one of the things I liked in emacs is there is no editing and command mode, you don't have to press ESC and goto the end of program in emacs and then enter to edit mode, for instance. However, I think it will take time and patience to master emacs.
X-Istence超过 13 年前
When the author starts going on about IRC and email within emacs the first thing that came to mind was an old joke:<p>"Emacs has everything, email, chat, and even a web browser, hopefully next year they include a text editor"<p>or<p>"Emacs, for when you want to do anything but edit text"<p>Now I will readily admit that I use Vim for my day to day work and have not spend any significant time in emacs, but I do find the many control commands jarring and difficult to remember.<p>My boss is a big emacs guy, and whenever I help him with code or he helps me with code we make fun of each others editing environments :P<p>I hope to eventually have the time to learn emacs to its fullest and understand it. Being able to use a variety of different editors won't hurt.
rayiner超过 13 年前
I love Emacs. Have used it for years. Which makes it frustrating that the GUI sucks so hard. I program on a laptop which means that reaching for the mouse is far less expensive then it is with a keyboard+mouse setup. Sublime Text supports this beautifully, by offering pretty comprehensive keyboard-ability while not neglecting mouse-ability. Emacs just falls down hard on this front.<p>Not to mention that on OS X it does pretty much everything against the basic conventions of the OS.
jaequery超过 13 年前
people think emacs users use emacs for it's sheer power but i think that is the wrong perception to have (and promote).<p>the sheer power is in it's key bindings. it lets you literally take full control of texts with pin-point precisions just like a surgeon does with his tools. the speed and efficiency of it is just un-matched by any text editors out there. i've seen some power vi/vim users get close to speed but still can not rival against a power emacs users. long live emacs.
评论 #3258054 未加载
georgieporgie超过 13 年前
In my limited experimentation with Emacs, trying to get started with Lisp/Scheme, it seems like a bit of an ergonomic nightmare. That may be affected by my Dvorak layout and Kinesis keyboard, perhaps Emacs is the one Kryptonite of this combination...
_mnjb超过 13 年前
Emacs is a platform, others are only editors.
billpatrianakos超过 13 年前
We get it! Emacs is god. Or Vim is god. Whatever. Why do we keep having to be subjected to Emacs/Vi love letters on the front page of HN? Then someone says "but Emacs can't do this!" then the other guy says "well vi cant do that!" then we talk about key bindings and it becomes the same post with the same comments and then everyone downvoteed the guy who called it out. Next story!
评论 #3259021 未加载
derpsaidderp超过 13 年前
I think emacs is probably one of the biggest mistakes to ever happen to computer science.<p>First, let's remember that emacs is not powerful in and of itself. It requires mastery to understand the potential and power that lies in it. The inclusion of emacs lisp is amazing, but seriously? Have you programmed a separate application in emacs lisp? You haven't? What? You used Scheme or Common Lisp instead? Than why the fuck are you defending emacs lisp?<p>And that is the biggest flaw. The flaw no one likes to talk about. How many people have picked up emacs and quit? I certainly have. Numerous times. How big do you think the population of people who have tried emacs is to the number of current users? Seriously, in terms of a conversion rate, it's absolutely terrible. And you think that's a good thing? Don't give me that bullshit about how only "smart" people will put the effort in. It isn't about fucking effort. It's about giving people the confidence to learn more about your software. And emacs almost definitely fails there.<p>And that's the whole fucking point of computer science. It's not writing the "greatest" programs. It's sharing. Sharing techniques, skills, libraries and ideas. And emacs is an artificial barrier. And worse than that, the most elite people in CS continue to protect it and cannot comprehend that their elitism is to the detriment to CS as a whole. It's complicated, arbitrary and designed in a terrible manner. I don't care if it makes sense to you. What matters is that you should be able to easily defend any design decision. And you can't.<p>We need more people to start programming. We need better editors. Why is it that CS has some of the oldest, most decrepit tools with the most adamant defenders? Why?<p>Seriously, we deal with fucking computers all day. The most arbitrary representation of knowledge possible. And all people do is whine about how things are "good enough" or "no, someone made this decision a long time ago, and now a lot of people make the same choice, so don't be stupid and choose that."<p>The number of new computer languages being invented is almost fucking SLOWING down. WTF? Computer science is about the drive to find better ways to express and share knowledge, and that means trying new things. Usually, they will suck. But jesus, we have to keep trying. And whatever we do, we have to help a). more people try programming, and stick to it b). support people following their own loony ideas.<p>I mean seriously, it's fucking sad how slow shit happens. Common lisp, one of the more powerful languages ever invented, got a wonderful tool called quicklisp last year. 15 FUCKING YEARS AFTER CPAN CAME OUT. Why the fuck is shit so fucked up, I mean jesus, it's fucking inexcusable. Our descendants are going to mock us to our faces til we fucking hara-kiri.
评论 #3257416 未加载
评论 #3257315 未加载
评论 #3257350 未加载
评论 #3257354 未加载
评论 #3258608 未加载
评论 #3258991 未加载
评论 #3257184 未加载