CheckAttach.vim : Check for attachments when writing mails with mutt
| script karma
Downloaded by 2084
Comments, bugs, improvements
script versions (upload new version)
|If you like the plugin, please rate it!
You can now follow the plugin at github: http://github.com/chrisbra/CheckAttach
When using mutt as your mail user agent, you can specify which files to attach
using the pseudo header :Attach. This only works when edit_headers is set in
your .muttrc configuration file. See the mutt manual for further information
about that topic.
A simple version of this plugin has been posted to the mutt-users list (see
after using it for some time, I decided to make a plugin out of it.
This plugin checks, whether certain keywords exist in your mail, and if found,
you'll be asked to attach the files. This is done to prevent that you sent
mails in which you announce to attach some files but actually forget to attach
the files so that your have to write a second mail which often is quite
Therefore this plugin checks for the presence of keywords which indicate that
an attachment should be attached. If if finds these keywords, the plugin will
ask you for the files to attach, whenever you save your mail.
This looks like this:
Attach file: (leave empty to abbort):
At that prompt you can specify any file you'd like to attach. It allows
filename completion, so you can use <Tab> to let vim complete file paths.
Additionally you can specify glob patterns and let vim attach all files, that
match the pattern. So if you enter ~/.vim/plugin/*.vim vim would add for each
plugin it finds an Attach-header. If you enter an empty value or "n" (without
the quotes), no file will be attached.
The plugin will by default escape blank space in your filename by using ''.
mutt before version 1.5.20 had a bug, that would not allow you to add files
whose filename contain spaces. If you are using mutt version smaller 1.5.20
this means you would have to rename those files first before attaching them.
(See mutt bug 3179: http://dev.mutt.org/trac/ticket/3179)
You can specify which keywords will be searched by setting the
g:attach_check_keywords variable. By default this variable is specified as:
let g:attach_check_keywords = 'attach,attachment,angehängt,Anhang'
so that it can handle German and English. If you would like to add the keyword
foobar, use this command:
let g:attach_check_keywords .=',foobar'
You can disable the plugin by issuing the command
Enabling the attachment check is then again enabled by issuing
You can also use the ! attribute when saving your buffer to temporarily skip
the check. So if you use :w! the buffer will not be checked for attachments,
only if you use :w it will.
2. CheckAttach History *CheckAttach-history*
0.2: Sept 29, 2009 Added Documentation
0.1: Sept 29, 2009 First working version, using simple commands
|Open CheckAttach.vba in Vim and source the file:
This will install the plugin into your $HOME/.vim/plugin directory and the documentation into your $HOME/.vim/doc directory.
See also the help for installing Vimball-Archives (:h vimball-intro)
Take a look at :h CheckAttach.txt for the documenation
Click on the package to download.
ip used for rating: 18.104.22.168
||- Always use the full path to the attached file. Matters if the working directory of mutt and vim disagree.
- Using :AttachFile with ranger was broken (reported by Ram-Z at https://github.com/chrisbra/CheckAttach/issues/5, thanks!)
||- allow to specify several patterns after |:AttachFile| (issue #4, https://github.com/chrisbra/CheckAttach/issues/4 reported by AguirreIF, thanks!)
||- don't match Attach: header when trying to look for matching attachment keywords
||Fix issue https://github.com/chrisbra/CheckAttach/issues/2 reportedby daaugusto, thanks!
||-allow plugin to use an external file manager
for selecting the files (suggested by mutt-users
-Command definition will be buffer local
-Don't check for matches of the keywords in the
quoted of the message (suggested by Sebastian
-Don't check for matches inside the header (start at
subject line, suggested by Sebastian Tramp,
-Only check as long, as no :Attach header is
available when the g:checkattach_once variable is
set (suggested by Sebastian Tramp, thanks!)
||Update the plugin (include some changes, that got lost with 0.11)
||-Make a filetype plugin out of it, it does not make sense to have it as plugin, since its only use is with mutt (aka ft: mail)
||Spelling fix by Scott Stevenson (Thanks!)
||include new command |:AttachFile| for attaching several files using a glob pattern
||- Make ftplugin instead of plugin (don't trigger check of filetypes)
- clear matchlist on next run
- code cleanup
||0.7: May 05, 2010:
Force checking the filetype
0.6: May 05, 2010:
- Force filetype detection, which did prevent of the plugin to be working correctly
- Created a public github repository at http://github.com/chrisbra/CheckAttach
- Small changes to the documentation
||Search without matching case.
This prevented CheckAttach from working correctly, which made me sent mails without attaching the files. Change default keywords a little bit
||Highlight matching keywords
use g:attach_check_ft to define for which filetypes to enable the plugin
||Fixed Copyright statement,