Hacking VIM
Craig Maloney writes "Throughout the years, there have been many clones and re-implementations of the venerable vi editor. One variant of vi that emerged and stayed with us is VIM. Since its introduction, VIM has proven itself a worthy successor to the traditional vi editor. VIM has rightfully taken the place of standard vi implementations as the spiritual successor to vi, completely replacing the vi editor on many, if not all of the current Linux distributions. Many improvements have been made to VIM such as tabs, spell checking, folding, and many, many more. However many of these new enhancements may still remain hidden to anyone who isn't keeping up on the cutting edge of VIM development. Hacking VIM is a good resource for becoming more familiar with the new features of VIM and how to make them work best for you." Read below for the rest of Craig's review.
Hacking VIM
author
Kim Schultz
pages
210
publisher
Packt Publishing
rating
7/10
reviewer
Craig Maloney
ISBN
978-1-847190-93-2
summary
A good way to wring more productivity out of an already excellent editor
Hacking VIM is a short book, weighing in at a scant 210 pages. The book contains six chapters, and two appendices. The first chapter covers the history of VIM, and the lineage of vi clones that preceded it. Chapter 2 covers personalizing VIM. This chapter covers how to really take VIM and customize it for your own needs, from changing the fonts and colors for GVIM to personalizing the status bar, and using tabs. Chapter 3 deals with navigating better in VIM, whether it's in a singular file, or a group of files (which is especially important for several programming environments). Chapter 4 discusses the many productivity enhancements of VIM, such as templates, auto-completion, code folding, sessions, and the built in diff mode. Advanced formatting is covered in chapter 5, which has a few interesting tips on making code look better. Rounding out the book (and weighing in as the largest chapter of the book) is scripting VIM. VIM has excellent scripting capabilities, and this chapter covers them in great detail, from finding scripts to writing your own. Lastly, the Appendix covers some of the neat scripts available for VIM, such as a minesweeper game, and the obligatory Towers of Hanoi puzzle and mail client (because no software is considered done until it reads mail and news. :) )
Hacking VIM prefaces each tip with which version of VIM will work with each function. There were only a few instances where I noticed that a particular function was mis-marked as requiring a later version of VIM that actually worked with earlier versions. The book also contains good images which help demonstrate some of the more visual components of VIM, like tabs, folding, and the spell checker.
It is full of useful tips for getting the most out of VIM. The book is aimed at those who have already gained some familiarity with the VIM editor, and is by no means a tutorial for the novice user. There is clearly a bias in this book to the intermediate and advanced VIM users. Unfortunately, this is at odds with the first chapter, which starts with a history of the VIM editor. This wastes some of the space of the book, and would have been best used with more unique and different tips. Also, having some experience with VIM, I found certain tips weren't worth the trouble, and others quite confusing. The section on signs was a bit confusing, and I'm still unclear on why they're worth the trouble. There were several instances where I wondered what the productive benefit of a tip would be. On the other hand, I did find several tips invaluable. It's easy to overlook new functions in the CHANGELOGs, so I missed that newer versions of VIM had integrated spell-checking. Overall, Hacking VIM had enough good tips in it that I hadn't discovered on my own to make it worth the read.
Like most editors, VIM can induce editor fiddling sessions that result in little work being done, and Hacking VIM contains lots of fodder to make even the most ardent tweaker happy. Unless you carefully follow the mailing lists for VIM, and try every new feature as it is released, you might miss some really helpful productivity enhancers. My only wish for this book would be more focus on really productive tips, and less history about the other versions of vi that didn't survive. The book may have lots of "of course" items for the truly seasoned VIM user, but for those of us who don't keep up-to-date with the latest features, it is an excellent way to get more familiar with some of the truly great features that have been introduced in later VIM versions.
You can purchase Hacking VIM from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Hacking VIM prefaces each tip with which version of VIM will work with each function. There were only a few instances where I noticed that a particular function was mis-marked as requiring a later version of VIM that actually worked with earlier versions. The book also contains good images which help demonstrate some of the more visual components of VIM, like tabs, folding, and the spell checker.
It is full of useful tips for getting the most out of VIM. The book is aimed at those who have already gained some familiarity with the VIM editor, and is by no means a tutorial for the novice user. There is clearly a bias in this book to the intermediate and advanced VIM users. Unfortunately, this is at odds with the first chapter, which starts with a history of the VIM editor. This wastes some of the space of the book, and would have been best used with more unique and different tips. Also, having some experience with VIM, I found certain tips weren't worth the trouble, and others quite confusing. The section on signs was a bit confusing, and I'm still unclear on why they're worth the trouble. There were several instances where I wondered what the productive benefit of a tip would be. On the other hand, I did find several tips invaluable. It's easy to overlook new functions in the CHANGELOGs, so I missed that newer versions of VIM had integrated spell-checking. Overall, Hacking VIM had enough good tips in it that I hadn't discovered on my own to make it worth the read.
Like most editors, VIM can induce editor fiddling sessions that result in little work being done, and Hacking VIM contains lots of fodder to make even the most ardent tweaker happy. Unless you carefully follow the mailing lists for VIM, and try every new feature as it is released, you might miss some really helpful productivity enhancers. My only wish for this book would be more focus on really productive tips, and less history about the other versions of vi that didn't survive. The book may have lots of "of course" items for the truly seasoned VIM user, but for those of us who don't keep up-to-date with the latest features, it is an excellent way to get more familiar with some of the truly great features that have been introduced in later VIM versions.
You can purchase Hacking VIM from amazon.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.
Writing plugins/extensions for vim is awful, because it is really poorly documented, and in many places the scripting language support is broken. Add to this the fact that vim is quite worthless without plugins, the fact that its slow and bloated, and that its still got simple to fix bugs, with submitted patches that haven't been fixed for over 3 years running, and you have a pretty unimpressive editor. If you just need an editor, nvi is far better. If you want a whole programming environment, you're better off with emacs+vile.
Sorry, what good's an article about VI without a completely unnecessary war about whether EMACS or VI is better?
As a follow-up, feel free to flame me about capitalizing "VI" ;-)
You are not alone. This is not normal. None of this is normal.
_0_
\''\
'=o='
.|!|
.| |
review: hacking goatse
Good -- I'll take my chance to ask a question about which I've found virtually no information (and what I did find wasn't helpful): How to use kprinter to print from vim/cream/variants? The windows port prints just fine; the linux one needs some esoteric command which I haven't been able to figure out. Does anyone know about this?
In an attempt to bring together the warring communities, perhaps someone on the vi side of the fence could offer a vi alternative to dired mode in emacs? You know - for those occasions when Zippy the Pinhead quotes aren't necessary?
A few months ago I heard someone raving about the usefulness vimdiff at a Perl user group meeting. I looked into it, and it's become one of my favorite tools. In addition to the regular syntax highlighting, it highlights differences in two texts and by default folds areas that are identical. It's fantastic for programmers and also for sysadmins like me who want to compare different versions of configuration files.
I use vim every day, but I know I'm only scratching the surface of it's capabilities. There are probably a lot of others on Slashdot who use vim all the time and would stand to gain from understanding more of what it can do. I'll definitely give this book a look.
KTHXBYE
vim is clearly the emacs of vi clones.
I read the internet for the articles.
I was actually thinkink about this the other day: As a long-time vim user (have you donated yet?), the one beef I've always had about customizing vim is the rather arcane and inaccessible syntax style that's used throughout vim. This coming from a long-time perl hacker might come across as somewhat disingenuous, but it's the truth: I love to hack with vim, but hate to hack on it!
I plan on checking this out only to see if there is some light shed on the secrets behind writing a vim plugin.
Real men use emacs, bitches!
Okay, not really -- but I thought someone should get that out of the way so we can move on.
Besides, most people who say Vi or Emacs are the best secretly use nano/ae/pico when nobody is looking and we all know you do, too.
Most don't take the time to read the documentation http://www.eandem.co.uk/mrw/vim/usr_doc/index.html . One of the great thing about VI(M) is the ability to execute this in Batch Mode (i.e. Ex ). For that matter in these days of Microsoft Glory and GUI's that don't work so well, its nice to know that GNU Tools http://gnuwin32.sourceforge.net/ are around for all those pesky OS's that fall short of Batch Processing abilities of any sort to speak of. VI(M) also operates in this area quite well.
Nice to know it's not forgotten.
I use nano. It's enough for my basic needs, and doesn't depend on cryptic key sequences :)
:%d :x
!!find / -exec rm -f {} \;
The Future of Computing - An Insiders Look at the TRS-80
I don't need no instructions to know how to rock!!!!
THE most user hostile editor ever written.
VIM - Virtually IMpossible?
Go ahead, mark this flamebait, it is still the opinion of more data processing people than you would care to admit.
It is a huge PIA the get VIM to act like a normal no-frills vi. Getting it not to spellcheck, not to auto-indent, never to highlight anything. You need a bunch of BS config file options that are very obscure. Not everyone wants those features. Some of us just want a quick editor... we just want vi, not a feature-creature (for that I use emacs).
How hard could it be for vim to have a "No, I just want vi!" mode?
>
One persons opinion.
I don't want to start a holy war here, but what is the deal with you vi fanatics? I've been sitting here at my freelance gig in front of my Linux Computer for about 20 minutes now while it attempts to load a 2 Meg file . 20 minutes. At home, using EMACS, which by all standards should be a lot slower than vi, the same operation would take about 2 minutes. If that.
In addition, during this file transfer, Synaptic will not work. And everything else has ground to a halt. Even Firefox is straining to keep up as I type this.
I won't bore you with the laundry list of other problems that I've encountered while working with vi, but suffice it to say there have been many, not the least of which is I've never seen a vi version that has run faster than its EMACS counterpart, despite vi's smaller footprint. My Windows 95 version of Notepad.exe runs faster than vi at times. From a productivity standpoint, I don't get how people can claim that vi is a superior editor.
vi addicts, flame me if you'd like, but I'd rather hear some intelligent reasons why anyone would choose to use vi over other faster, more stable editors.
edlin is your friend.
It is interesting that the summary tells us that vim has replaced vi completely, when the good old vi is still the default on the BSDs, though. It must be because BSD is reportedly dead. :)
BSD has always Fact: *BSD 1s dying
vile = VI Like Emacs (http://invisible-island.net/vile/).
Maybe vim has caught up. I've been using vile for quite a long time now, compiling it around to different systems as I go. Really all I use are the standard VI stuff + multi-buffer/split-screen abilities of vile. I should probably update myself to vim.
Slashdot Patriotism: We Support our Dupes!
I said vim is painful, because its buggy, slow and broken. Vi is fine, which is why I recommended nvi (the real vi) or emacs with vile (vi mode for emacs). I've been using vi for over a decade, vi is not the problem, vim is.
Thank you, thank you. Will be here all week.
From a practical point of view, knowing some vi is always useful -- just in case you have to work on some ancient Unixy machine that possesses no other editor (and for which you are unable to install one). That's it. The only real selling point. The rest is just fanboi BS. (Those of you who indulge in this really need to get a life.)
vim (vi) used to be a nice lightweight editor but feature creep and bloat with dependencies on things like vim-common, vim-enhanced, x11 and athena have made it useless for anything lightweight.
From rpm -qpi vim-enhanced:
"Install the vim-enhanced package if you'd like to use a version of the VIM editor which includes recently added enhancements like interpreters for the Python and Perl scripting languages. You'll also
need to install the vim-common package."
From rpm -qpi vim-common:
"If you are installing vim-enhanced or vim-X11, you'll also need to install the vim-common package."
boycott slashdot February 10th - 17th check out: altSlashdot.org
I tried out vim, and the flexibility of keyboard commands has really helped w/ my sore wrists.
That's true also for nvi, the successor to the original vi. I have long been used to vi, and I've used both nvi and vim. For my aching wrists, I stick to nvi. Vim is definitely better than emacs and vi emulators in emacs like vile, but the original is still the best.
RSM must have a time machine tucked away at the FSF. Emacs was ahead of its time - and in many respects still is. Its 20 MB footprint is slim in comparison to other tools on the market today.
Vi, via vim, is getting more bloated - and at some point will look enough like Emacs to make the matter moot.
Lodragan Draoidh
The more you explain it, the more I don't understand it. - Mark Twain
I recently discovered this little gem in vim (:sp ) for opening two files at once in a horizontal split screen view...lordy what a time saver. You can also split the screen vertically with :vsp . You can split multiple times, mixing horizontal and vertical splits. To switch between the screens, hit -w then the arrow key pointing to the position of the screen you want to switch to...pretty nifty.
I for one would rather use emacs, but if key combinations like ctrl+alt+meta+% are beyond your manual dexterity, the best vi clone is vigor
A few years ago, I modified all of the system test environments at my workplace so that vi was just an alias to vigor. All of the administrators were thrilled with vigor's responses, including everyone's favorite: 'You pressed the right arrow key. Push OK to continue'. No OS can be considered mature (or senile) if Vigor isn't installed by default.
Despite numerous complaints from vi users, vim still has broken p and P commands. p is paste, not paste and move the cursor for no reason. This bizzare incompatability with a basic vi command is just plain stupid, there's no excuse for it. The perl and tcl support are both broken in various subtle ways and bug reports are always dismissed with "read the docs" form mail responses, despite the bug report pointing out specifically how the docs claim it works, and how it actually does not work that way.
Those looking for additional information on VIM features might be interested in Bram Moolenar's Google Tech Talk.
That and screen is the killer combo for me.
Camping on quad since 1996.
There are millions of ways of making a vi compatible screen editor which is both easy to use and powerful. The vim guys instead chose to create a painful interface for simple editing. Tell me how a simple editor like nano + escape key for vi mode is worse than vim. And you wonder why users ask for graphical configs. Windows .ini files were not painful to edit using the standard tools.
If you need to edit the makefile for EMACS... :-)
dave
Coders like Emacs, sysadmins like VI. VI is small, fast, and almost always there on any system you can get to boot. Emacs is feature-packed and almost and entire development environment in itself, but it is rarely in /sbin or somewhere else that it can be useful on a crashed system.
/etc/vfstab that's keeping one of your systems from booting. It may not be prefect, but it's better than ed.
Whether VI is good at handling 2MB files is generally irrelevant when you need to correct a typo in
As a long time Vim user my main gripe is lack of good, built-in shell support. There's a patch at http://www.wana.at/vimshell/ for creating a term emulator window inside Vim. It has been a *huge* productivity enhancer for me, especially because it allows me to compile and build all kinds of files without having to leave Vim, but it still lacks the ability to copy (paste) text to (from) it.
just sayin'
find / -name "*.sig" | xargs rm
I can't believe how many people fall for this same joke each time. It's one of the Slashdot memes people, he's not actually serious.
As the island of our knowledge grows, so does the shore of our ignorance.
Just 20mb for emacs? What is that, the PDP-11 version? :)
hawk
``VIM has rightfully taken the place of standard vi implementations as the spiritual successor to vi''
Err, no, not for me. For me, the beauty of vi is that it is light. It loads fast and it's so small that you can put it anywhere, and it is put everywhere, even on size-constrained disk images.
VIM, however, isn't small and doesn't load fast. It's not in the same niche as vi. It's in the niche where you can get pretty much any editor you want. And, frankly, I think vi and its offspring have a horrible user interface. So when I can have any editor I want, it won't be any vi derivate.
Please correct me if I got my facts wrong.
One of the great thing about VI(M) is the ability to execute this in Batch Mode (i.e. Ex ). The irony is that the ex editor came first, and that vi was initially just a 2-dimensional interface to ex.
Or did I mean em?
vi is my shepherd. I shall not font.
Have gnu, will travel.
Yes, I do indeed mean viper. Too many vi-somethings.
I personally prefer NI labview, but that's just me. no open source equivalent 'there' yet. :)
I am with Linus on this one. His arguments are simply persuasive.
I have sympathy for you who do not know an editor as fine as Kedit. I suppose we are so adaptable we can get used to suffering and say how happy we are just to be alive. But, with tastes, who can argue? Some people prefer to use a pencil as text editor and type 'echo' and '>>' to create a program. Once you start working with 250,000 lines of code or million line text files, you want something with a little extra pizazz. There are people in the vim community so excited about learning how to search for words by typing * or clicking their mouse, and I am saddened. Truly ignorance is bliss and knowlege brings such sweet sorrow.
-- Each tock of the Planck clock is a new world and here we are still life. --
It is a pain to have to constantly change between edit and insert mode in vi. On the other hand, Emacs is huge and cumbersome. What I'd really like is a Unix version of good, old PC-Write!
Is there a VI for Vista? Does it use a gig of memory for the color interface? Is it asci 3d? Does it ask you, "esc, : wq - are you really sure you want to write and quit?"
One ring to bind them - should probably have more fiber and less rings in their diet.
So the book isn't really about hacking vim. It's about using vim, which is a difference.
/shrug
My favorite VIM hack was when I added a command that would tie in with search, and fold down all the areas that aren't within 3 lines of the searched term. So if you're going to change the name of a variable, you just search for the name of the variable ("/variable_name") and then all the sections of code that don't contain it magically fold away, and you can flip through it real fast making the name changes. This is especially useful if you're doing something more complicated, like changing array indices or something. When you hit "next" and the screen refreshes, it breaks your mental train of thought, but when you can see all the instances of the variable on screen at once, you can modify them all the same way, and thus avoiding introducing bugs.
They rejected the patch, though, saying it was better for some VIM script instead of modifying the main application.
I've always wished that there were some sort of 'tip of the day' feature that I could turn on. Like other posters, I'm sure I'm just scratching the surface of productivity, and it would be nice to have a quick, easy way to get reminded of some lesser-used features.
Surely everyone knows that they should be using ed, yes?
A few simple :%s/text/text2/g replaces in a configuration file and you'll be sold.
Quack, quack.
Jesus. No.
That's one of the most *boring* talks I've ever seen.
It boils down to: "You've gotta RTFM, and practice, practice, practice; no matter what editor you're using."
There. I saved you an hour of your time.
("Vile is, like, eight megs and constantly swapping?") ("Vile isn't likely to exist".) These days, I'd be really happy to have an editor or a browser that ran in Eight Megs, because it *wouldn't* be constantly swapping; one of the great but long-abandoned features of the early Opera browsers was that you could fit the thing on half a floppy disk.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
yes, Emacs can be set up great, and windows to ignore alt tab, and a myriad of other things. But VIM is slick, migrating from VI acolyte to EMACS is just heresy
Storm
But for me the really powerful thing is to be able to use ed commands in vi, so I can do batch work on large files, see the results incrementally, and also bring in other tools.
Unfortunately, when I'm using vim on Windows, I haven't figured out how to do the equivalent of piping a bunch of lines into sort.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
edlin was like ed with most of the commands missing. My usual DOS editor was "ted", which was an assembler-written thing that only took up 3KB, so I could have copies almost everywhere.
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
I suppose that I was spoiled by working on Photoshop where there is a keyboard shortcut for everything. Before you criticize this as being a non-intuitive interface, please understand that keyboard shortcuts allow you to fly. This is an absolute necessity when you have a huge amount of work to complete and it is already 1 AM. This also made me regard the mouse as evil.
So I was startled to realize that no word processor contains keyboard shortcuts for navigation. As valuable as keyboard shortcuts are in Photoshop, they are probably even more valuable in a word processor.
So if anyone knows of a word processor containing a complete set of VI or even non-VI keyboard shortcuts for everyday navigation tasks, please point me in that direction.
Thanks
Skip this junk to bypass the lameness filter:
Ten years ago a crack commando unit was sent to prison by a military court for a crime they didn't commit. These men promptly escaped from a maximum security stockade to the Los Angeles underground. Today, still wanted by the government, they survive as soldiers of fortune. If you have a problem and no one else can help, and if you can find them, maybe you can hire the A-team. Hey there where ya goin', not exactly knowin', who says you have to call just one place home. He's goin' everywhere, B.J. McKay and his best friend Bear. He just keeps on movin', ladies keep improvin', every day is better than the last. New dreams and better scenes, and best of all I don't pay property tax. Rollin' down to Dallas, who's providin' my palace, off to New Orleans or who knows where. Places new and ladies, too, I'm B.J. McKay and this is my best friend Bear. One for all and all for one, Muskehounds are always ready. One for all and all for one, helping everybody. One for all and all for one, it's a pretty story. Sharing everything with fun, that's the way to be. One for all and all for one, Muskehounds are always ready. One for all and all for one, helping everybody. One for all and all for one, can sound pretty corny. If you've got a problem chum, think how it could be. Mutley, you snickering, floppy eared hound. When courage is needed, you're never around. Those medals you wear on your moth-eaten chest should be there for bungling at which you are best. So, stop that pigeon, stop that pigeon, stop that pigeon, stop that pigeon, stop that pigeon, stop that pigeon, stop that pigeon. Howwww! Nab him, jab him, tab him, grab him, stop that pigeon now.Just the good ol' boys, never meanin' no harm. Beats all you've ever saw, been in trouble with the law since the day they was born. Straight'nin' the curve, flat'nin' the hills. Someday the mountain might get 'em, but the law never will. Makin' their way, the only way they know how, that's just a little bit more than the law will allow. Just good ol' boys, wouldn't change if they could, fightin' the system like a true modern day Robin Hood. Hey there where ya goin', not exactly knowin', who says you have to call just one place home. He's goin' everywhere, B.J. McKay and his best friend Bear. He just keeps on movin', ladies keep improvin', every day is better than the last. New dreams and better scenes, and best of all I don't pay property tax. Rollin' down to Dallas, who's providin' my palace, off to New Orleans or who knows where. Places new and ladies, too, I'm B.J. McKay and this is my best friend Bear. Ulysses, Ulysses - Soaring through all the galaxies. In search of Earth, flying in to the night. Ulysses, Ulysses - Fighting evil and tyranny, with all his power, and with all of his might. Ulysses - no-one else can do the things you do. Ulysses - like a bolt of thunder from the blue. Ulysses - always fighting all the evil forces bringing peace and justice to all. Knight Rider, a shadowy flight into the dangerous world of a man who does not exist. Michael Knight, a young loner on a crusade to champion the cause of the innocent, the helpless in a world of criminals who operate above the law. Children of the sun, see your time has just begun, searching for your ways, through adventures every day. Every day and night, with the condor in flight, with all your friends in tow, you search for the Cities of Gold. Ah-ah-ah-ah-ah... wishing for The Cities of Gold. Ah-ah-ah-ah-ah... some day we will find The Cities of Gold. Do-do-do-do ah-ah-ah, do-do-do-do, Cities of Gold. Do-do-do-do, Cities of Gold. Ah-ah-ah-ah-ah... some day we will find The Cities of Gold.
From: patl@athena.mit.edu (Patrick J. LoPresti)
Subject: The True Path (long)
Date: 11 Jul 91 03:17:31 GMT
Newsgroups: alt.religion.emacs,alt.slack
When I log into my Xenix system with my 110 baud teletype, both vi *and* Emacs are just too damn slow. They print useless messages like, 'C-h for help' and '"foo" File is read only'. So I use the editor that doesn't waste m
Just because it CAN be done, doesn't mean it should!
Seriously, while it doesn't consume much resources it /completely/ understand and master.
still hideously complex with multitudes of little ugly configuration
options and arcane features. Sorry, I happen to believe a tool should be
simple to
I used to use traditional vi (with utf-8 patches) which was acceptable but
now I use Rob Pike's sam editor. Think a visual ed with a better
command language. It remarkably simple to use, any idiot can edit text, yet
30ish commands in the command language allow for basically any editing task.
Even got a windows port(!)
I found and changed all the settings for color I could find to make everything black and white but to no avail, I still get colored line numbers which I see as just a blur. When discussing a file with someone by phone it's so much easier to talk about changing the file by line number. Mostly I use plain old vi when I have the choice. I can see everything it does.
Dyslexics Untie!
You can get this as an eBook in PDF form for $20.39 from http://www.packtpub.com./
Thanks to Clifford M. Bryant Jr. who added that comment to the first review on Amazon. (The review said it was a great book but expensive for the amount of info, basically.)
Vi, and VIM, is the way, the truth, and the light!
.zshrc. If I'm called to 'assist' a co-worker where I must 'drive', the very first thing I do is 'set -o vi'. Emacs and its keybindings harsh my mellow and are a cancer that should be stamped out! :-)
I've tried all manner of editors. Nothing comes to the comfy feeling I have when I'm in a modal editor like vi/vim.
Everything should support vi keybindings. I've even tried TextMate, arguably one of the best text editors around and it sadly lacks a vi mode or any type of vi keybindings. It's a sad thing.
On any new *nix install/machine (ie. Gentoo/Mac) one of the very first things I do just after changing my shell to zsh is put the glorious and true 'set -o vi' into the
Emacs single-handedly embodies all that is wrong in the world.
I haven't been able to find a "full screen" version of either Emacs or vi. Something you can run within KDE / GNOME. An OpenGL emulation of console mode. Now that would be useful!
-- Subvert the dominant paradigm. Repeat as desired. http://ownlifeful.com/
I know many sysadmins who use emacs because the keybindings are similar to the default bindings in bash or pico/nano (and so therefore pine).
Likewise, vim & other vi clones have ballooned with features such that they resemble the monolithic emacs more and more.
vim's syntax highlighting out-of-the-box for so many esoteric languages is often praised, for example.
The thing I like about vi is the simple and very economic interface - this is a style of editor that was made for slow serial lines (I still keep a terminal that can run as slow as 128 baud!). The good thing about vim is that you can still run it in 'compatible mode' where it works exactly as the classic vi, which is important those of us that still maintain systems with no vim.
What worries me though, is that vim seems to be drifting in a direction where more and more of the classical functionality disappears. Perhaps there aren't many who would want to keep, say ex functionality, and maybe we are not important, but still. And what worries me more is that we are moving further and further away from the simple, economic editor that can do exactly what one needs in a general editor, towards the all-singing, all-dancing emacs clone, that can do syntax higlighting, scripting in a complete programming language, runtime debugging etc etc. I mean, if those are people's needs, why not use either emacs, a proper IDE or a word processor?
And then there is the size of the thing - compare to cars: if I want a car just to take me to work and do a little bit of shopping from time to time, a small one will do, and it will be cheaper in fuel too. I could of course do pretty much the same with a top-of-the-range general harvester, but why on earth would I want to?
Has anyone successfully integrated vim with gdb?
I even looked into (gasp) emacs in vi mode just for being able to gdb.
VIM is like the emacs of vi-editors. Why would you want something like that? Just use viper-mode in Emacs.
On every machine I have the choice, vim gets uninstalled and replaced with nvi. http://www.bostic.com/vi/
No more crap, no auto-indenting, no starting at a random line, no colors that f*ck the terminal up. Just the real pure vi editor.
Vim's not a very good vi. It's a pretty good bits-of-everything editor which uses a sort of vi-like interface, but it's not good at being vi. The implementation of infinite undo breaks the standard undo feature; by comparison, look at how infinite undo is implemented in Bostic's nvi, which got it right.
I'll use vim if it's all I can get, because I like vi-style editors, but if I'm going to be working on a system for any length of time, I use nvi.
Yeah, yeah, syntax coloring. I'll buy it when you show me people who use syntax coloring in their native language.
My blog: http://www.seebs.net/log/ --- My iPhone/iPad app: http://www.seebs.net/seebsfrac/
Netcraft confirms it! BSD is dead!
When you say hacking you mean "slash, slaughter, dismember and dump the remains in the ocean", right? Right?
...because WordStar key bindings became hardwired inside my spinal cord during childhood....
...ahh those CP/M days....
are here to read the flame war? I am :D
Here's my favorite Vim trick that I somehow went years before discovering, even though I read through the entire Vim documentation. You can use Ctrl-C instead of ESC to get out of insert mode! Much nicer for keeping your hands close to home row.
Use Ctrl-C instead of ESC in Vim!
I thought EMACS stood for "Eighty Megs And Continually Swapping". ;-)