App to help with Deliberate Practice / Mavis Beacon Teaches Vim?

220 views
Skip to first unread message

Duane Johnson

unread,
Apr 7, 2010, 10:44:01 PM4/7/10
to vim_use
Hi All,

When I learned to touch type in high school, we used an application
similar to "Mavis Beacon Teaches Typing" that drilled character
sequences into my muscle memory. I think there was a real advantage
to this approach over simply stumbling through the process of learning
to type. The application chose intentionally difficult sequences and
required that I practice those ones over and over again. The result
was that I could touch type the unusual sequences at nearly the same
rate as regular sequences, and my overall achievement in touch typing
was quite remarkable. (I have since lost my edge, as I now only type
at about 85 WPM).

This approach to learning seems very similar to what modern psychology
has identified as the way in which people become experts: Deliberate
Practice [1]. The idea is that expertise is not accidental and comes
through a designed learning process [2]. Some of the important
elements include:

1. Identifying specific elements that need to be improved and then
working intently on them.
2. A great deal of repetition.
3. Feedback.

I am fairly new to Vim and am interested in taking a disciplined
approach to learning how to navigate and modify code using its
powerful stateful approach to text editing. In particular, I want to
eventually learn how to refactor code without thinking too much about
what keys I'm pressing.

Are there any "Mavis Beacon Teaches Vim" type programs or plugins out
there that would help me accomplish this?

Thank you,
Duane Johnson

[1] (PDF) http://projects.ict.usc.edu/itw/gel/EricssonDeliberatePracticePR93.pdf
[2] http://www.openeducation.net/2008/11/02/deliberate-practice-%E2%80%93-where-self-reflection-work-ethic-and-ambition-meet/

Tony Mechelynck

unread,
Apr 8, 2010, 12:41:54 AM4/8/10
to vim...@googlegroups.com, Duane Johnson

Well, my take on this question is that the one and only skill that needs
to be mastered letter-perfect by every person who wants to become really
efficient _by means of_ Vim is to learn how to use the help, including
helptag completion, the various ways to call it (Ctrl-D for "list all
matches" and I recommend also 'wildmenu'), and the :helpgrep command.

See:
:help
:help :help
:help {subject}
:help :helpgrep
(and, for :helpgrep, the following come handy:
:map <F2> :cnext<CR>
:map <S-F2> :cprev<CR>
:map <F3> :cnfile<CR>
:map <S-F3> :cpfile<CR>
:map <F4> :clast<CR>
:map <S-F4> :cfirst<CR>
-- look them up.)
:help index
:help doc-file-list
:help 'wildmode'
:help 'wildmenu'
:help 'wildoptions'
:help cmdline-completion

An accessory task, which I wouldn't call a skill, is to read every post
on one or more of the Vim lists: vim_use in all cases, vim_multibyte if
you're interested in Unicode and/or non-Latin scripts, vim_mac if you're
on a Mac computer, vim_dev if you're interested in compiling your own
Vim, and/or in tracking and/or fixing bugs in Vim, and/or in developing
new features. You don't need vim_announce if you get one (or more) of
the others. It's by reading these lists that I learnt most of what I
know about Vim; but using the help comes first.

Everything else you can learn when and if needed, and you can't know in
advance how often (if at all) you'll need it. What you need most often
you'll learn by doing anyway, no need to deliberate-practice it.

If you want to become an expert _about_ Vim, i.e. know all its ins and
outs perfectly on the tips of your fingers, then you came too late: for
that skill, you would have had to be borne Bram Moolenaar. ;-)


Best regards,
Tony.
--
Ask Not for whom the Bell Tolls, and You will Pay only the
Station-to-Station rate.

John Little

unread,
Apr 8, 2010, 6:49:06 AM4/8/10
to vim_use

On Apr 8, 2:44 pm, Duane Johnson <duane.john...@gmail.com> wrote:

> When I learned to touch type in high school...
> ...practice those ones over and over again...

I think you're swimming against the strengths of vim. In vim if you
find yourself doing something over and over again you stop and find a
better way, at the least record a macro.

Regards, John

Duane Johnson

unread,
Apr 8, 2010, 8:14:17 AM4/8/10
to vim_use
Thanks for your insights, Tony. I think these will be particularly
useful to an intermediate Vim user, although diving in to these
resources as a beginner certainly won't hurt.

I think what I'm looking for is something like vimtutor, but just
slanted a little more toward developing muscle-memory. I want a solid
base of knowing that "w" goes to the next word, and that "h" means
left and "l" means right, for example. I know this sort of thing is
probably ridiculously easy for you, but that's where I'm at.

Thanks,
Duane

On Apr 7, 11:41 pm, Tony Mechelynck <antoine.mechely...@gmail.com>
wrote:

> > [2]http://www.openeducation.net/2008/11/02/deliberate-practice-%E2%80%93...

Tony Mechelynck

unread,
Apr 8, 2010, 10:28:22 AM4/8/10
to vim...@googlegroups.com, John Little, Duane Johnson

Yeah, thinking about it, it looks like we're once more against the
conservative <=> progressive theories of learning (Reminds me of a
recent comment I gave on one of Paul Krugman's NYT blog articles).

A conservative learns by rote the same skills and the same prayers which
his great-great-great-grandfather used before him -- I'm just
caricaturing a tiny wee bit ;-) : Learn How Not To Think And You Will Be
A Good Conservative: Curiosity Is Original Sin, And Whoever Is Not With
Us And Of Us, Is Against Us.

A progressist (the conservatives, or at least the Usonian ones, will
say: "a g**damn Commie socialist liberal", which is also a caricature
and worse: a clich�, and false to boot; in other countries conservatives
use other clich�s, different in form but similar in intent) learns how
to learn: he has an encyclopaedia and uses it, or maybe he has several,
for he doesn't trust one encyclopaedia to the exclusion of all other
sources of knowledge; he experiments and learns by trial and error; he
reasons about what he's doing; and when undertaking a new task, he
starts by reasoning about what he's going to do. And he's not afraid to
find out about new things, quite the contrary.

Vim is not a tool for the conservative: in Vim (unlike in, er, no, not
Emacs which I used just the five minutes sufficient to see that I would
never be able to learn it, but Notepad, which I can still use if I have
to, e.g. if I'm helping a friend on a computer without a sensible OS --
not an OS made by Torvalds et al., I mean, not even by S. Jobs but
-argh- by Gates's minions -- and where I can't install software)... in
Vim, I was saying, you can't learn everything in any short-enough length
of time. You learn the basic skills in a few hours or a few days (by
running the vimtutor and/or the gvimtutor), you learn how to learn (the
help), and the rest comes to you as needed, little by little, over the
course of a lifetime.

In Vim, for most tasks, there is no "one single way to do them right",
but many; and in the time I've been following this here mailing list,
I've been astonished more than once by the number of different ways to
"do the thing right" that people can come up with (together with, let us
be honest, a goodly number of ways to do it wrong too, but experiment
will always show what works and what doesn't).

In Vim, when starting to do something new, the question is: Now how
shall I dissect that task into elements which I know how to do? and if I
don't know them all, let's find out how to do what I don't yet know how
to. That's why Vim's help is essential: Notepad hardly has any help
worth mentioning, but remove the help and 99% of a user's capabilities
are still there. In Vim, remove the help and I can still use maybe the
25% that I can do without looking them up, but if I can't check the fine
points on the 50% that I know maybe halfway, and find out about the 25%
that I don't know at all, I'm lost. (Socrates: The more I learn, and the
more I see how ignorant I am. Using Vim is like being one of Socrates's
pupils: I've been using it for several years and I still discover new
abilities every day. Yesterday it was the :ilist command, which I didn't
know existed.)


Best regards,
Tony.
--
"One thing they don't tell you about doing experimental physics is that
sometimes you must work under adverse conditions ... like a state of
sheer terror."
-- W. K. Hartmann

bill lam

unread,
Apr 8, 2010, 10:38:16 AM4/8/10
to vim_use
ĵaŭ, 08 Apr 2010, Duane Johnson skribis:

> Thanks for your insights, Tony. I think these will be particularly
> useful to an intermediate Vim user, although diving in to these
> resources as a beginner certainly won't hurt.
>
> I think what I'm looking for is something like vimtutor, but just
> slanted a little more toward developing muscle-memory. I want a solid
> base of knowing that "w" goes to the next word, and that "h" means
> left and "l" means right, for example. I know this sort of thing is
> probably ridiculously easy for you, but that's where I'm at.
>
> Thanks,
> Duane
>
> On Apr 7, 11:41 pm, Tony Mechelynck <antoine.mechely...@gmail.com>
> wrote:
> [---=| TOFU protection by t-prot: 91 lines snipped |=---]

From my own experience, the most effective way is just make vim the
default text editor. I also printed a cheatsheet on paper and carried
it with me while travelling in metro or sitting on toilet.

PS. the norm of this mailing list is "BOTTOM POST".

--
regards,
====================================================
GPG key 1024D/4434BAB3 2008-08-24
gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3

Dan Wierenga

unread,
Apr 8, 2010, 1:02:18 PM4/8/10
to vim...@googlegroups.com
Hi Duane!


On Thu, Apr 8, 2010 at 5:14 AM, Duane Johnson <duane....@gmail.com> wrote:
I think what I'm looking for is something like vimtutor, but just
slanted a little more toward developing muscle-memory.  I want a solid
base of knowing that "w" goes to the next word, and that "h" means
left and "l" means right, for example.  I know this sort of thing is
probably ridiculously easy for you, but that's where I'm at.

Start small!  That's what I did.

Trying to learn all of the features of Vim at once is asking for brain meltdown.  Get used to a few key features at first, then  make a concerted effort to learn a few more, at individual steps.  I googled around for "vim tutorials" and picked a group of features to learn as my next step.  People think different features are "the killer feature" so grab a bunch of opinions and find something that intrigues you.

Here's what I did:
1) Learn to use h, j, k, l.   Put those arrow keys down and leave 'em down.  Every time I used the arrow keys, I forced myself to :qa! out of Vim (that's "quit all without saving", i.e. start over!).  I got used to h,j,k,l pretty fast.
2) Move on to w,b.  Use 'em, love 'em.
3) Move on to something else.  For me that was using D, I, and A.  Your mileage and interest may vary.
4) Next up for me was using windows.  It's often too easy to open up another instance of Vim but don't be tempted!  Don't reach for that mouse or the Start menu, :sp is a loyal and true friend and he doesn't like to be ignored!  

I think the bottom line is that there are so many features of Vim that trying to learn things "just to learn them" is pointless.  Use the ones that you'll USE to actually improve your editing experience.  I know plenty of people love registers and tags and quickfixes etc., and I've messed around with them a bit, but for me they haven't really captured my interest. 

And I second following the mailing list.  Lots of good tips and tricks, and a great way to "learn by osmosis".

-Dan

Tony Mechelynck

unread,
Apr 8, 2010, 6:01:00 PM4/8/10
to vim...@googlegroups.com, Duane Johnson
On 08/04/10 14:14, Duane Johnson wrote:
> Thanks for your insights, Tony. I think these will be particularly
> useful to an intermediate Vim user, although diving in to these
> resources as a beginner certainly won't hurt.
>
> I think what I'm looking for is something like vimtutor, but just
> slanted a little more toward developing muscle-memory. I want a solid
> base of knowing that "w" goes to the next word, and that "h" means
> left and "l" means right, for example. I know this sort of thing is
> probably ridiculously easy for you, but that's where I'm at.
>
> Thanks,
> Duane

Well, maybe I'll surprise you, and I've got my share of flames for
saying this but I'll keep saying it again and again: Vim supports the
cursor movement keys and the mouse, we may use them. The way I see it,
it is no more Vim-like to insist on keeping one's hands manacled on (on
my fr_BE AZERTY keyboard) the QSDFghJKLM keys (with the ones I typed in
lowercase between both index fingers), than it is Chopin-like,
Mozart-like or Bach-like to insist on keeping one's hands manacled next
to each other with middle C on hitting distance from both thumbs -- and,
in the case of Bach, on the Hauptklavier only with exclusion of both
Positiv and Pedal (I know, it's not with his hands that Bach activated
the Pedalklavier). Bach, remember, had a special harpsichord at home,
with several keyboards and even a foot-keyboard, so that he could
practice organ pieces at home without having to hire helpers to move the
blowers on the church's organ -- electricity didn't exist yet.

To go back to Vim, I've mapped <Up> and <Down> to gk and gj
respectively, so they aren't the same as k and j anymore, and for
lateral movement I don't hesitate to move my hand "to the higher octave"
to hit <Left> and <Right> -- and I also use <PageUp> and <PageDown>. And
when moving the cursor to something that's a weild number of lines and
columns from where it is now, maybe to correct a typo that I made three
paragraphs back and only see now, I get there much faster by clicking
the mouse, or even moving then dragging to create a Select-mode
highlight, than I would by painstakingly repeating hjkl. Similarly, I
may or may not remember that b goes to begin-of-word and e goes to
end-of-word (apparently, I do), but Ctrl-Left and Ctrl-Right work in Vim
just like they used to in Notepad to move by words (which is in praise
of Vim, not of Notepad -- and Ctrl-Right is not the same as e). The
virtuoso pianist does not hesitate to move his (or her) hands from one
octave to the next and the next, I'll keep saying that the virtuoso
Vimmer -- and even the beginner -- must not hesitate to move his (or
her) hands -- and especially the right hand -- between the main
keyboard, the movement keys, the numeric keypad and the mouse. Don't
cripple yourself, you'll never win the Queen Elizabeth competition if
you do.

As for h meaning left and l meaning right, it helps that h is to the
left and l to the right of the right hand's home position on AZERTY,
QWERTY and QWERTZ keyboards -- but maybe yours is a Dvorak? Similarly,
the trick for j and k is that j has a tail going down and k has one
going up. Childish, maybe, but just as useful as remembering the KNAP
interjection (for Kathode Negative, Anode Positive) in high-school
chemistry -- and yes, the proper English or French spelling of cathode
is with a C but this trick is about connecting electrodes, not about
spelling.

Don't downplay the vimtutor: that's where I learnt all those keys you
have trouble remembering. If you can't remember them at one sitting,
then run the tutor again -- or alternate the vimtutor with the
gvimtutor. Same melody, different instrument.


Best regards,
Tony.
--
Get Revenge! Live long enough to be a problem for your children!

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Subscription settings: http://groups.google.com/group/vim_use/subscribe?hl=en

Tony Mechelynck

unread,
Apr 8, 2010, 6:04:49 PM4/8/10
to vim...@googlegroups.com, John Little, Duane Johnson
On 08/04/10 16:28, Tony Mechelynck wrote:
[...]

And sorry about the double post: SMTP is giving me trouble recently.

Best regards,
Tony.
--
CONCORDE: Message for you, sir.
He falls forward revealing the arrow with the note.
"Monty Python and the Holy Grail" PYTHON (MONTY)
PICTURES LTD

AK

unread,
Apr 8, 2010, 8:43:05 PM4/8/10
to vim...@googlegroups.com
I just want to add that in my view, the best way to practice with Vim
interface is to open a file with code you're currently working on and do
all the same tasks as you would normally do as you work.. with one tiny
difference: instead of focusing on your task, focus on vim operations
you're using, pause for a second and think which commands you could have
used, what's the most efficient / easy way to do something, and so on.
That way you're still getting some work done and you're practicing the
commands that are most common and useful in your work. -ak

Tim Chase

unread,
Apr 8, 2010, 9:05:58 PM4/8/10
to vim...@googlegroups.com
AK wrote:
> and do all the same tasks as you would normally do as you work.. with
> one tiny difference: instead of focusing on your task, focus on vim
> operations you're using, pause for a second and think which commands
> you could have used, what's the most efficient / easy way to do
> something, and so on.

In a similar twist, I got into the habit of scrutinizing every editing
action under the assumption "the authors of vim are too smart/lazy to
allow this to be so hard/annoying" -- then go to the help and see if
something better exists. If I can't dig something up, I'll ask on the
list with details of what I've already tried.

E.g. in other editors, I'd have to hold down left/right arrows or use
control+left/right to jump a word at a time. This always bugged me.
However vim lets me use f/F/t/T motions to more precisely land where I
want to be. Same with text-objects -- in other editors I had no easy
way to specify that I wanted to perform an action on a text-object
(whether a paragraph, a block of code, the contents of
parens/brackets/braces/quotes, etc), so I'd have to move the cursor to
the start, hold down shift and move the cursor to the end. In vim, I
can just do things like

>ip

to shift the current paragraph right by one indent-level or

ci"

to change the contents of the string I'm in, regardless of where my
cursor is inside that string. (the quotation-text-object is a personal
favorite, added at my request and I use it ALL THE TIME...thanks,
implementor!)

Once you start looking for the rough edges in your editing experience,
and take the time to look for a more "vim" way of doing things, you'll
find yourself implementing those changes in your editing habits pretty
quickly.

-tim


Robert H

unread,
Apr 8, 2010, 9:31:03 PM4/8/10
to vim...@googlegroups.com
On 4/8/10 8:14 AM, Duane Johnson wrote:
> Thanks for your insights, Tony. I think these will be particularly
> useful to an intermediate Vim user, although diving in to these
> resources as a beginner certainly won't hurt.
>
> I think what I'm looking for is something like vimtutor, but just
> slanted a little more toward developing muscle-memory. I want a solid
> base of knowing that "w" goes to the next word, and that "h" means
> left and "l" means right, for example. I know this sort of thing is
> probably ridiculously easy for you, but that's where I'm at.
>

You should remap the arrow keys to "nothing" or something else besides
direction. Force yourself to use h,j,k,l...that is the way to build
muscle memory. PRACTICE PRACTICE PRACTICE

Bob

John Little

unread,
Apr 8, 2010, 11:29:20 PM4/8/10
to vim_use
> On 08/04/10 12:49, John Little wrote:
> > I think you're swimming against the strengths of vim.  In vim if you
> > find yourself doing something over and over again you stop and find a
> > better way, at the least record a macro.

and Tony replied:

> Yeah, thinking about it, it looks like we're once more against the

> conservative <=> progressive theories of learning....

(I often find your lengthy missives very interesting, Tony, I much
appreciate them.)
Yes, I know what you're on about, but I'm reluctant to accept such a
polar world. Personally I'm quite progressive on your spectrum but
quite conservative in many ways, being a practising Catholic, and a
family man.

> Vim is not a tool for the conservative...

I quite disagree; vim is for everyone, by which I mean it can be used
effectively by almost anyone. Over the years I've worked with many
colleagues whose use of vi or vim has been limited to a few basic
commands, people I'd describe as conservative learners in your
scheme. After a month or two of sometimes intense dislike they've all
come to love it; they all discover the dot key and suss the operator-
motion idea.

However, I agree that the conservative learning style severely
handicaps a vim user. My head shakes at some of the cases I
remember. (One lady used vi across a dodgy ethernet connection
for over a decade... then, in an attempt to evangelize vim, I told
her about vi -r. Hundreds of lost updates appeared.)

regards, John

Charlie Kester

unread,
Apr 9, 2010, 12:38:01 AM4/9/10
to vim...@googlegroups.com
On Thu 08 Apr 2010 at 07:28:22 PDT Tony Mechelynck wrote:
>
>Yeah, thinking about it, it looks like we're once more against the
>conservative <=> progressive theories of learning (Reminds me of a
>recent comment I gave on one of Paul Krugman's NYT blog articles).

Tony, I found your pejorative use of word "conservative" quite
offensive.

I could just as well argue that vim, having the roots it does in Bill
Joy's now ancient vi editor, represents a very traditional way of using
computers. And like most conservatives, I think traditional ways are
often best.

The postmodern, "progressive" computer user is probably using some
dumbed-down, web-based monstrosity hosted on Google. But even if he's
using something installed on his own machine, he certainly won't be
using anything as keyboard-driven or with as powerful a command language
as vim. He does all his work with pulldown menus, toolbar buttons,
drag-and-drop, etc. (How much editing power do you need to Twitter or
update your Facebook wall anyway?)

Maybe we should leave politics out of this mailinglist, eh?

John Little

unread,
Apr 9, 2010, 7:12:10 PM4/9/10
to vim_use

> On Thu 08 Apr 2010 at 07:28:22 PDT Tony Mechelynck wrote:
>
> >Yeah, thinking about it, it looks like we're once more against the
> >conservative <=> progressive theories of learning (Reminds me of a
> >recent comment I gave on one of Paul Krugman's NYT blog articles).

and Charlie Kester replied:

> Tony, I found your pejorative use of word "conservative" quite
> offensive.

...


> Maybe we should leave politics out of this mailinglist, eh?

"conservative learning theory" does not have much to do with
"conservative politics". Just because a plain English word is used in
a political context should not forbid us from using in other contexts,
IMO.

Regards, John

Charlie Kester

unread,
Apr 9, 2010, 7:16:26 PM4/9/10
to vim_use

Tony's mail definitely introduced some political overtones, imo.

But my reply was somewhat tongue-in-cheek. Sorry I didn't make that
clearer. ;-)

Stahlman Family

unread,
Apr 9, 2010, 8:41:21 PM4/9/10
to vim...@googlegroups.com

Tony Mechelynck wrote:
> On 08/04/10 12:49, John Little wrote:
>>
>>
>> On Apr 8, 2:44 pm, Duane Johnson<duane.john...@gmail.com> wrote:
>>
>>> When I learned to touch type in high school...
>>> ...practice those ones over and over again...
>>
>> I think you're swimming against the strengths of vim. In vim if you
>> find yourself doing something over and over again you stop and find a
>> better way, at the least record a macro.
>>
>> Regards, John
>>
>
> Yeah, thinking about it, it looks like we're once more against the
> conservative <=> progressive theories of learning (Reminds me of a
> recent comment I gave on one of Paul Krugman's NYT blog articles).
>
> A conservative learns by rote the same skills and the same prayers which
> his great-great-great-grandfather used before him -- I'm just
> caricaturing a tiny wee bit ;-)

More than a wee bit, I would say ;-)

: Learn How Not To Think And You Will Be
> A Good Conservative: Curiosity Is Original Sin, And Whoever Is Not With
> Us And Of Us, Is Against Us.

Given the progressive's penchant for dismissing opposing viewpoints as
the result of ignorance and inability to reason, I find it ironic that
we conservatives are the ones so often accused of intolerance... ;-)

Sincerely,
Brett Stahlman

...[snip]...

>
> Best regards,
> Tony.

Pedro Henrique Linhares

unread,
Apr 9, 2010, 8:58:08 PM4/9/10
to vim...@googlegroups.com


On Thu, Apr 8, 2010 at 7:49 AM, John Little <john.b...@gmail.com> wrote:

I think you're swimming against the strengths of vim.  In vim if you
find yourself doing something over and over again you stop and find a
better way, at the least record a macro.


That's it, I totally agree!

--
Att,

Pedro Henrique Linhares.
Blog:http://pedrolinhares.wordpress.com/
Linux Registered User #508377

May the force be with you.
Star Wars




Charlie Kester

unread,
Apr 9, 2010, 9:27:34 PM4/9/10
to vim...@googlegroups.com
On Fri 09 Apr 2010 at 17:58:08 PDT Pedro Henrique Linhares wrote:
> On Thu, Apr 8, 2010 at 7:49 AM, John Little <[1]john.b...@gmail.com>

> wrote:
>
> I think you're swimming against the strengths of vim. In vim if you
> find yourself doing something over and over again you stop and find a
> better way, at the least record a macro.
>
> That's it, I totally agree!

The virtue of this approach is that you never fill your head with things
you never use. We each have a version of vim in our heads, customized
to our own particular needs.

Most of what goes by on this mailinglist, for example, gets tossed away
by my mental filter. But once a month or so, someone points out
something that speaks to my previously unrealized concerns. :)

Duane Johnson

unread,
Apr 24, 2010, 5:33:17 PM4/24/10
to vim_use


On Apr 7, 9:44 pm, Duane Johnson <duane.john...@gmail.com> wrote:
> Hi All,
>
> When I learned to touch type in high school, we used an application
> similar to "Mavis Beacon Teaches Typing" that drilled character
> sequences into my muscle memory.  I think there was a real advantage
> to this approach over simply stumbling through the process of learning
> to type.

Thanks for all of the responses, and thanks especially for the several
of which were helpful and related to my original question :)

I've had a good couple of weeks to try things out since my original
posting, and I thought I would just amend my original post with a
solution that I've found to be helpful, something I call "Unit Testing
the Brain" [1]: basically, I've created a text file where I put
structured questions that help me practice new techniques as I
encounter them in my day-to-day work. Having this text file keeps all
of my "tricks" together so that I can practice them on a daily basis.

Regards,
Duane Johnson

[1] http://blog.inquirylabs.com/2010/04/24/unit-test-your-brain/
Reply all
Reply to author
Forward
0 new messages