mail_movement : Movement over email quotes with ]] etc.
| script karma
Downloaded by 496
Comments, bugs, improvements
script versions (upload new version)
This filetype plugin provides movement commands and text objects for email
A quoted email is determined either by:
- lines prefixed with ">" (one, or multiple for nested
- an optional email separator (e.g.
"-----Original Message-----") and the standard "From: <Name>"
mail header, optionally followed by other header lines.
Move around email quotes of either:
- a certain nesting level, as determined by the current
line; if the cursor is not on a quoted line, any
nesting level will be used.
- the range of lines from the "From: <Name>" mail header
up to the line preceding the next email separator or
next mail header.
]] Go to [count] next start of an email quote.
][ Go to [count] next end of an email quote.
[[ Go to [count] previous start of an email quote.
 Go to [count] previous end of an email quote.
Move to nested email quote (i.e. of a higher nesting
level as the current line; if the cursor is not on a
quoted line, any nesting level will be used).
]+ Go to [count] next start of a nested email quote.
[+ Go to [count] previous start of a nested email quote.
aq "a quote" text object, select [count] email quotes, i.e.
- contiguous lines having at least the same as the
current line's nesting level
- one email message including the preceding mail headers
and optional email separator
iq "inner quote" text object, select [count] regions with
- the same nesting level
- the contents of an email message without the preceding
This script is packaged as a vimball. If you have the "gunzip" decompressor
in your PATH, simply edit the *.vmb.gz package in Vim; otherwise, decompress
the archive first, e.g. using WinZip. Inside Vim, install by sourcing the
vimball or via the :UseVimball command.
To uninstall, use the :RmVimball command.
- Requires Vim 7.0 or higher.
- Requires the CountJump plugin (vimscript #3130), version 1.40.
The commands and text objects are only active when 'filetype' is set to "mail".
If you use Vim as an external editor for your browser or email program, you need
to make sure that the filetype is properly detected, or manually set the
filetype every time via
If you want to use this plugin also for other filetypes, e.g. "txt", create a
file ftplugin/txt_movement.vim in your 'runtimepath' (usually ~/.vim) with the
Click on the package to download.
ip used for rating: 126.96.36.199