VIM: digraph

DIGRAPH

*digraph.txt*   For Vim version 6.1.  Last change: 2001 Sep 03


  VIM REFERENCE MANUAL    by Bram Moolenaar


Digraphs*digraphs* *Digraphs*

Digraphs are used to enter characters that normally cannot be entered by
an ordinary keyboard.  These are mostly accented characters which have the
eighth bit set.  The digraphs are easier to remember than the decimal number
that can be entered with CTRL-V (see |i_CTRL-V|).

There is a brief introduction on digraphs in the user manual: |24.9|
An alternative is using the 'keymap' option.

1. Defining digraphs|digraphs-define|
2. Using digraphs|digraphs-use|
3. Default digraphs|digraphs-default|

{Vi does not have any of these commands}


1. Defining digraphs*digraphs-define*

*:dig* *:digraphs*
:dig[raphs]show currently defined digraphs.
*E104* *E39*
:dig[raphs] {char1}{char2} {number} ...
Add digraph {char1}{char2} to the list.  {number} is
the decimal representation of the character.
Example:
:digr e: 235 a: 228
Avoid defining a digraph with '_' (underscore) as the
first character, it has a special meaning in the
future.

Vim is normally compiled with the |+digraphs| feature.  If the feature is
disabled, the ":digraph" command will display an error message.

Example of the output of ":digraphs":
 TH Þ  222  ss ß  223  a! à  224  a' á  225  a> â  226  a? ã  227  a: ä  228

The first two characters in each column are the characters you have to type to
enter the digraph.

In the middle of each column is the resulting character.  This may be mangled
if you look at it on a system that does not support digraphs or if you print
this file.

The decimal number is the number of the character.


2. Using digraphs*digraphs-use*

There are two methods to enter digraphs:*i_digraph*
CTRL-K {char1} {char2}or
{char1} <BS> {char2}
The first is always available; the second only when the 'digraph' option is
set.

If a digraph with {char1}{char2} does not exist, Vim searches for a digraph
{char2}{char1}.  This helps when you don't remember which character comes
first.

Note that when you enter CTRL-K {char1}, where {char1} is a special key, Vim
enters the code for that special key.  This is not a digraph.

Once you have entered the digraph, Vim treats the character like a normal
character that occupies only one character in the file and on the screen.
Example:
'B' <BS> 'B'will enter the broken '|' character (166)
'a' <BS> '>'will enter an 'a' with a circumflex (226)
CTRL-K '-' '-'will enter a soft hyphen (173)

The current digraphs are listed with the ":digraphs" command.  Some of the
default ones are listed below |digraph-table|.

For CTRL-K, there is one general digraph: CTRL-K <Space> {char} will enter
{char} with the highest bit set.  You can use this to enter meta-characters.

The <Esc> character cannot be part of a digraph.  When hitting <Esc>, Vim
stops digraph entry and ends Insert mode or Command-line mode, just like
hitting an <Esc> out of digraph context.  Use CTRL-V 155 to enter meta-ESC
(CSI).

If you accidentally typed an 'a' that should be an 'e', you will type 'a' <BS>
'e'.  But that is a digraph, so you will not get what you want.  To correct
this, you will have to type <BS> e again.  To avoid this don't set the
'digraph' option and use CTRL-K to enter digraphs.

You may have problems using Vim with characters which have an ASCII value
above 128.  For example: You insert ue (u-umlaut) and the editor echoes \334
in Insert mode.  After leaving the Insert mode everything is fine.  Note that
fmt removes all characters with ASCII codes above 128 from the text being
formatted.  On some Unix systems this means you have to define the
environment-variable LC_CTYPE.  If you are using csh, then put the following
line in your .cshrc:
setenv LC_CTYPE iso_8859_1


3. Default digraphs*digraphs-default*

Vim comes with a set of default digraphs.  Check the output of ":digraphs" to
see them.

On most systems Vim uses the same digraphs.  They work for the Unicode and
ISO-8859-1 character sets.  These default digraphs are taken from the RFC1345
mnemonics.  To make it easy to remember the mnemonic, the second character has
a standard meaning:

char namecharmeaning 
Exclamation mark!Grave
Apostrophe'Acute accent
Greater-Than sign>Circumflex accent
Question Mark?tilde
Hyphen-Minus-Macron
Left parenthesis(Breve
Full Stop.Dot Above
Colon:Diaeresis
Comma,Cedilla
Underline_Underline
Solidus/Stroke
Quotation mark"Double acute accent
Semicolon;Ogonek
Less-Than sign<Caron
Zero0Ring above
Two2Hook
Nine9Horn

Equals=Cyrillic
Asterisk*Greek
Percent sign%Greek/Cyrillic special
Plus+smalls: Arabic, capitals: Hebrew
Three3some Latin/Greek/Cyrillic letters
Four4Bopomofo
Five5Hiragana
Six6Katakana

Example: a: is ä  and o: is ö

These are the RFC1345 digraphs for the one-byte characters.  See the output of
":digraphs" for the others.  The characters above 255 are only available when
Vim was compiled with the |+multi_byte| feature.
*digraph-table*
char  digraphhexdecofficial name 
^@NU0x00  0NULL (NUL)
^ASH0x01  1START OF HEADING (SOH)
^BSX0x02  2START OF TEXT (STX)
^CEX0x03  3END OF TEXT (ETX)
^DET0x04  4END OF TRANSMISSION (EOT)
^EEQ0x05  5ENQUIRY (ENQ)
^FAK0x06  6ACKNOWLEDGE (ACK)
^GBL0x07  7BELL (BEL)
^HBS0x08  8BACKSPACE (BS)
^IHT0x09  9CHARACTER TABULATION (HT)
^@LF0x0a 10LINE FEED (LF)
^KVT0x0b 11LINE TABULATION (VT)
^LFF0x0c 12FORM FEED (FF)
^MCR0x0d 13CARRIAGE RETURN (CR)
^NSO0x0e 14SHIFT OUT (SO)
^OSI0x0f 15SHIFT IN (SI)
^PDL0x10 16DATALINK ESCAPE (DLE)
^QD10x11 17DEVICE CONTROL ONE (DC1)
^RD20x12 18DEVICE CONTROL TWO (DC2)
^SD30x13 19DEVICE CONTROL THREE (DC3)
^TD40x14 20DEVICE CONTROL FOUR (DC4)
^UNK0x15 21NEGATIVE ACKNOWLEDGE (NAK)
^VSY0x16 22SYNCRONOUS IDLE (SYN)
^WEB0x17 23END OF TRANSMISSION BLOCK (ETB)
^XCN0x18 24CANCEL (CAN)
^YEM0x19 25END OF MEDIUM (EM)
^ZSB0x1a 26SUBSTITUTE (SUB)
^[EC0x1b 27ESCAPE (ESC)
^\FS0x1c 28FILE SEPARATOR (IS4)
^]GS0x1d 29GROUP SEPARATOR (IS3)
^^RS0x1e 30RECORD SEPARATOR (IS2)
^_US0x1f 31UNIT SEPARATOR (IS1)
SP0x20 32SPACE
#Nb0x23 35NUMBER SIGN
$DO0x24 36DOLLAR SIGN
@At0x40 64COMMERCIAL AT
[<(0x5b 91LEFT SQUARE BRACKET
\//0x5c 92REVERSE SOLIDUS
])>0x5d 93RIGHT SQUARE BRACKET
^'>0x5e 94CIRCUMFLEX ACCENT
`'!0x60 96GRAVE ACCENT
{(!0x7b123LEFT CURLY BRACKET
|!!0x7c124VERTICAL LINE
}!)0x7d125RIGHT CURLY BRACKET
~'?0x7e126TILDE
^?DT0x7f127DELETE (DEL)
~@PA0x80128PADDING CHARACTER (PAD)
~AHO0x81129HIGH OCTET PRESET (HOP)
~BBH0x82130BREAK PERMITTED HERE (BPH)
~CNH0x83131NO BREAK HERE (NBH)
~DIN0x84132INDEX (IND)
~ENL0x85133NEXT LINE (NEL)
~FSA0x86134START OF SELECTED AREA (SSA)
~GES0x87135END OF SELECTED AREA (ESA)
~HHS0x88136CHARACTER TABULATION SET (HTS)
~IHJ0x89137CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
~JVS0x8a138LINE TABULATION SET (VTS)
~KPD0x8b139PARTIAL LINE FORWARD (PLD)
~LPU0x8c140PARTIAL LINE BACKWARD (PLU)
~MRI0x8d141REVERSE LINE FEED (RI)
~NS20x8e142SINGLE-SHIFT TWO (SS2)
~OS30x8f143SINGLE-SHIFT THREE (SS3)
~PDC0x90144DEVICE CONTROL STRING (DCS)
~QP10x91145PRIVATE USE ONE (PU1)
~RP20x92146PRIVATE USE TWO (PU2)
~STS0x93147SET TRANSMIT STATE (STS)
~TCC0x94148CANCEL CHARACTER (CCH)
~UMW0x95149MESSAGE WAITING (MW)
~VSG0x96150START OF GUARDED AREA (SPA)
~WEG0x97151END OF GUARDED AREA (EPA)
~XSS0x98152START OF STRING (SOS)
~YGC0x99153SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
~ZSC0x9a154SINGLE CHARACTER INTRODUCER (SCI)
~[CI0x9b155CONTROL SEQUENCE INTRODUCER (CSI)
~\ST0x9c156STRING TERMINATOR (ST)
~]OC0x9d157OPERATING SYSTEM COMMAND (OSC)
~^PM0x9e158PRIVACY MESSAGE (PM)
~_AC0x9f159APPLICATION PROGRAM COMMAND (APC)
|NS0xa0160NO-BREAK SPACE
¡!I0xa1161INVERTED EXCLAMATION MARK
¢Ct0xa2162CENT SIGN
£Pd0xa3163POUND SIGN
¤Cu0xa4164CURRENCY SIGN
¥Ye0xa5165YEN SIGN
¦BB0xa6166BROKEN BAR
§SE0xa7167SECTION SIGN
¨':0xa8168DIAERESIS
©Co0xa9169COPYRIGHT SIGN
ª-a0xaa170FEMININE ORDINAL INDICATOR
«<<0xab171LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
¬NO0xac172NOT SIGN
­--0xad173SOFT HYPHEN
®Rg0xae174REGISTERED SIGN
¯'m0xaf175MACRON
°DG0xb0176DEGREE SIGN
±+-0xb1177PLUS-MINUS SIGN
²2S0xb2178SUPERSCRIPT TWO
³3S0xb3179SUPERSCRIPT THREE
´''0xb4180ACUTE ACCENT
µMy0xb5181MICRO SIGN
¶PI0xb6182PILCROW SIGN
·.M0xb7183MIDDLE DOT
¸',0xb8184CEDILLA
¹1S0xb9185SUPERSCRIPT ONE
º-o0xba186MASCULINE ORDINAL INDICATOR
»>>0xbb187RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
¼140xbc188VULGAR FRACTION ONE QUARTER
½120xbd189VULGAR FRACTION ONE HALF
¾340xbe190VULGAR FRACTION THREE QUARTERS
¿?I0xbf191INVERTED QUESTION MARK
ÀA!0xc0192LATIN CAPITAL LETTER A WITH GRAVE
ÁA'0xc1193LATIN CAPITAL LETTER A WITH ACUTE
ÂA>0xc2194LATIN CAPITAL LETTER A WITH CIRCUMFLEX
ÃA?0xc3195LATIN CAPITAL LETTER A WITH TILDE
ÄA:0xc4196LATIN CAPITAL LETTER A WITH DIAERESIS
ÅAA0xc5197LATIN CAPITAL LETTER A WITH RING ABOVE
ÆAE0xc6198LATIN CAPITAL LETTER AE
ÇC,0xc7199LATIN CAPITAL LETTER C WITH CEDILLA
ÈE!0xc8200LATIN CAPITAL LETTER E WITH GRAVE
ÉE'0xc9201LATIN CAPITAL LETTER E WITH ACUTE
ÊE>0xca202LATIN CAPITAL LETTER E WITH CIRCUMFLEX
ËE:0xcb203LATIN CAPITAL LETTER E WITH DIAERESIS
ÌI!0xcc204LATIN CAPITAL LETTER I WITH GRAVE
ÍI'0xcd205LATIN CAPITAL LETTER I WITH ACUTE
ÎI>0xce206LATIN CAPITAL LETTER I WITH CIRCUMFLEX
ÏI:0xcf207LATIN CAPITAL LETTER I WITH DIAERESIS
ÐD-0xd0208LATIN CAPITAL LETTER ETH (Icelandic)
ÑN?0xd1209LATIN CAPITAL LETTER N WITH TILDE
ÒO!0xd2210LATIN CAPITAL LETTER O WITH GRAVE
ÓO'0xd3211LATIN CAPITAL LETTER O WITH ACUTE
ÔO>0xd4212LATIN CAPITAL LETTER O WITH CIRCUMFLEX
ÕO?0xd5213LATIN CAPITAL LETTER O WITH TILDE
ÖO:0xd6214LATIN CAPITAL LETTER O WITH DIAERESIS
×*X0xd7215MULTIPLICATION SIGN
ØO/0xd8216LATIN CAPITAL LETTER O WITH STROKE
ÙU!0xd9217LATIN CAPITAL LETTER U WITH GRAVE
ÚU'0xda218LATIN CAPITAL LETTER U WITH ACUTE
ÛU>0xdb219LATIN CAPITAL LETTER U WITH CIRCUMFLEX
ÜU:0xdc220LATIN CAPITAL LETTER U WITH DIAERESIS
ÝY'0xdd221LATIN CAPITAL LETTER Y WITH ACUTE
ÞTH0xde222LATIN CAPITAL LETTER THORN (Icelandic)
ßss0xdf223LATIN SMALL LETTER SHARP S (German)
àa!0xe0224LATIN SMALL LETTER A WITH GRAVE
áa'0xe1225LATIN SMALL LETTER A WITH ACUTE
âa>0xe2226LATIN SMALL LETTER A WITH CIRCUMFLEX
ãa?0xe3227LATIN SMALL LETTER A WITH TILDE
äa:0xe4228LATIN SMALL LETTER A WITH DIAERESIS
åaa0xe5229LATIN SMALL LETTER A WITH RING ABOVE
æae0xe6230LATIN SMALL LETTER AE
çc,0xe7231LATIN SMALL LETTER C WITH CEDILLA
èe!0xe8232LATIN SMALL LETTER E WITH GRAVE
ée'0xe9233LATIN SMALL LETTER E WITH ACUTE
êe>0xea234LATIN SMALL LETTER E WITH CIRCUMFLEX
ëe:0xeb235LATIN SMALL LETTER E WITH DIAERESIS
ìi!0xec236LATIN SMALL LETTER I WITH GRAVE
íi'0xed237LATIN SMALL LETTER I WITH ACUTE
îi>0xee238LATIN SMALL LETTER I WITH CIRCUMFLEX
ïi:0xef239LATIN SMALL LETTER I WITH DIAERESIS
ðd-0xf0240LATIN SMALL LETTER ETH (Icelandic)
ñn?0xf1241LATIN SMALL LETTER N WITH TILDE
òo!0xf2242LATIN SMALL LETTER O WITH GRAVE
óo'0xf3243LATIN SMALL LETTER O WITH ACUTE
ôo>0xf4244LATIN SMALL LETTER O WITH CIRCUMFLEX
õo?0xf5245LATIN SMALL LETTER O WITH TILDE
öo:0xf6246LATIN SMALL LETTER O WITH DIAERESIS
÷-:0xf7247DIVISION SIGN
øo/0xf8248LATIN SMALL LETTER O WITH STROKE
ùu!0xf9249LATIN SMALL LETTER U WITH GRAVE
úu'0xfa250LATIN SMALL LETTER U WITH ACUTE
ûu>0xfb251LATIN SMALL LETTER U WITH CIRCUMFLEX
üu:0xfc252LATIN SMALL LETTER U WITH DIAERESIS
ýy'0xfd253LATIN SMALL LETTER Y WITH ACUTE
þth0xfe254LATIN SMALL LETTER THORN (Icelandic)
ÿy:0xff255LATIN SMALL LETTER Y WITH DIAERESIS

 vim:tw=78:ts=8:ft=help:norl:

Generated by vim2html on Sat May 4 18:38:43 CEST 2002