sponsor Vim development Vim logo Vim Book Ad

UltraBlog : Ultimate Vim blogging plugin

 script karma  Rating 30/11, Downloaded by 5686  Comments, bugs, improvements  Vim wiki

created by
lenin lee
script type
UltraBlog.vim is yet another Vim blogging script for Wordpress.

The biggest difference between UB and other similar scripts is that UB is an ultimate client, which stores posts locally in an SQLite database, while others just operate remotely. In this way, many things can be done easily by the advantage of local storage and many other utilities, for example, you can search for posts stored in the database with a few keywords by typing a simple command, also you can preview drafts with any of your favorite templates as soon as you want to.

For those who just needs a lightweight blog editor similar as other Vim blogging scripts, UB also comes with an Editor Mode, which doesn't create a database and store data in it.

In addition, UB is tending to make life easier for writing posts with many kinds of lightweight markup languages, currently the following kinds are supported: Markdown, reStructuredText, LaTeX, Textile and of cause HTML.

Enjoy Vim blogging !

Refer to the plugin's page for detail information:


For the usage of templates, go to:



    * Multiple syntax support: Markdown, HTML, reStructuredText, LaTeX, Textile.
    * Editor mode and client mode.
    * Data is stored in a local SQLite database in client mode.
    * Full-text search with keywords highlighted.
    * Full-text search by using regular expressions.
    * Full-text substitutions.
    * Full-text substitutions using regular expressions.
    * Templates for previewing posts.
    * Built-in web browser, much faster to preview items.
    * Event-driven system.
    * I18N.


    * :UBNew [item [syntax/template_name]]
    * :UBPreview [status/template name]
    * :UBSave
    * :UBSend [status]
    * :UBList [item [scope [page_size [page_no]]]]
    * :UBOpen {item} {post_id/template_name} [scope]
    * :UBDel {item} {post_id/template_name} [scope]
    * :UBUpload {file_path}
    * :UBThis [item [to_syntax [from_syntax]]]
    * :UBConv {to_syntax} [from_syntax]
    * :UBRefresh
    * :UBFind keyword1 [keyword2 ...]
    * :UBRegexSearch regexp1 [regexp2 ...]
    * :UBReplace needle replacement
    * :UBRegexReplace regexp replacement
    * :UBEnableDebug
    * :UBDisableDebug
    * :UBToggleDebug
install details
1. Make sure your Vim has support for Python.
2. Install sqlalchemy, pandoc, python-markdown or python-markdown2 for python
3. Add the following configurations to your vimrc:

let ub_blog = {'login_name':'admin',

rate this script Life Changing Helpful Unfulfilling 
script versions (upload new version)

Click on the package to download.

package script version date Vim version user release notes
UltraBlog.zip 3.6.1 2014-04-20 7.0 lenin lee * Feature: Add an option 'categories' in the initial settings, categories will be fetched from the blog if this option is not set. Users can auto-complete categories using <C-X><C-U>.
UltraBlog.zip 3.6.0 2012-08-20 7.0 lenin lee * Feature: Add new options |ub_viewer_width| and |ub_viewer_width|, which define the default width and height of the built-in web browser.
* Change:  The default width of the built-in web browser is now changed to 900px.
* Bugfix:  Fix the overwriting to auto commands created by other plugins.
UltraBlog.zip 3.5.0 2012-04-30 7.0 lenin lee Feature: Add a tiny web browser to do previewing, which starts much faster than full-functional browsers like firefox and chromium. The later ones are still supported. The matter that whether or not to use the new previewer is controlled by a new option ub_use_ubviewer.
Bugfix: Issue 7: Keywords highlighting is disabled in item lists, even if searches are made manually.
UltraBlog.zip 3.4.0 2012-04-29 7.0 lenin lee Feature: Add the command :UBRegexSearch, doing full-text searches with regular expressions !
Feature: Add the command :UBReplace, doing full-text substitutions.
Feature: Add the command :UBRegexReplace, doing full-text substitutions with regular expressions.
Feature: Add commands :UBEnableDebug, :UBDisableDebug, :UBToggleDebug and an option ub_debug. In debug mode, SQL statements and stack traces of exceptions will be displayed.
Change: Undo keywords highlighting after executing :UBList.
Bugfix: Exceptions raised when opening the current item under cursor in item lists if the option ub_hotkey_save_current_item has not been set. Now this options comes with a default value.
UltraBlog.zip 3.3.0 2012-04-15 7.0 lenin lee Notice:  This plugin is now published as a zip package, for vimball cannot handling binary files.
Feature: Add i18n support !
Feature: Add a new option ub_hotkey_save_current_item, users can define their own hotkey for :UBSave.
Feature: Add a new option ub_socket_timeout, users can customize the timeout period in seconds, useful for slow networks.
Bugfix: Exception raised when one event is processed by more than one event handlers.
Change: Echoing messages now uses the command :echoerr instead of python's sys.stderr, because Vim crashes on this due to an upgrade recently.
Change: Change commands :UBSave, :UBSend, :UBUpload, :UBConv, :UBPreview to be available only in their effective views.
Change: Lists are set nowrapped.
Bugfix: Stop complaining '_pop from empty list_' while doing almost everything.
UltraBlog.vmb 3.2.0 2012-01-05 7.0 lenin lee * :UBConv now depends on the python-html2text module when converts buffers from HTML to Markdown.
* Change the domain name of my site to the new 0x3f.org.
UltraBlog.vmb 3.1.0 2011-11-01 7.0 lenin lee * Change:  The key "xmlrpc" of the settings list is dropped, a new one with the name "url" is added, you should set its value to the blog url.
* Change:  Source code refactorings.
* Change:  Solve the crash problem existing in MacVim only.
* Change:  |:UBConv| can be used in any buffer.
* Change:  |:UBThis| now has a third parameter, which enables convertions between syntaxes.
* Bugfix:  The second parameter of |:UBThis| cannot take effect.
UltraBlog.vba 3.0.0 2011-07-24 7.0 lenin lee * Feature: Mostly rewritten for implementing an event-driven system.
* Feature: Context search comes with keywords highlighting. A new command :UBFind and a new option ub_search_pagesize.
* Feature: Refresh every buffer with the new command |:UBRefresh|.
* Bugfix: Some.
UltraBlog.vba 2.3.1 2011-06-15 7.0 lenin lee * Bugfix: Listing remote posts will complain the error: local variable 'page_no' referenced before assignment.
* Bugfix: The editing window will be set as modified after being sent to blog when ub_save_after_sent is 0 and the buffer was in unmodified status.
UltraBlog.vba 2.3.0 2011-06-10 7.0 lenin lee * Feature: Preview posts/pages locally with pre-defined templates, template related operations and management.
* Feature: Preview posts/pages after sending them to the blog.
* Change: Merge :UBPageNew to :UBNew, merge :UBPageOpen to :UBOpen, merge :UBPageList to :UBList, merge :UBPageThis to :UBThis.
* Bugfix: The remote page list will raise an error when openned due to a change made in last version.
* Bugfix: The post/page list will raise an error when an item is deleted in it, caused by a change made in last version.
UltraBlog.vba 2.2.0 2011-05-30 7.0 lenin lee * Change: Merge :UBSave and :UBPageSave to :UBSave, merge :UBSend and :UBPageSend to :UBSend.
* Feature: Add an option ub_tmpl_img_url to customize a link template string for the image uploaded by :UBUpload.
UltraBlog.vba 2.1.0 2011-05-28 7.0 lenin lee * Change: Increase the requirement to SQLAlchemy to version 0.7 or newer.
* Feature: Now posts/pages can be opened in a new tab or splitted window.
* Feature: Add options to let users customize hotkeys:
    * ub_hotkey_open_item_in_current_view
    * ub_hotkey_open_item_in_splitted_view
    * ub_hotkey_open_item_in_tabbed_view
    * ub_hotkey_delete_item
UltraBlog.vba 2.0.1 2011-05-12 7.0 lenin lee * Bugfix:  Uploading media files may fail on Windows.
* Bugfix:  An exception may be raised when Vim starts with no proper configuration for UltraBlog.vim or some prerequisites are not met.
UltraBlog.vba 2.0 2011-04-16 7.0 lenin lee   * Feature: Add editor mode.
  * Feature: Add more syntaxes: LaTeX, reStructuredText and Textile.
  * Feature: Add command *:UBConv* to convert a post/page from one syntax to another.
  * Feature: Add options *ub_converter_command*, *ub_converter_options*, *ub_converter_option_from*, *ub_converter_option_to* to specify a custom extenal command in place of pandoc as the converter.
  * Feature: Add option *ub_save_after_opened* to control whether to save posts/pages to database right after they are fetched from blogs.
  * Feature: Add option *ub_save_after_sent* to control whether to save posts/pages to database right after they are sent to blogs.
UltraBlog.vba 1.4 2011-04-12 7.0 lenin lee Feature: Add commands :UBThis and :UBPageThis to create a new post or page with content in the current buffer.
UltraBlog.vba 1.3 2011-04-09 7.0 lenin lee * Feature: Record post statuses, post them in their recorded statuses when omit parameters for :UBSend and :UBPageSend.
* Feature: Display post/page status in post/page list, add an option ub_list_col3_width to set its width.
* Feature: Extend statuses to support private, pending and draft.
* Feature: Change the status 'public' to 'publish'.
* Feature: Check prerequesites in every top level functions.
* Bugfix: Do not raise an error on startup when sqlalchemy is not installed.
UltraBlog.vba 1.2 2011-04-07 7.0 lenin lee * Feature: Column widths can be set to custom values, which keep post or page lists tidy. Two options added: ub_list_col1_width and ub_list_col2_width.
UltraBlog.vba 1.1 2011-04-05 7.0 lenin lee * Feature: Page management.
* Feature: Add option ub_append_promotion_link to control whether to append a promotion link of UltraBlog.vim.
* Bugfix: Wrong order for parameters of commands :UBOpen and :UBDel in documentation.
UltraBlog.vba 1.0.5 2011-04-04 7.0 lenin lee * Feature: Add documentation.
* Feature: Use Vimball as the default distribution format.
* Feature: Add two options - |ub_local_pagesize| and |ub_remote_pagesize|.
UltraBlog.vim 1.0.4 2011-04-03 7.0 lenin lee * Fix the problem that an unexpected type exception is raised when UBList is given some numbers as parameters.
UltraBlog.vim 1.0.3 2011-04-02 7.0 lenin lee * Add a column in remote post list the same as the one in local post list, which is used to display ids of local copies of corresponding posts.
* Fix the problem that buffers can be reverted to what the previous views contain throught the undo action.
* Fix the minor problem that text won't wrap automatically in views opened by the command :UBNew.
UltraBlog.vim 1.0.2 2011-04-02 7.0 lenin lee * Fix the problem that Post.post_id won't be updated in database after a new post is sent to blog.
* Fix the problem that it prompts for confirmation to delete the remote copy when deleting a post whose post_id is 0 from local post list.
UltraBlog.vim 1.0.1 2011-04-01 7.0 lenin lee Do not pop up an exception alert for the first time when Vim starts with UltraBlog.vim installed and no configurations added to the vimrc file.
UltraBlog.vim 1.0 2011-04-01 7.0 lenin lee Initial upload
ip used for rating:

If you have questions or remarks about this site, visit the vimonline development pages. Please use this site responsibly.
Questions about Vim should go to the maillist. Help Bram help Uganda.
Vim at Github