On June 2nd 2007, a new version of GNU Emacs has been released. Emacs version 22 includes GTK+ toolkit support, enhanced mouse support, a new keyboard macro system, improved Unicode support, drag-and-drop operation on X, as well as many new modes and packages including a graphical user interface to GDB, Python mode, the mathematical tool Calc, the remote file editing system Tramp, and more.
I am very happy to see a new release of the Emacs Operating System. But seriously, these are some cool new features. I just hope I can make it up the learning hill some day. I’ve gone through (most) of the tutorial a couple times, but I just can’t get myself to learn the key bindings for Emacs in addition to VI. As a former Windows-only user, one set of geeky shortcuts (VI) seems to be enough for me. However, I just may have to give it another try!
Emacs has VI keybindings via Viper. The only way that Emacs is usable
they forgot to add the bootloader.
I hear that Emacs 23 will be multiboot compliant, so you can use GRUB. LOL. I’m a sixer (VIM user) myself, but congratulations to the Emacs team, a little friendly competition is always good in the open source world.
Hmm, wouldn’t a VIM user be something like a ninehundredninetyfour:er?
If anything, I *have* to admit I just love Tramp, it’s wonderful to see it included by default in 22.1.
fretinator, I am absolutely sure that I’ve seen at least once a couple of packages that allows you to use vi-like bindings. The one I remember is ViperMode (see http://www.emacswiki.org/cgi-bin/wiki/ViperMode ). I wish I could tell you more about how well it works, but I am in a basically similar position to yours, only reversed (I haven’t been able to learn vi bindings). Hope it helps :-).
For better or worse, if you are into less popular languages (Ocaml, Lisp, Haskell and even Ruby and Python), Emacs is the best IDE there is (and sometimes the only one available), especially for interactive languages.
As for the key bindings, forget all that madness and use CUA (standard Windows/KDE/Gnome keyboards). It’s included in this release by default. (cua-mode 1) in your .emacs
Edited 2007-06-04 19:04
Could you link to more information on CUA and Emacs?
CUA is now built in, so you add a line to your .emacs like
(CUA-mode t)
For older versions of Emacs, you can download cua.el from http://www.cua.dk/emacs.html and put it e.g. in ~/emacs (that’s a directory). Then in your .emacs
(add-to-list ‘load-path “~/emacs”)
(require ‘cua)
(CUA-mode t)
For the last version of Emacs, it’s already included. Just add (cua-mode 1) in .emacs
It doesn’t replace all keybindings, but it’s a good start.
I’m starting to like this.
I don’t mind working to make emacs suit my needs. But, as I don’t know if it can be accomplished, I’ll ask:
Can one replace every single keybinding in Emacs through its scripting language ?
—
Alexandre Moreira.
I think you need http://www.emacswiki.org/ If you come up with something useful don’t be shy, share with the world
> Can one replace every single keybinding in Emacs through its scripting language ?
Basically, yes, afaik you can define custom keybindings for anything you want, including “default” commands, and you can assign any command you want to any keybinding you want. I remember that several years ago everyone was mad about the WordPerfect/WordStar keybindings, since everyone was accustomed to them.
Actually, it’s quite common among people who use emacs extensively to remap the commands a little, mainly due to the unhappy placement of the Ctrl key on most keyboards. Well, either that or get a more emacs-friendly keyboard.
Nice! Just to make sure: Can I even “undefine” keybindings ? (so that It won’t do funny things when I accidentally hit it)
Other question… I looked throught a lot of emacs screenshots and couldn’t find any with tabs support (like firefox, not tabulators). Does it have any ? If so, can anyone show me a picture of it
It seems like I can make a lot with Emacs… if I can do a few things I have in mind with its elisp stuff I think I’ll get myself a really nice IDE
Emacs by default doesn’t have tabs. However, there is a tabbar-mode: http://amitp.blogspot.com/2007/04/emacs-buffer-tabs.html
Most Emacs users don’t used tabs, which generally don’t scale that well when you have more than half a dozen files open. Instead, they use either the buffer menu (in GUI versions) which list all open buffers, or the keyboard shortcuts which allow you to list all open buffers and click on one, move backwards and forwards between buffers, and jump to a buffer by its name. The latter feature is surprisingly fast, when you remember that Emacs has tab-completion everywhere.
This looks great. Only one last thing I’d like to know: Do you have a screenshot showing that tabbar mode in Gtk+ version ? (this last thing is mostly an eyecandy detail… it is just that I cannot test it right now, no linux box around, this week)
I liked the buffer menu stuff, but I think a combination of both is the best way to go
Thanks for the kind reply, everyone.
—
Alexandre Moreira.
Yes, generally. See the Emacs function global-set-key.
Emacs has an interesting architecture that allows you to use elisp to do pretty much anything. To give an idea of the scope: Emacs 20.7 consisted of ~150,000 lines of C implementing core functionality (buffers, I/O, elisp interpreter, backends, etc), and ~450,000 lines of elisp implementing the editing modes, etc.
Entire IDEs (eg: http://common-lisp.net/project/slime/) have been implemented within Emacs using standard elisp code.
As for the key bindings, forget all that madness and use CUA (standard Windows/KDE/Gnome keyboards).
Alas, I think there’s method to the madness. It’s funny, but once you learn the key combos, and you become less dependent on the Home/End/PgUp/PgDn keys, the Emacs keys get very fast and comfortable. Add to that, Emacs shares many of the same keys as bash, so using the two together is very comfortable.
One great Emacs/bash moment is when you’re in the shell, and you want to run a command that’s somewhere in your bash history. You start hitting the up arrow… then you try C-p… then it hits you: C-r. And then there’s no going back after that.
http://bash.org/?632087
One great Emacs/bash moment is when you’re in the shell, and you want to run a command that’s somewhere in your bash history. You start hitting the up arrow… then you try C-p… then it hits you: C-r. And then there’s no going back after that.
Thank god VI users like myself can change that behavior quite easily to VI bindings.
http://aquamacs.org/
If you use Macintosh, and you are a fax on Emacs, then check out the binaries for Aquamacs. It is Emacs with a whole lot of Macintosh GUI thrown in. To quote its website:
“Aquamacs is an Aqua-native build of the powerful Emacs text editor. By “Aqua-native,” we mean more than just the fact that this version of Emacs runs as a standard OS X application. Aquamacs features extensive customization: it will feel and behave mostly like an Aqua program – while still being a real GNU Emacs with all the ergonomy and extensibility you’ve come to expect from this world-class editor.”
Or one could just build Emacs with –enable-carbon-app!
I’ve been using Emacs pre-22 on Mac OS X for a long for a long time now, and compiled Emacs 22.1 yesterday. It behaves great, and looks great too!
http://emphaticallystatic.org/blogimages/emacs-22.1-blog.png
who wants just a text editor; when you can have a text editor, terminal emulator, file manager, email client, newsgroup reader, games and a music player all built into one? I think I’ll stick with VI or even INed.
That was my attitude, until I was working on a LaTeX file with a misplaced brace. I couldn’t find it for the life of me, but either Emacs or AucTeX (an extension to Emacs for LaTeX and TeX) pointed it out in a jiffy. Vim has a similar feature, but it took me a while to find it.
Emacs also has useful features, like a psychologist to help you out when you realise that you are losing it.
“That was my attitude, until I was working on a LaTeX file with a misplaced brace.”
Once I had the same problem, so I sat down and wrote a simple awk script to count the braces and output the line number where a mismatch occured.
To come back on topic, the new Emacs is really impressing – that’s what I can say after having a look at it -, but it’s definitely not my choice – too much stuff in one program. On the other hand, exactly this makes Emacs a very powerful tool for those who know how to handle it. The modular concept is straight forward, of course. But one could argue that KDE does the same with less keypressing and more mouseclicking.
Emacs does that? I’m going to try it out now. Misplaced braces in LaTeX have been making my world hell
Emacs might be a good editor, but it would really be nice if they actually made it userfriendly.
I was forced for 6 month to used it for Java developing, i have never been so little productive.
Real full blown IDE’s lide Eclipse, Visual Studio and others are way better for software developing, and much more userfriendly, and intuitive to use. (Actually VI is even better)
I happened to have my 30:th birthday on second of June. Thank you, this was a much appreciated present.
Thank you, thank you, thank you
Bah. I had a popular Linux distro released the day before my birthday, so that I could have it downloaded and ready to install for the day of.
>Emacs version 22 includes […] drag-and-drop operation on X
With this killer feature emacs becomes a serious competitor to Notepad.
>>Emacs version 22 includes […] drag-and-drop operation on X
>With this killer feature emacs becomes a serious competitor to Notepad.
I doubt that. Not until they add soft word wrap by windows size. And horizontal scroll bar if no wrap.
About time they finally made a new release. I’ve “basically” been using this release for a long time now, what with the CVS builds.
Anyway, you can’t top emacs IMO. Best editor, _period_.
I couldn’t at level I’d wish for.
Elisp isn’t bad it’s not bad for an usual quick script it’s pretty step to learn.
I couldn’t live with previous Emacs keyboard shortcuts which are awful. Pressing so many keys is hardly easy on hands nor efficient.
The best things imho in Emacs are major/minor modes. It’s very smart concept. But as whole Emacs tends to be too much of a “fat cow” I’d say. Or an overkill.
But it’s very impressive and I was delighted when trying to learn it in a more fully manner (thought I had failed).