
Everyone Who Tried to Convince Me to Use Vim Was Wrong - mattyb
http://yehudakatz.com/2010/07/29/everyone-who-tried-to-convince-me-to-use-vim-was-wrong
======
njharman
This is by far best way I've seen to learn vim
[http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial...](http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html)

I recommend people making it their desktop background. Being "in your face"
helps you remember to learn and explore things like 'ca)' rather than just
hitting delete and arrow keys a bunch.

>"Can you tell me a way to switch that will not significantly reduce my
productivity for the first few weeks."

Two obvious answers that came to me while reading that sentence: 1) Use it at
home/off hours/for side projects/etc until you are proficient enough to do
work with it. 2) Use it for 1 task a day, then 2 tasks, etc.

The "Turn everything off" is stupid way to start. [Altough it's one way to
reach next level after you are basically proficient] Clue to OA, find better
people to get advice from.

> I was able to get here because I used my [blah, blah, blah]

No, because you stuck it out. Like most worthwhile things Vim is not instant
gratification.

~~~
jwecker
I would also recommend quickly getting in the habit of using ctrl-[ instead of
reaching clear over (on most keyboards) for the escape key.

~~~
silentbicycle
Or you can remap caps-lock to escape. I know that doesn't match the whole 'vi
is already everywhere (on Unix)' aspect, but it's an option.

~~~
ralph
Surely Caps Lock is already mapped to Ctrl? Then Ctrl-[ for Escape becomes
easier as do all the other Ctrl combinations.

~~~
silentbicycle
I could see hardcore vi users mapping it to Escape rather than Ctrl.

Or maybe Menu, Windows, etc. keys, on keyboards that have them.

------
crux
I think the key distinction that Katz is failing to make is this: switching to
Vim is not a matter of 'You’re learning a new EDITOR for God’s sakes. Of
COURSE there’s going to be a learning curve.'

As pointed out, Textmate is a new editor and you don't come to a standstill
when you use it for the first time. But Vim is a fundamentally different KIND
of editor than Textmate. It's not that it's a different program. It's that
it's probably the first modal editor you've ever used. As far as I'm
concerned, the whole bulk of the first and hardest step in learning Vim is
just wrapping your head around editing modally. Whether you want to disable
your arrow keys and obsessively leave Insert mode, in order to cultivate good
habits, or you just want to muddle through and implement Vimisms where you can
is wholly up to the reader. It's analogous to whether you want to cover your
keycaps and use dvorak all the time even when you can't touch type, or just
ease into it. But the hump, the bit that's a qualitatively different
experience, is the modality of the application.

~~~
techiferous
Speaking of dvorak, I use dvorak and that's one reason I haven't entertained
the idea of switching to vim. If I understand correctly, vim assumes qwerty.

~~~
bmallerd
This is a common misconception. There are SOME niceties in VIM that make more
sense in qwerty (i.e hjkl for up, down, left, right respectively) but most
shortcuts are NOT keyboard layout dependent. VIM's shortcuts are mostly
mneumonics. For example, if you wanted to "delete a word", you would enter dw.
In my head I think dw, not home-row+middle+left-hand, ring-finger+left-
hand+top-row. Don't let this qwerty/dvorak be an excuse. Just do it. ;)

------
zikzikzik
"The last few times someone tried to get me to switch to vim, I issued them a
simple challenge. Can you tell me a way to switch that will not significantly
reduce my productivity for the first few weeks."

The problem with this argument is that it clearly shows why so many people get
stuck in local maximums, even though there are much higher peaks around, one
just has to walk downhill first and then uphill again.

It takes sweat.

~~~
confuzatron
And yet, the guy is now happily using vim. Surely there must be an incremental
route between 'using vim wrong' and 'using vim right' that doesn't come with a
drop in productivity? If not, what's wrong with the app?

~~~
nimms
Nothing...it's that the app sacrifices new user accessibility for a more
powerful editing paradigm. It requires a dedication to productivity from the
user that pays off in the long run.

~~~
edanm
I've never understood why an editor can't be made that is as powerful as vim,
but gets the learning curve right.

Then again, I have a sneaking suspicion that it has to do with people _liking_
the exclusivity factor.

~~~
johngunderman
The main issue is that any text editor which is sufficiently advanced will be
far removed from the standard CUA + GUI model that most people are used to.
With such a separation, everybody has to start at ground zero when learning
the new editor. CUA modes are the only sort of learning-curve helper that I
can think of, but that doesn't help much because then people just keep their
dependence to CUA. They have to immerse themselves in the editor to actually
learn it; not get caught up in a "compatibility" mode that makes it easier to
use when they start.

~~~
edanm
But _why_ must powerful editors be far removed from CUA? As I see it, the only
reason emacs/vim aren't CUA is that they were written before CUA existed.
Couldn't an editor be made, with the same power as emacs/vim, but that _did_
take advantage of all the modern things we've been accustomed to?

And don't get me started on asking why, after all this time, emacs still
defaults to non-CUA when it has a perfectly good mode that emulates it? That's
just asking to keep new users away.

------
WilliamLP
For me, having tried to use Vim in the past, the pain point is never the
editing itself. It's the fact that I need visual step-through debugging,
adding breakpoints and watch points, and intuitive navigation through a large
file hierarchy including lots of imported files, HTML templates, config files,
performing ad hoc database investigation queries, uploading files to a server,
and whatever else, along with ability to jump to classes and function
definitions and intelligent auto-complete and popping up parameters and
catching my variable name typos and so forth.

There's a fundamental disconnect between me and the programmers who say "the
only real choices are Vim and Emacs", and I'm fully willing to consider that
I'm doing it all wrong, but I wonder if there's anything out there that could
convince me that living on the home row in a modal editor can work me through
the entire job of being a programmer and maintainer, as opposed to editing and
entering text in a single or very few files.

~~~
lee
Hey, don't throw in Emacs in there!

I use Emacs for a lot of Python and Django work. I can visually step through
debugging, add break points, watch points, and etc... with Emacs.

Emacs was designed with extensibility from the ground up, and there are a lot
of debugging plugins that turn emacs into an "IDE".

~~~
parfe
Can I ask what your setup is to setup break points and step through?

~~~
johngunderman
Super simple: run M-x gdb to bring up gdb, and then run M-x gdb-many-windows
to make it look like an IDE debugger. it gives you the gdb prompt, the state
of variables at any breakpoints, current threads that are running, what is on
the stack, where you are in your code... pretty much anything you need from
gdb. Compiling your code with the -g flag is a must though, if you want line
numbers etc. for your errors/debugging.

As far as setting breakpoints and stepping through, I personally use the gdb
console. However, you can set breakpoints by clicking the left margin of the
line you want to break on, and I believe there is a key map for stepping
through.

~~~
parfe
That works for C, but I was looking for the Python example.

------
JustAGeek
The title of this blog is quite unfortunate imho, it really is an article
describing how NOT to switch to VIM and how the author eventually managed to
come up with a good way of switching.

Good (and as so often, kinda obvious ;) advice.

~~~
wycats
I thought a bit about how to title this. On the one hand, I'm talking about
successfully switching to vim. On the other hand, the thrust of my argument is
that I got very bad advice repeatedly over several years on the topic.

Apologies if the title wasn't as reflective of the content as I had hoped.

~~~
dtf
For the eight years I've been using vim, I have never known about ci". I feel
both stupid and in awe.

~~~
telemachos
'i' and 'a' (mnemonic: the 'a' grabs all of something (and its white space) as
opposed to 'i' which grabs the inner part) as modifiers for 'c', 'd', 'y', and
'v' can be very useful, but I don't see them talked about much in most
tutorials.

See :help motion.txt - they're in section 6. Text Object Selection. Also, just
play around with them a little. For example:

    
    
       <p>This is a tes|t. Do not be alarmed.</p>
    

If that's your text, and the cursor is at the pipe:

    
    
        ciw  # remove all of 'test', enter insert mode
        caw  # remove the word 'test' and preceding space, enter insert mode
        vit  # visually select all the text within the <p> tags
        vat  # visually select the whole <p> element

~~~
llimllib
and diw and daw delete the whole word, gUiw uppercases the whole word, and ...

The composability of vim motion commands is what keeps me using it.

------
sliverstorm
In reply to the _title_ , I have one thing that should convince certain people
to learn vim.

Besides cat, pipes and grep, vim is the only useful editor (i.e. works in the
command line over ssh) you can count on always being on every *nix machine.
There are a very few it is not included in, but these do not have any other
editors either.

~~~
pmccool
> There are a very few it is not included in, but these do not have any other
> editors either.

I'm curious: when have you come across an editor-less unix?The vi-less ones
I've come across have generally had some bizarre substitute that uses wordstar
keystrokes or something equally obscure...

You raise a fair point, though: knowledge of vi = knowledge of ed which will
work even when vi won't (horrid slow link and/or broken terminal emulation).

~~~
gvb
I've come across ones with only "ed", but the last time I had that was 20-odd
years ago. I would counter all unix (like) operating systems have an editor
because I've never run across one without "ed" (and "sed").

------
troels
When I began using emacs, I started out by modding it heavily, so that it
didn't act all that emacs-y. Besides being a fun exercise in emacs-lisp, it
smoothed the transition quite a bit.

I would certainly suggest anyone switching to vim or emacs that they mod the
heck out of them, just to make it bearable. You can always peel the mods off
once you get more comfortable with the tool. After all, what makes these
editors so awesome in the first place, is exactly that you can mod them.

~~~
angusgr
This actually almost the opposite experience to what I thought most people had
with emacs.

After all, emacs comes out of the box with menus, a toolbar, normal keybinds,
to set people at ease if they are used to "normal" text editors like Notepad
or Word or something. At least GUI emacs, that is.

I thought that it's after you learn a bit more about emacs that you normally
turn all those things off and just rely on commands and key bindings and your
own custom modifications.

An aside: In my experience, it also seems like this "newbie-friendly"
environment sometimes turns off vim users who consider emacs to be somehow
"less hardcore" and therefore worthy of scorn. Which is weird for a few
reasons.

~~~
troels
Well, I actually disabled the menus and toolbars. I came from using Textpad
for about 10 years, so I had some very particular ideas about how my editor
should behave. I basically removed a lot of the gui chrome, installed tabbar
(puts tabs on top), installed cua (cope+paste and selection works as in
Windows) mode and then wrote a mode that makes the cursor move around like it
does in Textpad. And a bunch of minor tweaks as well. I have used most of this
setup for about 4 years now.

I'm pretty much entirely lost in a vanilla emacs installation.

~~~
angusgr
_I'm pretty much entirely lost in a vanilla emacs installation._

This is actually one of the things which stops me from going too crazy with my
emacs customizations. I have a lot (and long ago disabled toolbars, menus,
etc.) but occasionally using coworkers' emacs, and using 'zile' on my OpenWRT
routers and the like, means that I like to be able to remember the emacs
defaults for most of the common things. :)

------
railsuser
Has this been the cause of the rails 3 release delay? :)

------
richcollins
Your editor is one of the least important differentiators in productivity. The
best developer that I know, who is probably 10x faster than me, uses TextEdit
and the mouse.

His secret weapon is the ability to quickly and decisively design software. I
waste time tweaking and iterating to (hopefully) find a similar solution.

------
davidw
With emacs, you'd still likely be a bit less productive initially, but at
least it doesn't have that weird "insert mode" stuff, so you can use the arrow
keys, backspace, and so on.

~~~
edanm
From my experience, each has its own problem. While learning emacs, you're
very likely to hit a few keys by accident and suddenly have a new open buffer
you don't understand; it takes some time to learn to hit c-g c-g every time
something like that happens (is c-g quit? I'm pretty rusty these days).

Vim has other problems (like the insert mode), but even in vim you can do as
the author says: always be in insert mode, and pretend it's just a normal
editor.

~~~
leif
C-g is quit. :)

The difference is (full disclosure, I pray at the altar of emacs now, after
many years of vi), much of vim's functionality is hidden if you stay in insert
mode, while in emacs, you always have everything available to you (and in many
cases, it'll suggest "next time, use this shortcut").

~~~
lelele
OTOH, I pray at the altar of Vim while being into the church of Emacs ;-)

Modal editing is unbeatable. GNU Emacs + Viper + Vimpulse is the way to go.

I agree that Emacs allowing you to access commands while inserting text is
nice. However, what are you doing in Insert mode? Hit Esc as soon as possible,
my friend ;-)

~~~
davidw
> However, what are you doing in Insert mode

Writing things?

~~~
lelele
You wrote "stay in Insert mode", therefore I thought you were making the
mistake of staying in Insert mode longer than needed (if I misunderstood what
you meant, please ignore my rhetorical question).

I didn't become proficient at modal editing until I followed the advice of
staying in Insert mode as little as possible, just to enter short bursts of
text (and then remapping the Esc key becomes a must).

~~~
leif
Yes.

I was saying something about the post I replied to, I wanted to point out that
it's easier to ease into emacs without sacrificing the chance to learn about
it for familiarity.

------
obneq
the only fun way to learn vim is to ascend a character in nethack. once you
played for a while you'll know your way around vi!

but vi keys force you to have your right hand in the wrong position. sure its
more convenient than bpnf (emacs style memnonics) but i dont like it for
typing, especially when using a lot of special characters, that is, coding...

~~~
DennisP
It's the standard position I learned in touch typing class (jkl;). You're
right, special characters are a pain. How do you do it?

~~~
obneq
vi keys are on hjkl standard position is jkl;.

~~~
jff
You poor sod, you haven't been shifting your entire hand to be over hjkl, have
you? Just maintain standard homerow position and hit 'h' the way they taught
you in school.

------
milesf
I think the biggest motivator to learn Vim is to watch people who know how to
use it. It's a painful editor to learn, and coming up with the right approach
to learn it is not the same for everyone. I equate it to the pain I felt
switching from Qwerty to Dvorak, which took me well over a year before I was
back up to 50-60 WPM. Now that I'm here, it was worth the switch, but I
sympathize with others trying to make the jump. I see the same sort of pain
learning Vim.

One thing is for certain: Vim will never die. It's over 35 years old now,
almost as old a Unix and C.

~~~
lelele
Must read: [http://derekslager.com/blog/posts/2006/12/the-case-for-
emacs...](http://derekslager.com/blog/posts/2006/12/the-case-for-emacs.ashx)

Jump to the paragraph "The Dark Side".

------
fragmede
He didn't mention my favorite method for learning vim: print out a cheat sheet
(A PDF is not good enough) and keep it next to your computer.

~~~
Jach
I didn't get really into vim until I got the mug:
<http://www.thinkgeek.com/homeoffice/mugs/7bbe/>

I remember when I first learned HTML (without CSS). It was simple to get the
basics down, I memorized a few basic tags and attributes, and over time I
learned more and more tags/attributes until I had a respectable catalog
memorized that I could use when needed. It's similar with vim, but I find even
after years of using it I can still learn new, neat features about (or
packages for) it. (P.S., thanks to the article author for the ciX command.)

~~~
sophacles
I have found that I can go learn and forget entire ways of using vim for years
at a stretch. I've given up on trying to learn all of it, and instead just go
into "deep vim mode" every 6 months or so, and (re)learn about a lot of stuff
and adjust my vimming for current workflow optimization.

------
kgo
Some more advice for someone trying to learn vim or emacs...

RTFM! ;-)

O'Reilly has good intro books on both of them that you can work through in a
weekend.

Yes, I know it seems silly to have to read a book to use a text editor, but
working through the book and doing the exercises the same way you would for a
programming language or API makes the learning curve much, much easier.

------
leif
For those not running Apple software, <http://cream.sourceforge.net/> is a
good beginners' "flavor" of vim. It gives you some familiarisms to work with
until you find their more powerful counterparts.

------
ecaradec
I switched to vim, because I wanted a command from visual studio. That command
was "of" that allowed to open any file of the project with incremental
completion. I know that many consider VS to be a crappy editor, but if you
know many shortcuts, command console and macros it's actually nice.

But it's an IDE and I needed something for javascript files and html files
that was in the range. So I switched for this only reason. I switched the
exact same way you did, using the mouse at first, I spent time in the help for
every issue I had, I learned motions, macros, etc...

Interestingly I've never found something as neat as the "of" command of VS,
but I loved all the rest.

~~~
dan00
"That command was "of" that allowed to open any file of the project with
incremental completion."

Have a look at <http://www.vim.org/scripts/script.php?script_id=1984>. I love
it!

~~~
ecaradec
I tried it but I often work with lot of subdirectories and many files and that
script abort when it reach 200 files. Increasing the limit beyond that would
be slow. I use the Project plugin switch to the buffer, search with
incremental completion. At least it's cached so it's faster, that's not to
bad, but I find it less integrated than VS.

~~~
dan00
"At least it's cached so it's faster, that's not to bad, but I find it less
integrated than VS."

Perhaps you used an older version, because the version I'm using is caching
(2.22.3).

------
code_duck
Why would it NOT reduce your productivity while you are learning it?

I bet you he'd be happy to say 'OH YEAH SWITCH TO A MAC', but guess what - it
will reduce your productivity while you're getting used to new programs, new
keyboard shortcuts, etc.

~~~
binaryfinery
Not really. But then I'm using eclipse, intellij, bash, gmail etc. Its like
linux, but I can sync my iphone :-)

~~~
johngunderman
lack of a good package manager is holding it back. sure, there is port, but
port's library is tiny compared to its linux counterparts...

~~~
code_duck
Totally correct, my assumption is that Apple is mad that you can install apps
without their approval and fees, so they won't bother adding a real package
manager even though it's an obvious shortcoming.

------
masterponomo
They were right about what worked for them, but wrong to think it would work
for you. While I wasn't there and can't refute your claim of their disdain for
anything but full immersion in CLI vi with no GUI aids or non-standard helper
keys, it is true that if you want to be able to do basic functions on any
version of vi on any system (including one with no graphical environment) then
you are better off knowing the keyboard commands. That said, it sounds like
you found a way into it that suits your needs...good.

------
chwolfe
I highly recommend A Byte Of Vim for anyone wanting to learn the editor:
<http://www.swaroopch.com/notes/Vim>

------
anthonyb
This should be standard practice when you're switching to _any_ new thing
(editor, codebase, application, etc.) and is the reason why we have things
like continuous integration and Joel Spolsky ranting about starting over from
scratch. Going completely cold turkey on the old and diving straight into the
new is a really tough way to go.

------
barfoomoo
A question for the Vim experts. How do I do the below in Vim? I yank a text
and then visually select another text and copy the yanked text over the
selected text. Once I do this, if I try to visually select another text and
copy the previously yanked text over it, it does not work. How does one do
this with Vim?

~~~
rlpb
If I understand your problem correctly, you want to use registers. Say you
yank a text visually by using V, the arrow keys, and then y. Instead, use V,
the arrow keys, then "ay

That stores the yanked text into the "a" register. When you put, instead of
just p, use "ap

That puts from the "a" register, and you can repeat the action since the
register is never overwritten unless you tell it to. You can also use b
through to z to store other things. The same registers can also be used to
store macros and marks.

Usually you use the default register (I think it's ") and this register also
gets various stuff saved to it automatically (eg. stuff you delete). (This is
how stuff like xp to swap the current and next character works)

~~~
barfoomoo
Thanks for that suggestion. Any idea why Vim behaves like this? Say I visually
select something and yank it and then go on pressing p it pastes the yanked
text any no of times. But, if I select a text and then try to replace it with
the yanked text, I can do it only once. The next time, the yanked text seems
to be removed from the register. Why this difference in behavior?

~~~
mileszs
When you select some text and 'put' over it, Vim yanks the selected text into
the default register. The text that you just put is still put-able via "2p, if
you'd like to put it again. Vim is essentially saving that selected text for
you, just in case.

I hope that answers your question.

~~~
dhimes
If that doesn't answer it, do a little editing then :reg You'll see what's
going on from there.

~~~
barfoomoo
Thanks for the replies.

------
vollmond
For any other Eclipse users in here (I see it mentioned once or twice in the
comments), check out viPlugin. Works in vanilla Eclipse as well as Flex
Builder, and presumably any other Eclipse-based IDE. Not sure how I would live
without it at this point.

------
dan00
I never used it, but perhaps it's a nice way to learn vim:
<http://cream.sourceforge.net/>

------
lg
for similar reasons it's nicer to start with a bells-and-whistles emacs
variant like aquamacs, and ease your way into (menu-bar-mode -1) etc.

------
kevincolyar
If you're a Vim user on a Mac, check out ViKing <http://vikingapp.com>

~~~
steve19
Your account was created 12 hours ago and this is the only comment you have
posted so I am assuming it is your application.

I was excited when I saw you application hoping it added a normal mode to
cocoa text fields but alas it does not.

I know I going to sound harsh and critical, but I really do want you to
succeed ... you have a beautiful website but app does not do very much. The
shortcuts are not standard vi(m) shortcuts.

Looks to ViEmu for inspiration: <http://www.viemu.com>

I would __love __to buy something like ViEmu for cocoa and for Microsoft Word
for Mac.

------
agentultra
Just go through the included tutorial. That's what got me started years ago.

Though I've switched over to emacs now. ;)

------
bfung
taken from RMS answers 25 questions from reddit
(<http://news.ycombinator.com/item?id=1559075>):

    
    
      25. meeiw: What is vim doing better than emacs?
    
      -----------------------------------------------------------------------
      RMS: Sorry, I have never tried using vim.
      I never felt I deserved such a large penitence ;-).
    

So OP, you're not alone. =P

Can we move emacs vs. vi to somewhere not HN, pretty please?

------
setconndevp
For my MAC i use MacVIM/ Komodo Edit.

------
binaryfinery
I know people who use vim, and are hardcore. Yet anything my hardcore friends
can do on vim, I can do in IntelliJ or Resharper. However there are things I
use regularly in these tools that vim cannot do.

These questions are asked honestly and sincerely and I'm genuinely interested
in reading responses:

At the end of the day, what is the big deal about a modal editor? How does
not-having-to-press-ctrl (or alt, meta, cmd, whatever) for the first key give
a programmer any advantage? Is it just the number of these commands that are
available - and if so, has someone done a count of commands available in
products like IntelliJ and Slick-Edit vs vim? What about the stuff that seems
to be missing, like contextual refactoring - or are there plugins / scripts
for that?

Without any such evidence, it does seem to me that programmers want to use vim
because of a reputation that hardcore hackers use it, not because it actually
improves productivity.

~~~
grogers
One of the best things about vim for me is (for example) the command cib. This
deletes everything from your cursor forward to the first "(", and everything
after to the first ")", then places you in insert mode. How do you do that in
your editor? I'm guessing you use your mouse to select all this stuff and hit
backspace, which is a bunch slower.

Moreover, the command cib itself is built from composeable parts - c (not sure
what the mnemonic for this is but its delete then enter insert mode), i
(inner), b (block of parens). There are several commands besides c - d
(delete), < (left indent), = (auto indent), etc. And these compose with any
motion, eg gg (goto line 1), G (goto end), w (next word), etc.

So you have all these powerful ways to jump around the file, and you can
combine them with all these powerful ways to manipulate the file. And this is
just one of the really nice things about vim. The "." (repeat last command) is
something I haven't found in any other text editor, and was the main reason I
got hooked on vim.

~~~
silentbicycle
c is probably "change". (Or "convert _, I guess.)

You can also preface those with a quantity. As a pretty arbitrary example,
_5dwelp* is "5 delete-word move-to-end-of-next-word right paste", or, "move
the next five words forward one word".

In Emacs, repeat is C-x z, by the way, and then you can just keep hitting z.

~~~
binaryfinery
a. Use case? b. Shift-Alt-Arrow Shift-Alt-Arrow Shift-Alt-Arrow Shift-Alt-
Arrow Shift-Alt-Arrow Ctrl-X Alt-Arrow Alt-V. So 8 vs 5.

Focusing on what it _can_ do is irrelevant. I've been programming 29 years
now. Can't think of a time I've needed to do that.

~~~
silentbicycle
A use case for "5dwelp"? Teaching my roommate how vi's interface works, six or
seven years ago. It was the first example that popped into my head. (I _told_
you it was arbitrary. I switched to Emacs ~4 years ago.) The real point is
that almost the entire vi interface sensibly combines that way, like APL
operators. [quantity] [operation] [movement].

If I still used vi regularly, I probably could have given you a better
example. Actually, I couldn't, but my fingers could have. :) It had all moved
to muscle-memory.

Emacs's interface is a bit more cumbersome, but it's also easier to follow it
with, "...and from now on, call that X and add it to the interface".

~~~
binaryfinery
The real point is that almost the entire vi interface sensibly combines that
way _to operate on words, lines, paragraphs, regexps_ etc. Whereas a good IDE
works on that which the words, lines, etc represent: i.e. a code dom.

~~~
silentbicycle
Actually, "words, lines, paragraphs" also includes statements, function calls,
class definitions, and the rest of the "code dom", in a language-specific
manner. Not so in nvi (a barebones vi), but definitely in vim.

~~~
binaryfinery
Don't suppose you have a link to a decent tutorial on these features for, say,
java?

~~~
silentbicycle
<http://vimdoc.sourceforge.net/htmldoc/usr_29.html#29.3> (vim-specific)

------
drivebyacct2
I don't understand. It's not hard at all to learn the basics - navigation,
visual mode copy/paste, enabling line numbers, turning on a color scheme in 15
minutes. If that.

------
HNer
long live nano :P

~~~
bartwe
Or joe or pico

------
fretlessjazz
Everyone who tried to convince me that (vim|emacs) is better than (vim|emacs)
was wrong

