Cream for Vim 0.38 review

by on

Cream for Vim is a free and easy-to-use configuration of the powerful and famous Vim text editor for both GNU/Linux and Microsoft Win

License: GPL (GNU General Public License)
File size: 0K
Developer: digitect
0 stars award from

Cream for Vim is a free and easy-to-use configuration of the powerful and famous Vim text editor for both GNU/Linux and Microsoft Windows. You can see it in action in screenshots or try it at the installation page.

Cream includes all the features of Vim plus many custom utilities. A short list of features includes syntax highlighting, spell check, multi-file find/replace, bookmarking, function prototype popups, macros, auto-wrapping, reformatting, justification, time/date stamps, file explorer, completion, sorting, calendar, tag navigation, block commenting, Microsoft, Unix and Apple format text editing, virtually unlimited file sizes, 38 varieties of 8-bit, 2-byte, and Unicode support, single/multiple document modes, unlimited undo/redo, show invisible characters, word count, and more.

Here are some key features of "Cream for Vim":
Basic Features

Runs on Windows 95-XP and GNU/Linux platforms supporting GTK+ 1.2-2.6.
Edits Microsoft, Unix and Apple format text documents.
Supports editing files of virtually unlimited document length.
Extensive encoding support for 38 varieties of 8-bit, 2-byte, and Unicode.
Cream is non-modal (unlike Vim) meaning that all editing takes place from a single intuitive insertion mode.
Have multiple documents open at a time (Alt+W, listed in the Window menu)
User-selected font, window size/position and most other settings are retained and restored automatically.
Each edited file retains its last view.
Simple, intuitive keyboard movements through Arrow, Page Up/Down, Home and End keys. Selection is done with these same keys while holding the Shift key.
Standard and intuitive menus. All functionality is available through pull down menus and keyboard shortcuts, as well as Vim's original command line.
Syntax highlighting makes reading code easier. More than 350 languages are supported. Can also be turned off.
Intuitive status line indicates useful information unobtrusively.
Colorful toolbar with beautiful icons based on GNOME 2.
Undo/Redo are unlimited (Ctrl+U and Ctrl+Y).
Word wrap toggle (Ctrl+W).
Automatic text indention as you type. A selection can be manually indented or un-indented with the Tab and Shift+Tab keys.
Show/Hide "invisible" characters like tabs, returns and trailing spaces (F4).
Manage multiple windows with vertical or horizontal tiling.
Recently opened files list (Alt+F, in the File menu)
Quick key to exit. (Ctrl+F4)
Preference option for Unix/X11-style middle mouse button behavior to paste the current selection.
Word count an individual word or the document's total words.
Find and Find/Replace dialogs use intuitive search, with Regular Expressions as an option (Ctrl+F and Ctrl+H).
Find Next/Previous under cursor (F3 and Shift+F3).
Convert existing tabs to spaces of the current tabstop width (Format menu).
Bookmarking with visible margin marks (up to 26 per file) (Alt+F2 and F2).
Spell check with error highlighting matched against multiple language dictionaries, and a user dictionary to add more words with a single click. Multiple dictionaries and dialects can be used at the same time (F7 and Alt+F7).
Go to specific line number or percentage of files (Ctrl+G).
Auto Wrap formatting wraps text to any margin width ("Wrap Width") while you type and automatically converts tab characters to the equivalent number of spaces (Ctrl+E).
Toggle insertion of tab characters or the equivalent number of spaces (Ctrl+T). (Over-ridden by toggling the Auto Wrap feature described above.)
Text justification to left, center, right or full alignment of selected text or current paragraph. (Toolbar or Format menu)
Quick Wrap re-formats existing text to Wrap Width and justification margin with hard returns added at the end of each line (Ctrl+Q). Quick Un-Wrap removes these existing wraps in text (Alt+Q,Q). Both accommodate existing bullets (currently @, o, *, -, +, subject to change) and nested reference marks such as ">" characters in email. Quick Wrap and Un-Wrap work on any selected text or on the current paragraph with nothing selected. (A paragraph is defined by text having two returns at both the beginning and the end.)
Line join re-formats a selection by removing hard returns.
Both Quick and Justification remove repetative whitespace now if activated twice within a second or two. This means that text formerly center or full justified can be compressed back to the left simply by repeating the Quick Wrap keystroke, toolbar justification click or menu selection.
Auto-correct spelling which corrects common spelling errors as you type.
Insert current date/time (F11 x1-4 times depending on the desired format).
Auto Indent toggle.
Capitalization formatting of selection or current word with Title, UPPER, lower and rEVERSE case (F5 and combinations).

Advanced Features

Conversion of and between Unix, Windows and Apple platform format files.
Keyboard mapping choices for one of 39 available settings.
Current line highlighting.
Color themes provide change of scenery during long editing sessions or various lighting conditions.
Word completion (Ctrl+Space, Ctrl+Shift+Space). Match other words in the file you've already typed.
Macro record and playback (Shift+F8, F8). Record many keystrokes and commands and play them back with one keystroke.
Find/Replace in multiple files, through a simple dialog. No external programs required!
Toolbar able to be toggled on or off.
Option to use single or multiple sessions of Vim at a time.
File browser window (Alt+W,E).
Email thread levels are indicated by subtle color fade. Deeper levels (more indentations) have less contrast.
Syntax highlighting of special text file elements such as:
Email signature: separator "-- " on a line by itself and lines following.
Section titles prior to fold markers ("{{{1", etc.).
Time stamp tag and value.
Character lines
Insert special characters from an ASCII dialog. List these characters or insert the table into your document.
Insert characters by decimal value (Alt+, followed by the three-digit value).
Insert character or symbol by digraph, a special two key combination. Easily list your computer's available characters (see the Insert menu).
Column selection mode (Shift+Alt+{motion key}). Select, insertion, delete and backspace in columnar areas, not just in rows.
Character line insertion with any character (Shift+F4).
Character line insertion the width of the line above with any character (Shift+F4 x2).
Insert line numbers for current selection, begin with any value.
Calendar window (Ctrl+F11).
Insert text filler, Lorem ipsum. (Direct Latin quotations from Cicero's 45 B.C. "de Finibus Bonorum et Malorum", used commonly for this purpose since the 1500's.)
Advanced user configuration via manual config file. (FAQ)

(Note: Power users can still access the traditional Vim "normal mode" by pressing Ctrl+L and Ctrl+O with their respective behaviors.)

Programmer Features

Block comment and un-comment selections (F6 and Shift+F6).
Line folding intuitively hides entire sections with a keystroke (F9 and combinations).
Template completion based on file type (Shift+Space x2). (See Tools menu for list of available templates.)
Pop up prototype and information menu ( Alt+( ). (Requires installation of the free ctags or other similar tag navigation software.) View the function's prototype under the cursor without having to open the file with the definition.
Ctags navigation. Through Alt+arrow keys, move back and forth between previously visited tags (Alt+Left/Right), move to function or variable's definition (Alt+Down), or close referenced file and return (Alt+Up).
Function and variable list available for the current file (Ctrl+Alt+Down). (Requires Ctags)
Soft Tabstop setting allows existing text to be displayed by Tabstop Width while new editing uses this alternate setting, inserting tabs and spaces to accomplish the new indention.
Diff mode to see differences between two files. (beta)
Open a file whose path/filename are selected text (Ctrl+Enter). Cream will also attempt to guess a filename for any word under the cursor without a selection.
Lists for quick reference and insertion of HTML tags, attributes and CSS properties. (Shift+Space when in front of a tag or property.)
Terminal mode menus (console menus) (F12, console only).
Cream, Cream Lite, Vim or Vi editing behavior setting.
Expert mode, an option to use the Esc key to toggle back and forth between Vim's normal and insert modes.
Multiple user configuration from a single installation. (FAQ)


Cream provides additional functionality through add-ons, modules that can provide a vast library of functionality specific to your tastes.

Color Invert -- Inverts a standard hexidecimal ("ffffcc"), abbreviated hexidecimal ("fc3"), or decimal ("255,204,0") RGB value.
Convert Text to HTML -- Converts a text file to HTML by substituting a few special characters to specified character equivalents, tab and space indenting to none-breaking spaces and hard returns to tags. Wraps the document in basic HTML header and footer structures.
Convert Hex to ASCII and ASCII to Hex. Works on selection or entire file if nothing selected.
Cream Bug Report -- Provides quick diagnostic information about Vim and Cream.
Ctags Generate -- Using the third party Exuberant ctags application, generate a tag file for quickly navigating a file of any single directory.
Daily Read -- Choose a document to read in entirety over a year and have Cream select and present that day's portion, including a day's context on either side. Great for meditative or religious readings.
De-binary -- Utility tries to recover ASCII text in binary files. All non-readable characters are deleted. Useful for recovering information out of corrupted word processing files among other things.
Email Prettyfier -- uncondenses
thread indicators to
"> > > "
in the current document.
Email Munge -- Rewrite a selected email address to a format still readable by humans but no longer vulnerable to being harvested by web robots for spam lists. Examples:

creaNmforOvim@SmindPspriAng.cMom (remove "NOSPAM") (insert "@minds")

Encrypt -- "Encrypts" the current file or selection with three different types of "encryption":
algorithm -- Converts all characters to decimal (numerical) values. While no mathematical encryption takes place, the document is readied for some an overlaying encryption algorithm.
h4x0r -- Converts certain characters to visually similar equivilents (e.g., "E" => "3", "S" => "$"). So called for the slang nickname given such spellings found in certain chat forums.
HexMe -- Converts a string to hexidecimal or back again. (Can not handle characters with decimal values above 255.)
rot13 -- Simply rotates each (English) alphabetic character 13 places forward in the alphabet (e.g., "A" => "N", "B" => "O", "C" => "P"). Given the English language's count of 26 characters, a second rotate will "unencrypt" the first rotation.
Highlight CtrlChars -- Highlight characters in the current file with decimal values between 1-31, except tabs (9), newlines (10), and returns (13).
Highlight Multibyte -- Highlight characters in the current file with decimal values between 127-255. (These are characters that are usually interpreted differently across languages (encodings) and operating systems.)
Invert Selected Lines -- Reverse selected lines so that the first is last and vice versa.
Invert Selected String -- Reverse the characters within a selection.
Sort, Selection/Inverse -- Sort or reverse sort selected lines alphabetically by first column.
Sort, File -- Sort the current document alphabetically by any column number using the external sort command on Microsoft Windows or Linux/Unix.
Stamp -- A series of add-ons to insert various useful bits of information automatically within the current file. The stamp occurs at the first location of the stamp tag that is found. All characters following the case-sensitive stamp tag are replaced with the stamp up to a single quote, double quote or the end of the line. White space following the stamp tag is maintained so the stamp can be aligned by the user. In each case, the global variable in which the tag is stored is given so that you can provide replace it with your own tag.
Filename -- The filename or path and filename can be inserted following the tag (default: "Filename:", global: "g:CREAM_STAMP_FILENAME_TEXT").
Time -- Various expressions of the current date and time can be inserted following the tag (default: "Updated:", global: "g:CREAM_TIMESTAMP_TEXT"). Note that if your system (like all known versions of Microsoft Windows) does not represent the timezone value in the standard strftime("%Z"), you can override this in the variable "g:CREAM_TIMEZONE".
Uniq Selected Lines -- Condense duplicate adjacent lines (sort first!) in a selection.


1. Install GVim

Make sure GVim (GUI Vim) is installed (version 6.1 is acceptable, but 6.2+ is preferred). You can download the latest updated (non-official) version on our Vim page or from the official Vim downloads page.

If you're new to Vim, you may initially think it's broken because it is so hard to use. (I did!) But just make sure that you can run the program and it starts without any errors. Exit by typing :q! .

If you compile your own Vim from source, please make sure to use the --with-features=big configure option. This will enable the GUI, signs, dialogs and many other useful Vim features that Cream depends on. (See Vim's online help for "version and "install".) Note that this is the typical configuration for most larger distributions.

Some Linux distributions of Vim install a global vimrc (found in the path indicated with the :version command) which may conflict with certain Cream settings. Known problems exist with Debian and Red Hat. (Debian interferes with Cream's mapping of Shift+Insert, Red Hat adds some normal mode mappings.)

2. Install Cream

Existing Cream users should remove or rename the existing Cream "addons" subdirectory prior to installation to avoid conflicts with renamed addons. (Applies only to upgrades from version 0.20 or prior.)

Then, using the downloaded package above appropriate to your system:

As root, execute the bash script. In GNOME 2, you should find an icon added to the Applications menu and a "cream" command added to /usr/bin/. If you need to create any other starter for Cream, the correct syntax is:

gvim -U NONE -u "$VIMRUNTIME/cream/creamrc" "$@"

What's New in This Release:
Added $USERPROFILE to possible location for user dir. (by Ryan Weaver)
Flipped version number.
Fixed to use "=" instead of "==". (by David Howland)
Updated Korean menus. (by Hanjo Kim)

Cream for Vim 0.38 search tags