Emacs 25.1 Released With Tons Of New Features (fossbytes.com)
After four years of development there's a major new release of Emacs, the 40-year-old libre text editor with over 2,000 built-in commands. An anonymous Slashdot reader writes:
Emacs 25.1 now lets you embed GTK+ user interface widgets, including WebKitGTK+, "a full-featured WebKit port that can allow you to browse the internet and watch YouTube inside Emacs." And it can also load shared/dynamic modules, meaning it can import the extra functionality seen in Emacs Lisp programs. This version also includes enhanced the network security, experimental support for Cairo drawing, and a new "switch-to-buffer-in-dedicated-window" mode.
Emacs 25.1 is available at the GNU FTP server, and since it's the 40th anniversary of Emacs, maybe it's a good time for a discussion about text editors in general. So leave your best tips in the comments -- along with your favorite stories about Emacs, Vim, or the text editor of your choice. What comes to your mind on the 40th anniversary of Emacs?
Emacs 25.1 is available at the GNU FTP server, and since it's the 40th anniversary of Emacs, maybe it's a good time for a discussion about text editors in general. So leave your best tips in the comments -- along with your favorite stories about Emacs, Vim, or the text editor of your choice. What comes to your mind on the 40th anniversary of Emacs?
.
allow you to browse the internet and watch YouTube inside Emacs
Emacs -- provides a functional and highly customizable editor. It's got a lot of very nice packages (org and magit, for example, are both superb). It also has a different user interface paradigm -- it's usable entirely from the keyboard. Once you are used to this moving back to something with all that clicking around is rather hard to cope with. And it's very easy to add new functionality.
VIM -- like Emacs, it is entirely usable from the keyboard. It's not as functional as Emacs, but is it very regular. The main editing commands are very predictable which makes the raw editor of text very efficient.
That's about the best quick description I can give -- I am mostly an Emacs user, and use VIM for systems administration, so there is a bias in what I say. They are both fantastic tools and it's worth trying them out.
Vi (and vim by extension) is a different way of editing. In a normal editor, you position the cursor manually and then the operations affect the text at that point. Generally, the operations affect only the character under the cursor. For a few limited commands, you can affect a whole line or a word. Again, generally speaking, operations the affect more than one character are usually limited to some limited navigation and deletion.
Vi is built around the concept of describing what you want to do and where you want to do it. Remember that it is an extension of ex/ed. If you've ever used sed, you will understand the power of it. Vi essentially takes the programming concepts in ex/ed and adds interactivity. In other words, the vocabulary and grammar for describing what you want to do and where you want to do it, is dramatically expanded compared to most normal editor. Of course, whether or not you want to think that way is a matter of choice, but most people who take the time to learn seem to find that it's a much more natural way of interacting with the text. The problem is that it takes quite a lot of effort to learn the method.
Vim is an extended version of Vi. It can be set up to be completely compatible with Vi, but usually people prefer the Vim extensions. Vim is quite a lot more powerful than Vi. Emacs now has a mode (called Evil) with is pretty much on par with Vim. I use it every day and although it operates slightly differently in some circumstances, it's the first Vi-style mode of emacs that I think is just as good as Vim.
Vim has some downsides. One of the biggest is the scripting language it uses, which is not very much fun to work with. Emacs, on the other hand has one of the best scripting languages of any editor ever: emacs-lisp. It's not just that it is a complete lisp implementation, but the editor interfaces are really, really well thought out. The result of this is that you can program practically anything and use Emacs as your front end. It's a bit like Javascript is in a browser except that it is awesome (and I say that as someone who actually enjoys writing javascript -- but seriously, the DOM is mind blowingly awful and I'll take elisp over JS any day of the week). This is why emacs has nearly as many packages as McDonald's has served hamburgers (I exaggerate... slightly...)
One of the best Emacs packages ever is Org mode. If you have never used Org mode, it is worth learning emacs for. If you still like your other editor for everything else, you should still use Org mode in Emacs. It is life-changing. But my point is not to get you to use Org mode (well... you should). My point is that Org mode exists in Emacs basically because Emacs excels in that kind of thing. I don't think there is anything out there that can touch it.
Finally, if you get down to nano or whatever... I will almost never use it any more, but there is absolutely nothing wrong with nano. Obviously, if I'm on some random unix box, I'm going to use Vi because I know and love Vi. If I didn't, though, I'd probably use nano. It's great for getting small things done. But it doesn't compare at all with the big boys. If I'm on a random Windows box, I'll probably use Notepad++. It's fine. I wouldn't go out of my way to find them, though.
You're asking two different question:
1) Why modal text editor (editor with modes)
Answer: Because writing text and editing text are two very different operations. Cutting, copying, pasting, replacing, overwriting, searching, etc are done often enough that constantly holding down a modifier key becomes questionable for some. IANAVU.
2) Why something as big as Emacs over nano or JOE.
Because after a while -- maybe a long while -- you will want your editor to have additional feature. Maybe you want more windows. Maybe you want an in editor shell. Maybe you want automatic document complication on file changes with interactive output display. Maybe you want auto tab completion. Maybe you want syntax highlighting. Maybe you want (this is my personal favourite) snippets for auto "template" completion. Maybe you want to run your music editor inside the editor. Maybe you want to run lisp directly. Maybe you want to organise notes in org-mode. Maybe you want to (i presume) use a file editor. Hell, maybe you want to have a video or Youtube vid run in a little corner of the screen while you write code.
All of these things are possible with a few keystrokes in Emacs. Once you introduce yourself to the commands for opening(Ctrl-x, Ctrl-f) and saving files(C-x C-s), switching between buffers, and maybe opening news windows, all the possibilities of become open to you if someday (and that day eventually comes) you want your computer or editor to do a little bit more than just edit text.
Oh. And you can also define macros.