Tag Info

Hot answers tagged

62

The main reasons why I prefer a terminal-based editor over a full-fledged IDE: Remote access. I can ssh to whatever computer I need to be on, fire up Vim and start working away. In a day-to-day basis, using screen session and Vim allows for easy access from any location. Keystrokes. There are so many keystrokes saved once you can utilise Emacs or Vim to a ...


48

Programmers are notorious for using the tools that helps them get the job done in the most efficient way possible. These editors are ancient yet still being used because they are good, solid editors, proven by time. If they get the job done and get the job done well, why should we drop them in favor of something else?


48

When I read The Pragmatic Programmer and they suggested that one picks a text editor and learns to really use it, I chose Emacs and really I haven't looked back. I don't use it for everything- if I'm developing .net I will tend to use Visual Studio because it's all set up for it, but for most web dev stuff I find it more helpful than an IDE and the ...


40

You assume they don't evolve. Emacs continues to grow by leaps and bounds; and, while vi was getting kind of hoary, Vim has rejuvenated it and if anything it's growing (feature-wise at least) faster than Emacs. But when it comes down to it, it's what you work best with that matters. If you're most productive in Eclipse, more power to you. Same if you ...


30

Emacs and Vi still have a place. They are ubiquitously available in Unix and Unix-like environments, and can be installed on most other popular platforms. They are popular and stable, so learning them once pays off over the long run. They run over a text terminal, so you can use them in telnet and ssh sessions. They provide editing modes and syntax ...


30

You should read Paul Graham's Beating the Averages article, which explains why Lisp can implement other languages' concepts but usually not the other way around. One of the key features Lisp has is real macros (as opposed to cpp or m4 macros). With macros, you can bend the language to whatever shape you'd like it to have. You can implement a complete OO ...


28

Use whatever tool fits your needs. Knowing VIM or Emacs is a good thing if you ever have to login into a remote server and edit a config file or something similar. I know VIM reasonably well, but I wouldn't use it to develop in Java. That's what Eclipse, Netbeans etc. are made for.


22

Many (most?) of the best programmers I know despise IDEs and rely solely on Emacs. I am not quite so diehard, and use both Eclipse and Emacs, but there are a couple of reasons I prefer using Emacs: Consistent experience with ANY language - Support in Eclipse for some of the newer languages (Scala, Clojure, etc.) is inconsistent at best, and subpar at ...


22

Vim is a really good tool once you familiarize yourself with it. It starts up faster than any IDE or text editor I've used, and it has syntax highlighting and it indents the code correctly in most cases. It also helps you focus on the coding process itself, you won't be using the mouse at all to deal with it, that'll save you a lot of time when you're just ...


22

There's a lot of good information in the other answers, but IMHO they are missing Stallman's point. I believe Stallman was referring to the fact that Lisp itself is a nice regular abstract syntax tree which can be executed by a lisp interpreter or compiler. The process of interpreting or compiling TCL (or another non-lisp language) is one of converting the ...


21

Well, First You need to know some of the basics of text editing: C-w : Cut M-w : Copy C-y : Paste C-x s : save C-x c : save all and close Then, it's handy to learn how to move around the file: M-b : back one word M-f : foward one word C-a : beginning of line C-e : end of line C-n : next line C-p : previous line M-< : beginning of buffer M-> : end ...


18

C-h b -- runs describe-binding C-h k -- runs describe-key C-h f -- runs describe-function C-h v -- runs describe-variable If you know those, you can explore emacs and find things you still don't know. Learn how to learn, thats essential. Everything else can be found out later.


18

shouldn't we drop them and trying to invent or looking for something new? The full answer: A UNIX wizard hears cries of torment from his apprentice's computer room where the apprentice is studying, and goes to investigate. He finds the apprentice in obvious distress, nearly on the verge of tears. "What's the problem?" he asks. ...


15

Learn elisp. It allows you to program any shortcut you can think of. Any time you find yourself performing a multi-step process for something useful, you make a function out of it and bind it to a hotkey combo. It lets you experiment with functional programming - learning a new paradigm is a good way to expand your horizons.


15

Importance of vi is that you will always find it on any flavor of UNIX (standard both in SysV and BSD flavors) or UNIX-like system. Note however it might be original vi, not vim. You're not guaranteed to have any other editor installed. Also in Linux it's in /bin, so it's available even if /usr failed to mount.


15

I'm 22 (I'm guessing this meets your definition of new generation) and I use Vim (admittedly not Emacs) when I'm working with languages that don't have a first class IDE (examples of languages that do would be C#, Java, and Scala IMHO). I tend to find that the shortcuts available are more powerful and increase my productivity compared to an editor like gEdit ...


14

The interesting thing about Vim and Emacs is not simply how quickly you can work. It's the simple fact that Vim and Emacs let you edit your text at nearly the speed with which you think about making your changes. Since you have no need to make selections, to switch to the mouse, or to hunt through menus, your mind is free to focus on what's important while ...


13

10 X more productive? Not likely. I tend to think the multiplicative factors are more like 1.1, which does add up after a while. What Steve Yegge is talking about is really a reflection on being an expert in Emacs, and those are very rare. People who are achieving this multiplicative effect are actively customizing their Emacs experience by writing elisp ...


13

I’m 23. I’ve used Vim (yes, not Emacs, but still breaking a lance here for both) for 6 months now — 3 of them 8 hours a day at my job (JS/HTML/CSS). Everyone holds their breath in awe when I change 20 lines of code in three seconds. Or when I scroll through files one page per half a second and still keep the context. Or when I get NerdTree and a 3x2 window ...


12

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 ...


12

I think the IDE's (Visual Studio, Eclipse, IntelliJ) are fit to solve another class of problems than the ones you solve with emacs / Vim. When you have a large platform to code on, with lots of libraries and high integration between all elements (sounds like Microsoft), an IDE will prove it's worth. Some will refer to this as "sticking libraries together" ...


12

He means that you're unlikely to encounter features you may want to implement that are not present in Lisp itself, so you can just "translate" them and use the underlying Lisp implementation, rather than having to implement them from scratch (which may be extremely hard depending on the language). For example, TCL doesn't have closures (I believe), so if ...


12

Two points. First, it's not the typing throughput that makes a difference, it's the latency. In other words, the elapsed time between when you've decided to make an edit and when you're done making the edit and back thinking about the problem. A couple of seconds can make the difference between losing your train of thought or not. Take something simple ...


11

I have been using emacs for 5+ years. I can no longer tell you the key combinations I'm using, my fingers just remembers them and have to look at the keyboard just to see what my hands are typing. A few years ago I started using Eclipse, and there is no chance I'm going back to emacs freely. Sorry muscle memory, even though you are missing ye old C-x r SPC ...


11

Are you a fast touch typist? Do you often wish for more keyboard shortcuts to make edits? Does the time you spend editing interrupt your train of thought? Do you find little things about your editor that you wish you could customize to work just the way you like it? Do you not mind spending potentially a lot of effort up front if it means it will save ...


11

Emacs and Vi(m) will never die as long as there are text based sessions via ssh and headless servers to be managed remotely. Systems administration is more about automation and automation is easier and quicker with command line interfaces. Command line interfaces demand powerful text editing software in a Terminal session. Web interfaces are great, but what ...


10

You've got a mix of concepts going on there, which is maybe not surprising since VS combines a lot of rather disparate features together. One quote (from this site) suggests that Emacs isn't a good IDE, Unix is a good IDE. The idea being that in the Linux/Unix world, you rely on multiple specialized tools that play well together rather than one monolithic ...


10

He probably meant that it is relatively simple to implement any other language on top of Lisp, using its metaprogramming capabilities. It is possible to do similar things with some other meta-languages, including Forth, but so far Lisp is the most advanced in this area. One can implement C on top of Lisp, as a combination of a reader macro and a set of ...



Only top voted, non community-wiki answers of a minimum length are eligible