Vim as Thunderbird’s External Editor in Linux
Vim is an excellent editor which I use every day. Thunderbird is a nice email application. However, Thunderbird’s integrated editor is not efficient enough to a Vim user. Why not use Vim as Thunderbird’s editor? In this tutorial, we will introduce how to integrate Vim with Thunderbird together in Linux.
Install the “External Editor” Thunderbird extensionDownload the “External Editor” plugin.
And install it to Thunderbird.
Configure the external editor
Option 1: use gvimThis is an easy method which use gvim.
In External Editor’s Preference, set the Text Editor to:
Option 2: use vim in gnome-terminalIf you prefer to use vim in a terminal as me, you may consider this option. Setting vim in the editor will simply fail. We may use ‘xterm -e vim’ as the editor, but xterm looks ugly in a modern computer compared to shells like gnome-terminal. However, we need a little trick to use vim inside gnome-terminal.
First, create a script “callvim”:
gnome-terminal --geometry=80x40 --disable-factory -e "vim $*" Save it to a directory in your $PATH, such as ~/bin/, and remember to give it executable by ‘chmod +x callvim’.
Then, set the Text Editor in External Editor’s Preference to
How to use itWhen creating or editing email, invoke vim to edit it by the keyboard shortcut Ctrl+E.
Edit the email in Vim and save and exit. The email in Thunderbird’s editor is changed.
Customize Vim for editing emailWe can customize Vim to be a better email editor by set email-specific configuration in ~/.vimrc. Below is my configuration in .vimrc which set the text width to 68 charactors, set automatic spell check, default file encoding to be iso8859-1 and utf-8. Abbreviation is also available, which may be frequently used in writing email.
My email configuration in ~/.vimrc
au FileType mail call FT_mail()
function FT_mail() set nocindent set noautoindent set textwidth=68 " reformat for 72 char lines " normal gggqGgg " settings setlocal spell spelllang=en " setlocal fileencoding=iso8859-1,utf-8 set fileencodings=iso8859-1,utf-8 " abbreviations iabbr gd Good Day! endfunction