Evil, Almost Full Vim Implementation In Emacs, Reaches 1.0 252
New submitter karijes writes "Evil is a new Emacs major mode intended to implement full Vim emulation for Emacs editor, and it's reached its first stable release. Evil implements many Vim features and has support for plugins, so there is port for rails.vim, NERDCommenter and mapleader among others. You can find details about this release on the mailing list."
Finally (Score:5, Funny)
Re:Finally (Score:5, Funny)
The 1980's called and wants its joke back.
Re:Finally (Score:5, Funny)
Re:Finally (Score:5, Funny)
VIM users would call, but a phone isn't in the orignal VI editor, so they don't have one.
Re: (Score:2)
When do the emacs phones launch?
Re:Finally (Score:5, Funny)
Here you go.
https://github.com/emacsmirror/linphone [github.com]
Re:Finally (Score:4, Informative)
Re: (Score:2, Insightful)
The undo feature in nvi is less compatible with vi than the one in vim. I still prefer nvi's way. It would be nice to have a .vim that emulated nvi editing behavior while keeping the features and better integration with tools like cscope.
Re: (Score:2)
Re:Finally (Score:5, Insightful)
Voicemail that doesn't support rotary dial (Score:4, Interesting)
Re: (Score:2)
Hah!
This is why my EE Senior project (long, long ago) was an inline box that would translate rotary pulses to DTMF so that you could use your cool old phones with modern systems. The trick was in the loop isolation, so voice could get passed through but not the dial breaks which modern systems interpreted as hanging up.
If I was doing it today, I'd make a rotary phone to VoiP converter instead. Actually an easier project, all things considered...
Of course, while this was long ago, it wasn't the 70s, so they
Re: (Score:2)
So, If I use Evil in Emacs to interface with the Diagnostics/Settings, I can make my Chevrolet run like a Ford?
What about.. (Score:2)
the emacs guys implement a emacs compatibility layer for supporting emacs mode on emacs? That way I can edit on emacs inside emacs on emacs on .. [aborted: out of stack neurons]
Re: (Score:3)
It's hardline antifencists like you who guarantee the continuation of the bloody editor war.
"Oh, we like both kinds of music; Country and Western." -- The Blues Brothers.
Hmmm... still waiting for something (Score:2)
Mainly the Linux emulator for emacs.
Comment removed (Score:3, Interesting)
Re:What about viper mode? (Score:5, Interesting)
Viper mode is good, but it is at times confusing, especially when you confuse it with too many Escapes. Evil has quite a few more features too. Both are good projects, though I think Evil has progressed more.
Um, why? (Score:5, Insightful)
Re:Um, why? (Score:5, Funny)
This vim is for emacs users who just know vi is better but don't want to fully admit it.....
Re:Um, why? (Score:5, Funny)
Re: (Score:2)
sure, :sh and run emacs or anything else command line. after quitting emacs, type exit to return to vi.
Re: (Score:2)
its called gnu/hurd
'Sup Dog? (Score:5, Funny)
I heard you like to edit text, so I put a text editor in your text editor so you can edit text while you edit text.
Re: (Score:2)
http://cdn.memegenerator.net/instances/400x/34938664.jpg [memegenerator.net]
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I'm also trying to figure out the point to this.
Re:Um, why? (Score:5, Informative)
Re: (Score:2)
Then pay someone to fix your problems. When I'm not at work, I'll write whatever code I want no matter how useless the rest of the world thinks it is; and it's certainly no more a waste than watching TV or getting drunk at tropical destination X.
Re: (Score:2)
I'm also trying to figure out the point to this.
There are many nice application and interaction packages for Emacs, perhaps people might want to use them with a less contrived editing interface?
Re:Um, why? (Score:5, Insightful)
Re: (Score:2)
Also Emacs has very good Prolog mode that communicates directly with the Prolog debugger so you can do line by line execution, watch variables, etc.
Re: (Score:2)
Also Emacs has very good Prolog mode that communicates directly with the Prolog debugger so you can do line by line execution, watch variables, etc.
That's great if you program prolog but I've not used prolog since university.
Slime seems to be a lisp thing. I've never used lisp.
What else have you got?
Re:Um, why? (Score:4, Informative)
someone who always has at least one emacs window open wanted to drop into vim for quick edits without having to save and reopen the file. a throng of under-employed people thought it was cool for various reasons and joined in. same as every other open source project. it is its weakness and strength.
Re: (Score:2)
Wouldn't it just be easier to use emacs if you already have it running? I thought the major argument (other than usability and ubiquity) for using vi/m over emacs was startup time...
drop into vim for quick edits without having to save and reopen the file
If you already have it open in emacs, just save it and leave it open...?
Re:Um, why? (Score:4, Insightful)
I like Emacs's features and find vim seriously lacking. But Emacs key bindings hurt my hands. I use viper, but it confuses me (or rather, I confuse it when I press escape). Maybe I'll give evil a shot.
Re: (Score:2)
Re: (Score:3)
You.do know/you can change those 'bindings' to anything you want right?
I've used Emacs since the mid 1980s and I've always discouraged changing the standard key bindings and only encourage people to extend using unbound keys sequences. The reason comes from trying to help a co-worker, a long time ago, who had extensively re-bound the standard keys. I couldn't function within his editing sessions and he couldn't function in any other.
Leaving the standard key bindings in place allows one to be immediately productive anywhere, anytime. Unless you have a good reason, like a ph
Re: (Score:3)
If you want to use vim, why wouldn't you just use vim?
That's like asking "why would you install Linux on a toaster oven?" Because it might be possible, and it would be just awesome. Actually, it's probably more like asking "why would you install a toaster oven in my overly-versatile Linux box when the internal temperature already toasts slices of bread perfectly?" Because there are many shades of perfection and if you are to truly understand the zen of emacs you must experience them all.
Re:Um, why? (Score:4, Informative)
If you want to use vim, why wouldn't you just use vim?
There could be many reasons to that. One might be becase Vim has a limited interface to writing plugins. There are plugins that use the Python interface to create different processes [github.com], or one that uses Vim's libcall() to run a task asynchronously [github.com], but are just nice hacks that work acceptably, but not great.
I've been quite impressed by Shougo's plugins, becase, for example, Unite.vim, loads files from the disk in a background task that doesn't make Vim unresponsive, but is still limited in that it seems Vim can not have some kind of timer that polls the background job to update the UI (even less a fully asynchronous interface). The solution is probably resort to using Vim with the client-server interface, but I don't think is the common case of most Vim users.
On the other hand, lately I've been suffering frequent blocks and even full crashes of Vim when using the clang_complete plugin, because uses Python in some unsafe way.
In short, a new Vim implementation that doesn't suffer from such limitations would be welcome. I doubt that making that implementation on top of Emacs is the right way, but who knows. Ideally it should be native, but Vim's development is a bit slow. I can't find the relevant links now, but I remember a conversation on IRC that pointed out to a patch that a YankAdded (or something like that) autocommand. The patch was simple, and it would make plugins like yankring and yankstack almost trivial, since instead of doing map tricks, they could plug into such autocommand and work comfortably. But the patch is about 18 months old, and still has not been applied. Bram Molenaar's response is that bug fixes have priority over features (which makes all the sense of the world), but gives a bad impression over the scalability of Vim's development. Last time I checked the version control, Bram was the only one committing.
Re:Um, why? (Score:5, Insightful)
What you really want for emacs scripting... (Score:2)
Re: (Score:2)
thank you for the 105 fingered image, lol.
I've always regretted not keeping the Lisp Machine keyboard I used 25 years ago: Shift-Control-Alt-Meta-Super-Hyper-X...
Re: (Score:2)
Emacs scripting is better than that in vim. Vim's scripting language is an abomination, and although it has some scripting bridges to other languages, they are not always installed and bring in big external dependencies.
Hmm, the Lua binding is hardly a "big external dependency". And, when combined with LuaJIT 2... :-)
Re: (Score:2)
Re: (Score:2)
Oh, I see you've worked on one of my servers.
Re: (Score:2)
ln -s
Re: (Score:2)
I have been on ...I think two systems in my life that had emacs, but no vi.
The sysadmins were psychotic assholes.
I don't think I've ever seen a unix, linux or BSD system that didn't have some kind of vi on it. I've seen very many that don't have emacs.
I really don't see why emacs still exists, I can only assume it does something better than vi that I don't know about.
waiting for ed (Score:5, Funny)
If vim and emacs merged into one application, would the resulting application donate Richard Stallman to Uganda?
Re: (Score:2)
If vim and emacs merged into one application, would the resulting application donate Richard Stallman to Uganda?
No, more likely North Korea
Because he is the bomb?
--
Did Satan sell Evil to Bill Gates?
Re: (Score:2)
Did Satan sell Evil to Bill Gates?
No, BG embraced & extended evil but left extinguishing it to the chair thrower...
Re: (Score:2)
ooo, I saw the picture of their new leader, an ugly kung fu panda, that doesn't know kung fu.
Screw those guys! (Score:2)
VI VI VI (Score:5, Funny)
Re: (Score:2)
Re: (Score:2)
and emacs backward is scam-e
Re: (Score:2)
Funny Story... (Score:5, Interesting)
I never liked that newfangled vim. It's far too... colorful. I usually swap it out for nvi, which is much more vi-like. Distributions (like Redhat) that install pico as the default editor make me punch someone. Maybe the guy who thought pico should be considered in any way an acceptable UNIX editor. I always have to swear, abort back to the command line, and export VISUAL=vi.
Re:Funny Story... (Score:5, Insightful)
I guess you had to be there, eh?
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
I have to wonder how anyone would actually run into these editors, like pico? I've rarely 'accidentally' run an editor I didn't want to run. Emacs is not lurking in the background somewhere when I type 'vi(m)' to edit files.
Re: (Score:2)
The command 'visudo' will launch whatever editor is defined in an environment variable, and if that is not set it will traverse the /etc/defaults/ tree.
On certain distros a brand new install will have those set to pico or nano.
After having configured the defaults on a previous system many years prior, one tends to forget about that "feature" even existing.
Not coincidentally, using visudo is more likely immediately after a new installation as well, and where I most often first run into it.
Re: (Score:2)
Re: (Score:2)
I have to wonder how anyone would actually run into these editors, like pico?
Raspberry Pi.
The default image contains pico but not vi. Installing vi requires installing quite a few dependencies and on that slow machine takes time. End result is that it's actually simply easier to run pico.
Or simply use a linux image with a decent text editor :-)
Re: (Score:2)
Re: (Score:2)
My instructions for installing a new Debian(-like) build system at work include "apt-get purge nano" as the first thing you do once you're able to login. After (over? Yes. Fuuuuccckkkk....) 20 years, I just can't use an editor where "hjkl" aren't cursor
Re: (Score:2)
Disclaimer: vi(m) is my editor of choice on the CLI.
Sorry to be pedantic but it's a Text User Interface, not a Command Line Interface.
Re: (Score:2)
Is this anyone in particular or just whoever is closest?
Re: (Score:2)
I never liked that newfangled vim. It's far too... colorful. I usually swap it out for nvi, which is much more vi-like. Distributions (like Redhat) that install pico as the default editor make me punch someone. Maybe the guy who thought pico should be considered in any way an acceptable UNIX editor. I always have to swear, abort back to the command line, and export VISUAL=vi.
Debian does this too (installs nano by default as a newbie-friendly always-works editor). If you're the admin, the right way to solve it is to uninstall pico.
I'm an Emacs user, but if you're serious about using Unix you need to be able to handle some simple editing using vi -- sooner or later you're stuck with a system which has nothing else.
Well, that's cool and all, but.... (Score:2)
It's still emacs.
Re: (Score:2)
Re: (Score:2)
> Emacs and its Lisp extensions are great, unbelievable it was made more than 30 years ago with no successful "competitor"
There's a reason for that. When your user base is a tiny, although fanatic, fraction of the editing public, there isn't really room for a lot of different products.
As an admin in the early days I had to support Emacs and Jove (because one version of Emacs was apparently not enough...) because three of our programmers used it. The rest of us used VI, not because VI was "the best", bu
Re: (Score:3, Interesting)
I started to agree with you, but then you went a bogus direction.
"Intelligent people" do understand that it's meaningless (though occasionally amusing) to argue whether vi/m or emacs is better, but that's because they understand that if you've invested the effort to truly learn and use either, that your text editing capability will be far superior to what can be done in any other text editing tool.
Yes, it's just text editing. While there are some new features that crop up from time to time as new tools or
mcedit or bust (Score:2)
The only Linux terminal-mode text editor I can stand using is Midnight Commander.
Re: (Score:2)
It's already been done, several [emacswiki.org] times [emacswiki.org] in fact [emacswiki.org].
That's it!! (Score:4)
I'm going back to only supporting closed source software.
So, is this the end of the vi/emacs flamewar? (Score:2)
...or is it more like mixing Star Wars and Star Trek?
Re: (Score:2)
Re: (Score:2)
Now that J. J. Abrams is associated with Star Wars it's a definite possibility!
Too Late. Perhaps you missed the part in the last Star Trek where the Romulans used their Death Star to blow up one planet then were halted by a rag tag group of protagonists as they attempted to blow up another planet. Oh, sure, they called their "death star" a "mining ship", but a rose by any other name...
Since he did so well on that mock-Star Wars movie, and shows no restraint for crapping all over the fundamental universal principals if the story is written into a corner (trans-warp beaming, Spock
Darn. (Score:2)
That was the feature i was waiting for since 1994, and due to which i switched away from emacs 5 years ago.
Yo dog.... (Score:2)
While funny for slashdot - it's basically like watching people arrange deckchairs on the Titanic. These are tools - tools to get your job done. Use the best tool and stop circle-j-ing about this over that/etc. I use both whenever it suits me; but don't do any serious development in either anymore. There's so, so, so much better tools out there than these tired old things.
VIM can be run in emacs without the extension (Score:2)
By the way, not to belittle the project in any way, but you can already run vim inside of EMACS by the following:
M - x (return) term (choose shell) ; vim
You get the whole vim in an emacs term buffer. What you don't get is any real integration (you are stuck in vim, but your mouse can get you to another buffer if you need to). Evil is much better in that you are still in emacs while you use vim shortcuts and commands and you can get into emacs easier for slime and the rest.
You can even launch screen inside a
Re: (Score:2)
Access to emacs-lisp & emacs macros are the reasons why hardcore VIM users are interested in an emacs VIM mode. You get the latter by running vim inside emacs term, but not the former.
can someone explain this holy war? (Score:2)
Re: (Score:2)
You, Sir, are starting a new Holy War! It might be the War to End All Wars, but, nevertheless, it is a new Holy War...
converted an EDT fan (back in the day ...) (Score:2)
Running VMS 3.7 or 3.8, IIIRC. He really liked the vt200 keypad integration of EDT. Was a bit envious of the multiple buffers we had though, and then I wrote an elisp program to convert assembly language listing back to source so we could produce product-specific documentation for the regulators; that was too much. He switched to emacs+edt mode.
My favorite emacs story though is still the guy I worked with who used it as his login shell on BSD.
Original vi (Score:4, Funny)
For those of you old enough to remember the original vi, with a very limited set of commands and no support for the cursor keys:
Once we were trying to explain to an MS-DOS Wordstar user how the VI editor works. Here's what we come up with:
Vi is an editor with two distinguished modes:
In Edit mode you have all the capabilities of grandma's typewriter right under your finger tips! You can make the very same mistakes as you did with granny's typewriter and your possibilities to correct them are about the same.
That's why Vi was provided with a second mode, namely the Beep mode. On a vt100 terminal or compatible you can get into Beep mode by pressing an arrow or escape function key. In this powerful Beep mode even the more innocuous keystroke will promptly produce a Beep sound. As an example, arrows, return, blank spaces and most capital letters will produce beeps in the most arbitrary places of the screen. Just think about the whole world of possibilities that this mode gives to you:
--Compose a monotonic symphony or rap while editing your thesis!
--Send messages in Morse code to the secretary next door!
--Keep yourself awake with the clear sound of the Beep tone!
The variations are endless.
WordStar (Score:2)
Everyone knows that Wordstar was the 'one true editor'.
The Straightline Project (Score:2)
Clearly, the thing lacking here is for both vim-in-emacs and emacs-in-vim to be so feature complete that you can nest them until you exhaust available memory. I propose that we codename the project to create this "straightline" , as it shall generate infinite jokes on /.
Are they still working on this? (Score:2)
Geeze, I remember back in the... probably eighties... an VI emulator in Emacs. The Emacs squids (all two of them) were selling it hard as superior to native VI in every way. So I tried it... and it was pants. In order to use it effectively, you had to be skilled in both Emacs *and* VI, which kind-of negates the purpose. I didn't use VI because I thought it was superior, I used it because it was ubiquitous. Having to learn Emacs so that I can use a VI emulator is insanity.
Re: (Score:2)
Coming up next: Full implementation of Emacs in Vim
Actually it's already done, Emacs is available from Vim in Emacs
Re: (Score:3)
Try this in Vim:
(ESC) : !emacs %e
Edit your file in emacs and then return to vim (just load file "L").
Your welcome.
Re: (Score:2)
Vim is a cleaning powder. It doesn't suck, it scrubs.
Re: (Score:3)
vi? emacs? no normal English speaker knows what these words mean. Do you need to be a cunnilinguist to use these programs?
FTFY.
The answer of the question in the correct form above is "Highly probable": after an age, even if still interested in a sexual life, that's about all you can do (and you need to have a certain age to know how to use both vi and emacs).
Now... get off my lawn, kids.
Re: (Score:2)
we witness an older gentleman subtly lamenting his chronic erectile dysfunction.
Hang on, buddy. Just who told you that I mastered both vi and emacs long ago?
(not that I can't deny it and still stay true, just curious who told you?)
Re: (Score:3)
Try this for your amusement:
Launch emacs.
Step 1: M-x term ; screen vim :!emacs
Step 2: in vim type
Step 3: return to step 1
You can stack as many sessions as you want. Why you would want to do that is of course completely your affair.
Re: (Score:2)
In step 2 you are just suspending emacs, not running it actively. Trivial. You might as well just run emacs, ^Z, vim, ^Z, ...
Re: (Score:2)
If it took you 2 months to figure that out you should have been fired.