문제

In an attempt to reach at least beginner status with such a legendary editor, I have been coding in Emacs for the last two months. I try to keep an open heart, but I find myself continally disagreeing with one core design choice: that Emacs allow its users to never have to leave. In a 2010 world, I just think that every side feature of Emacs is hopelessly behind dedicated software:

  • I would never use its built-in browser; Chrome is years ahead.
  • I would never use its dired feature; Path Finder (Mac OS X) suits my needs.
  • I would never use its built-in email; the Gmail web interface has more relevant features like Priority Inbox.
  • Etc.

Sure, I might occasionally dip into Emacs to use regexps, etc. for one of the above tasks, but other than regexps, I really see no reason to ever touch those side features. I'm a completely newbie, yet I have a strong gut feeling that Emacs-as-an-OS is obsolete.

Emacs experts, do you think that Emacs' choice to be a comprehensive environment is the right choice for 2010 and the future? Are there particular peripheral features that are still at or ahead of their time compared to alternatives?

도움이 되었습니까?

해결책

I've been using emacs for the last 10 years (from and to), and I can only say that you are absolutely right. Back in the days, I used gnus and the w3 browser, but clearly they are no longer up to it when compared to dedicated programs. But, obviously, you cannot run Chrome in text mode so this is where emacs wins. And even there, I'd rather use lynx/elinks or mutt for that.

Emacs-the-programmers-editor has lost its touch as well. Text editing is just fine, but when I'm writing code, I find myself wishing for functions like: goto definition, auto completion, refactoring, syntax hints, parameter docs etc etc (think Eclipse). I have tried a couple of emacs modes but never got it to work right. And no, I don't want to learn elisp, thank you.

Also, emacs don't really understand the semantics of the code. This is painfully obvious when coding in a file containing multiple languages like html with javascript and php or something. It just breaks down. For that, I much rather use any other editor (notepad++ or whatever) which does the job much better.

다른 팁

Choose the right tool for the job.

Try running Chrome or Path Finder through an ssh connection - here you will need alternative toolings and Emacs was designed to run in a terminal.

I don't even use the built-in therapist that much, but I do use Emacs and I like it, not because of it's comprehensive nature but because it is endlessly configurable and powerful as a text editor. Also I know a lot of the keystrokes for it. Successful text editing is all about the keystrokes.

If you want to develop your productivity with it, Steve Yegge has some good tips.

Emacs was never intended for the mass market. It is designed for efficient use by people who have taken the time to learn how it works. That said, one size does not fit all, so you may not like emacs even after you learn more about it.

EDIT: My two favorite features of emacs besides editing text are the shell mode, and gnus. After getting frustrated with Google Groups because of all the spam, I signed up with Eternal September and learned how to use gnus. It's much faster to navigate through messages, and only the occasional spam posting gets through, and getting rid of it is a matter of one key press. Shell mode is especially useful to me at work because copy/paste is more efficient than it is in a DOS prompt.

I've always approached Emacs as a platform rather than an out of the box solution. There are many packages that duplicate functionality or purpose and it's up to you to decide whether they meet your needs or not.

That's also the reason why many things are out of date. Most people (that I've met anyway) that use Emacs don't use it to read email or browse the web. However, I'm hard pressed to find another editor that has

  • as sophisticated remote editing capabilities
  • free form inline macro creation and editing
  • depth and breadth of available extensions/packages

It has been my editor of choice for over a decade for software development and word processing.

Best of all I don't have to touch my mouse when using Emacs.

Emacs could be an OS for you if you are willing to learn Lisp and write your own features that suits your needs.

But nowadays you can find everything you need in other tools made by other great people. Those people made those tools because they felt they needed them, just like you who will use them. Since many of them are open-source, there is a community which will make them better and better, with all the functionalities you need.

Trying to enhance Emacs is hard because you have to learn Lisp. Even existing plugins are getting older and older. Take language-modes for example, common languages like JS and PHP are hardly supported even for syntax highlighting. The best mode you could find for them is simply not enough.

Emacs is a great tool in the right hands, and for the right tasks. But there are better tools for specified tasks, and you should definitely use these instead.

I don't wish to start a holy war, actually, there was a time when I've used emacs each second day (one day vim, one day emacs). There's nothing wrong with emacs, it is indeed great tool. Great, great tool.

But as a true vim'er, I was always a bit frustrated with the fact that many emacsers are trying to use emacs literally everywhere, for literally all tasks.

Reading mail, querying database, reading pdf's - those are the most innocent of tasks I've seen to be "emacsificated".

So, as for me, there are tree main areas of using emacs:

  1. Text-editing. And it's mind-blowing, super tool. Believe me, after using vim or emacs for long time, you will totally miss its features in most advanced of IDEs.

  2. IDE. Well, it could be done. Moreover, it could somehow compete with modes IDE's. But the fact is that to make it really competitive, you should invest hard. You should try to assemble many different scripts. You should even write your own snippets of code. I wouldn't, to be honest.

  3. Other tasks, most of them exotic or even esoteric. Playing tetris and so on. Better not.

Somewhere in my collection of stuff I'm sure my wife wishes I'd just throw away, I have a copy of Emacs on QIC-40 Tape. I paid $50 to get it.

I couldn't #@%#$#$%@^#%# stand it then, I can't stand it now. I'm not saying it isn't a great editor for some, but for me .. it just gets in the way more than anything. It's original inception was to work around coke bottle keys, and it did that very well.

If you run a program, any program, you do it in the hopes that it increases (or at least, doesn't hinder) your productivity. If it doesn't work for you, don't use it.

Trust me, you aren't the problem.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 softwareengineering.stackexchange
scroll top