Home

Awesome

Unicode plugin Say Thanks!

A Vim plugin for handling Unicode and digraphs characters

This plugin aims to make the handling of Unicode and digraphs chars in Vim easier. It serves 3 purposes:

  1. Complete Characters
  2. Identify Characters
  3. Ease the use of Digraphs

Complete Characters

A custom completion function is available to complete characters using their Unicode name or Codepoint. If a digraph exists for that character, it will be displayed in parentheses. Press Ctrl-X Ctrl-Z to trigger this completion from insert mode. Also a new custom completion for digraph chars is available. Press Ctrl-X Ctrl-G to trigger this completion. It will display all digraphs, that are reachable from the previous typed letter.

Identify Characters

The :UnicodeName command can be used to identify the character under the cursor. This works similar to the builtin ga command (in fact, the help also states a possibility to map this command to the ga builtin command), but it also displays the digraph character (if it exists) and the HTML entity.

The :UnicodeSearch command can be used to search in the Unicode character table to search for a certain Unicode character with a given name or value. Use the "!" attribute to query for result and have it inserted at the current cursor position.

The :UnicodeTable can be used to generate an Unicode table, including HTML entity names and Digraph chars. The UnicodeTable will be nicely syntax highlighted.

Ease the use of Digraphs

Use the :Digraphs command to search for an digraph with the given name (e.g. :Digraphs copy will display all digraphs that will create a character name which contains copy in its name). You can also search for the decimal value. This plugin also maps the key <F4> that will allow to transform 2 given normal chars into their digraph char.

See also the following screencast, that shows several features available: screencast of the plugin

Installation

Use the plugin manager of your choice. Or download the stable version of the plugin, edit it with Vim (vim unicode-XXX.vmb) and simply source it (:so %). Restart and take a look at the help (:h unicode-plugin)

Usage

Once installed, take a look at the help at :h unicode-plugin

Here is a short overview of the functionality provided by the plugin:

Ex commands:

:Digraphs        - Search for specific digraph char
:UnicodeSearch   - Search for specific Unicode char
:UnicodeSearch!  - Search for specific Unicode char (and add at current cursor position)
:UnicodeName     - Identify character under cursor (like ga command)
:UnicodeTable    - Print Unicode Table in new window
:DownloadUnicode - Download (or update) Unicode data
:UnicodeCache    - Create cache file

Insert mode commands:

<C-X><C-G>  - Complete Digraph char (*X<C-x><C-g> inserts ×)
<C-X><C-Z>  - Complete Unicode char (U+00d7<C-x><C-z> inserts ×)

Normal/Visual mode commands:

<F4>        - Convert selected digraphs into their corresponding characters

Scripting Functions:

unicode#FindUnicodeBy() - Find Unicode characters
unicode#FindDigraphBy() - Find Digraph char
unicode#Digraph()       - Returns digraph char
unicode#UnicodeName()   - Identifies Unicode character (by value)

Similar Work

vim-characterize Only supports identifying characters, no completion, no public functions, until recently did not detect combining chars correctly.

easydigraph Only supports easier digraph generation.

License & Copyright

© 2009-2020 by Christian Brabandt. The Vim License applies. See :h license

NO WARRANTY, EXPRESS OR IMPLIED. USE AT-YOUR-OWN-RISK