Edit MediaWiki articles from the comfort of Vim, your favorite text editor!
vim-mediawiki-editor requires Vim compiled with python support and the python mwclient
library.
You likely have Python support, but you can check with vim --version | grep +python
. MacVim comes with Python support.
If you get an error, try pip install mwclient
to get the library.
Once you have these, use your favorite Vim plugin manager to install aquach/vim-mediawiki-editor
, or copy plugin
and doc
into your .vim
folder.
I recommend pairing this plugin with mediawiki.vim for syntax highlighting and with goyo.vim for WriteRoom-esque editing.
vim-mediawiki-editor offers these commands:
Loads the given article into the current buffer.
:MWRead Radish
Writes the buffer back to the site. If you don't specify an article name, it defaults to the article you currently have open with :MWRead
. After prompting you for the edit summary and major/minor edit, it will publish your work back to the site.
Diffs the current buffer against the hosted version of the article specified on the site. If you don't specify an article name, it defaults to the article you currently have open with :MWRead
.
Views the article specified in your configured browser. If you don't specify an article name, it defaults to the article you currently have open with :MWRead
.
If you don't specify these settings, vim-mediawiki-editor will prompt you when you first run a vim-mediawiki-editor command.
The URL of the site you're editing. For the English wikipedia, that'd be en.wikipedia.org
.
The MediaWiki script path.
For the wikipedias and other WMF wikis, this is /w/
, but for other wikis it can be /
, /wiki/
,
or some other value.
The domain name for authentication. Used by some auth extensions. This is optional, so it won't be prompted for by Vim. You need to put it in your .vimrc
if you want to use it.
Your account username.
Your account password. I recommend putting the URL and username in your .vimrc
and letting Vim ask for your password.
Set this to on
to enable HTTP Basic Authentication.
The HTTP Basic Auth Username. Will be prompted if not provided and basic g:mediawiki_basicauth_enabled
is on.
The HTTP Basic Auth Password. Will be prompted if not provided and basic g:mediawiki_basicauth_enabled
is on.
The protocol to use to communicate with the site. Must be either http
or https
. Defaults to https
.
See the current integration test for mwclient
in the tests
directory. It tests for Python 2 and 3 compatibility as well as across versions of mwclient
.
This plugin is currently quite simple. Contributions, suggestions, and feedback are all welcomed!