1*digraph.txt* For Vim version 7.0aa. Last change: 2004 Oct 07 2 3 4 VIM REFERENCE MANUAL by Bram Moolenaar 5 6 7Digraphs *digraphs* *Digraphs* 8 9Digraphs are used to enter characters that normally cannot be entered by 10an ordinary keyboard. These are mostly accented characters which have the 11eighth bit set. The digraphs are easier to remember than the decimal number 12that can be entered with CTRL-V (see |i_CTRL-V|). 13 14There is a brief introduction on digraphs in the user manual: |24.9| 15An alternative is using the 'keymap' option. 16 171. Defining digraphs |digraphs-define| 182. Using digraphs |digraphs-use| 193. Default digraphs |digraphs-default| 20 21{Vi does not have any of these commands} 22 23============================================================================== 241. Defining digraphs *digraphs-define* 25 26 *:dig* *:digraphs* 27:dig[raphs] show currently defined digraphs. 28 *E104* *E39* 29:dig[raphs] {char1}{char2} {number} ... 30 Add digraph {char1}{char2} to the list. {number} is 31 the decimal representation of the character. Normally 32 it is the Unicode character, see |digraph-encoding|. 33 Example: > 34 :digr e: 235 a: 228 35< Avoid defining a digraph with '_' (underscore) as the 36 first character, it has a special meaning in the 37 future. 38 39Vim is normally compiled with the |+digraphs| feature. If the feature is 40disabled, the ":digraph" command will display an error message. 41 42Example of the output of ":digraphs": > 43 TH � 222 ss � 223 a! � 224 a' � 225 a> � 226 a? � 227 a: � 228 44 45The first two characters in each column are the characters you have to type to 46enter the digraph. 47 48In the middle of each column is the resulting character. This may be mangled 49if you look at it on a system that does not support digraphs or if you print 50this file. 51 52 *digraph-encoding* 53The decimal number normally is the Unicode number of the character. Note that 54the meaning doesn't change when 'encoding' changes. The character will be 55converted from Unicode to 'encoding' when needed. This does require the 56conversion to be available, it might fail. 57 58When Vim was compiled without the +multi_byte feature, you need to specify the 59character in the encoding given with 'encoding'. You might want to use 60something like this: > 61 62 if has("multi_byte") 63 digraph oe 339 64 elseif &encoding == "iso-8859-15" 65 digraph oe 189 66 endif 67 68This defines the "oe" digraph for a character that is number 339 in Unicode 69and 189 in latin9 (iso-8859-15). 70 71============================================================================== 722. Using digraphs *digraphs-use* 73 74There are two methods to enter digraphs: *i_digraph* 75 CTRL-K {char1} {char2} or 76 {char1} <BS> {char2} 77The first is always available; the second only when the 'digraph' option is 78set. 79 80If a digraph with {char1}{char2} does not exist, Vim searches for a digraph 81{char2}{char1}. This helps when you don't remember which character comes 82first. 83 84Note that when you enter CTRL-K {char1}, where {char1} is a special key, Vim 85enters the code for that special key. This is not a digraph. 86 87Once you have entered the digraph, Vim treats the character like a normal 88character that occupies only one character in the file and on the screen. 89Example: > 90 'B' <BS> 'B' will enter the broken '|' character (166) 91 'a' <BS> '>' will enter an 'a' with a circumflex (226) 92 CTRL-K '-' '-' will enter a soft hyphen (173) 93 94The current digraphs are listed with the ":digraphs" command. Some of the 95default ones are listed below |digraph-table|. 96 97For CTRL-K, there is one general digraph: CTRL-K <Space> {char} will enter 98{char} with the highest bit set. You can use this to enter meta-characters. 99 100The <Esc> character cannot be part of a digraph. When hitting <Esc>, Vim 101stops digraph entry and ends Insert mode or Command-line mode, just like 102hitting an <Esc> out of digraph context. Use CTRL-V 155 to enter meta-ESC 103(CSI). 104 105If you accidentally typed an 'a' that should be an 'e', you will type 'a' <BS> 106'e'. But that is a digraph, so you will not get what you want. To correct 107this, you will have to type <BS> e again. To avoid this don't set the 108'digraph' option and use CTRL-K to enter digraphs. 109 110You may have problems using Vim with characters which have an ASCII value 111above 128. For example: You insert ue (u-umlaut) and the editor echoes \334 112in Insert mode. After leaving the Insert mode everything is fine. Note that 113fmt removes all characters with ASCII codes above 128 from the text being 114formatted. On some Unix systems this means you have to define the 115environment-variable LC_CTYPE. If you are using csh, then put the following 116line in your .cshrc: > 117 setenv LC_CTYPE iso_8859_1 118 119============================================================================== 1203. Default digraphs *digraphs-default* 121 122Vim comes with a set of default digraphs. Check the output of ":digraphs" to 123see them. 124 125On most systems Vim uses the same digraphs. They work for the Unicode and 126ISO-8859-1 character sets. These default digraphs are taken from the RFC1345 127mnemonics. To make it easy to remember the mnemonic, the second character has 128a standard meaning: 129 130 char name char meaning ~ 131 Exclamation mark ! Grave 132 Apostrophe ' Acute accent 133 Greater-Than sign > Circumflex accent 134 Question Mark ? tilde 135 Hyphen-Minus - Macron 136 Left parenthesis ( Breve 137 Full Stop . Dot Above 138 Colon : Diaeresis 139 Comma , Cedilla 140 Underline _ Underline 141 Solidus / Stroke 142 Quotation mark " Double acute accent 143 Semicolon ; Ogonek 144 Less-Than sign < Caron 145 Zero 0 Ring above 146 Two 2 Hook 147 Nine 9 Horn 148 149 Equals = Cyrillic 150 Asterisk * Greek 151 Percent sign % Greek/Cyrillic special 152 Plus + smalls: Arabic, capitals: Hebrew 153 Three 3 some Latin/Greek/Cyrillic letters 154 Four 4 Bopomofo 155 Five 5 Hiragana 156 Six 6 Katakana 157 158Example: a: is � and o: is � 159 160These are the RFC1345 digraphs for the one-byte characters. See the output of 161":digraphs" for the others. The characters above 255 are only available when 162Vim was compiled with the |+multi_byte| feature. 163 164Exception: RFC1345 doesn't specify the euro sign. In Vim the digraph =e was 165added for this. 166 *digraph-table* 167char digraph hex dec official name ~ 168^@ NU 0x00 0 NULL (NUL) 169^A SH 0x01 1 START OF HEADING (SOH) 170^B SX 0x02 2 START OF TEXT (STX) 171^C EX 0x03 3 END OF TEXT (ETX) 172^D ET 0x04 4 END OF TRANSMISSION (EOT) 173^E EQ 0x05 5 ENQUIRY (ENQ) 174^F AK 0x06 6 ACKNOWLEDGE (ACK) 175^G BL 0x07 7 BELL (BEL) 176^H BS 0x08 8 BACKSPACE (BS) 177^I HT 0x09 9 CHARACTER TABULATION (HT) 178^@ LF 0x0a 10 LINE FEED (LF) 179^K VT 0x0b 11 LINE TABULATION (VT) 180^L FF 0x0c 12 FORM FEED (FF) 181^M CR 0x0d 13 CARRIAGE RETURN (CR) 182^N SO 0x0e 14 SHIFT OUT (SO) 183^O SI 0x0f 15 SHIFT IN (SI) 184^P DL 0x10 16 DATALINK ESCAPE (DLE) 185^Q D1 0x11 17 DEVICE CONTROL ONE (DC1) 186^R D2 0x12 18 DEVICE CONTROL TWO (DC2) 187^S D3 0x13 19 DEVICE CONTROL THREE (DC3) 188^T D4 0x14 20 DEVICE CONTROL FOUR (DC4) 189^U NK 0x15 21 NEGATIVE ACKNOWLEDGE (NAK) 190^V SY 0x16 22 SYNCRONOUS IDLE (SYN) 191^W EB 0x17 23 END OF TRANSMISSION BLOCK (ETB) 192^X CN 0x18 24 CANCEL (CAN) 193^Y EM 0x19 25 END OF MEDIUM (EM) 194^Z SB 0x1a 26 SUBSTITUTE (SUB) 195^[ EC 0x1b 27 ESCAPE (ESC) 196^\ FS 0x1c 28 FILE SEPARATOR (IS4) 197^] GS 0x1d 29 GROUP SEPARATOR (IS3) 198^^ RS 0x1e 30 RECORD SEPARATOR (IS2) 199^_ US 0x1f 31 UNIT SEPARATOR (IS1) 200 SP 0x20 32 SPACE 201# Nb 0x23 35 NUMBER SIGN 202$ DO 0x24 36 DOLLAR SIGN 203@ At 0x40 64 COMMERCIAL AT 204[ <( 0x5b 91 LEFT SQUARE BRACKET 205\ // 0x5c 92 REVERSE SOLIDUS 206] )> 0x5d 93 RIGHT SQUARE BRACKET 207^ '> 0x5e 94 CIRCUMFLEX ACCENT 208` '! 0x60 96 GRAVE ACCENT 209{ (! 0x7b 123 LEFT CURLY BRACKET 210| !! 0x7c 124 VERTICAL LINE 211} !) 0x7d 125 RIGHT CURLY BRACKET 212~ '? 0x7e 126 TILDE 213^? DT 0x7f 127 DELETE (DEL) 214~@ PA 0x80 128 PADDING CHARACTER (PAD) 215~A HO 0x81 129 HIGH OCTET PRESET (HOP) 216~B BH 0x82 130 BREAK PERMITTED HERE (BPH) 217~C NH 0x83 131 NO BREAK HERE (NBH) 218~D IN 0x84 132 INDEX (IND) 219~E NL 0x85 133 NEXT LINE (NEL) 220~F SA 0x86 134 START OF SELECTED AREA (SSA) 221~G ES 0x87 135 END OF SELECTED AREA (ESA) 222~H HS 0x88 136 CHARACTER TABULATION SET (HTS) 223~I HJ 0x89 137 CHARACTER TABULATION WITH JUSTIFICATION (HTJ) 224~J VS 0x8a 138 LINE TABULATION SET (VTS) 225~K PD 0x8b 139 PARTIAL LINE FORWARD (PLD) 226~L PU 0x8c 140 PARTIAL LINE BACKWARD (PLU) 227~M RI 0x8d 141 REVERSE LINE FEED (RI) 228~N S2 0x8e 142 SINGLE-SHIFT TWO (SS2) 229~O S3 0x8f 143 SINGLE-SHIFT THREE (SS3) 230~P DC 0x90 144 DEVICE CONTROL STRING (DCS) 231~Q P1 0x91 145 PRIVATE USE ONE (PU1) 232~R P2 0x92 146 PRIVATE USE TWO (PU2) 233~S TS 0x93 147 SET TRANSMIT STATE (STS) 234~T CC 0x94 148 CANCEL CHARACTER (CCH) 235~U MW 0x95 149 MESSAGE WAITING (MW) 236~V SG 0x96 150 START OF GUARDED AREA (SPA) 237~W EG 0x97 151 END OF GUARDED AREA (EPA) 238~X SS 0x98 152 START OF STRING (SOS) 239~Y GC 0x99 153 SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI) 240~Z SC 0x9a 154 SINGLE CHARACTER INTRODUCER (SCI) 241~[ CI 0x9b 155 CONTROL SEQUENCE INTRODUCER (CSI) 242~\ ST 0x9c 156 STRING TERMINATOR (ST) 243~] OC 0x9d 157 OPERATING SYSTEM COMMAND (OSC) 244~^ PM 0x9e 158 PRIVACY MESSAGE (PM) 245~_ AC 0x9f 159 APPLICATION PROGRAM COMMAND (APC) 246| NS 0xa0 160 NO-BREAK SPACE 247� !I 0xa1 161 INVERTED EXCLAMATION MARK 248� Ct 0xa2 162 CENT SIGN 249� Pd 0xa3 163 POUND SIGN 250� Cu 0xa4 164 CURRENCY SIGN 251� Ye 0xa5 165 YEN SIGN 252� BB 0xa6 166 BROKEN BAR 253� SE 0xa7 167 SECTION SIGN 254� ': 0xa8 168 DIAERESIS 255� Co 0xa9 169 COPYRIGHT SIGN 256� -a 0xaa 170 FEMININE ORDINAL INDICATOR 257� << 0xab 171 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK 258� NO 0xac 172 NOT SIGN 259� -- 0xad 173 SOFT HYPHEN 260� Rg 0xae 174 REGISTERED SIGN 261� 'm 0xaf 175 MACRON 262� DG 0xb0 176 DEGREE SIGN 263� +- 0xb1 177 PLUS-MINUS SIGN 264� 2S 0xb2 178 SUPERSCRIPT TWO 265� 3S 0xb3 179 SUPERSCRIPT THREE 266� '' 0xb4 180 ACUTE ACCENT 267� My 0xb5 181 MICRO SIGN 268� PI 0xb6 182 PILCROW SIGN 269� .M 0xb7 183 MIDDLE DOT 270� ', 0xb8 184 CEDILLA 271� 1S 0xb9 185 SUPERSCRIPT ONE 272� -o 0xba 186 MASCULINE ORDINAL INDICATOR 273� >> 0xbb 187 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK 274� 14 0xbc 188 VULGAR FRACTION ONE QUARTER 275� 12 0xbd 189 VULGAR FRACTION ONE HALF 276� 34 0xbe 190 VULGAR FRACTION THREE QUARTERS 277� ?I 0xbf 191 INVERTED QUESTION MARK 278� A! 0xc0 192 LATIN CAPITAL LETTER A WITH GRAVE 279� A' 0xc1 193 LATIN CAPITAL LETTER A WITH ACUTE 280� A> 0xc2 194 LATIN CAPITAL LETTER A WITH CIRCUMFLEX 281� A? 0xc3 195 LATIN CAPITAL LETTER A WITH TILDE 282� A: 0xc4 196 LATIN CAPITAL LETTER A WITH DIAERESIS 283� AA 0xc5 197 LATIN CAPITAL LETTER A WITH RING ABOVE 284� AE 0xc6 198 LATIN CAPITAL LETTER AE 285� C, 0xc7 199 LATIN CAPITAL LETTER C WITH CEDILLA 286� E! 0xc8 200 LATIN CAPITAL LETTER E WITH GRAVE 287� E' 0xc9 201 LATIN CAPITAL LETTER E WITH ACUTE 288� E> 0xca 202 LATIN CAPITAL LETTER E WITH CIRCUMFLEX 289� E: 0xcb 203 LATIN CAPITAL LETTER E WITH DIAERESIS 290� I! 0xcc 204 LATIN CAPITAL LETTER I WITH GRAVE 291� I' 0xcd 205 LATIN CAPITAL LETTER I WITH ACUTE 292� I> 0xce 206 LATIN CAPITAL LETTER I WITH CIRCUMFLEX 293� I: 0xcf 207 LATIN CAPITAL LETTER I WITH DIAERESIS 294� D- 0xd0 208 LATIN CAPITAL LETTER ETH (Icelandic) 295� N? 0xd1 209 LATIN CAPITAL LETTER N WITH TILDE 296� O! 0xd2 210 LATIN CAPITAL LETTER O WITH GRAVE 297� O' 0xd3 211 LATIN CAPITAL LETTER O WITH ACUTE 298� O> 0xd4 212 LATIN CAPITAL LETTER O WITH CIRCUMFLEX 299� O? 0xd5 213 LATIN CAPITAL LETTER O WITH TILDE 300� O: 0xd6 214 LATIN CAPITAL LETTER O WITH DIAERESIS 301� *X 0xd7 215 MULTIPLICATION SIGN 302� O/ 0xd8 216 LATIN CAPITAL LETTER O WITH STROKE 303� U! 0xd9 217 LATIN CAPITAL LETTER U WITH GRAVE 304� U' 0xda 218 LATIN CAPITAL LETTER U WITH ACUTE 305� U> 0xdb 219 LATIN CAPITAL LETTER U WITH CIRCUMFLEX 306� U: 0xdc 220 LATIN CAPITAL LETTER U WITH DIAERESIS 307� Y' 0xdd 221 LATIN CAPITAL LETTER Y WITH ACUTE 308� TH 0xde 222 LATIN CAPITAL LETTER THORN (Icelandic) 309� ss 0xdf 223 LATIN SMALL LETTER SHARP S (German) 310� a! 0xe0 224 LATIN SMALL LETTER A WITH GRAVE 311� a' 0xe1 225 LATIN SMALL LETTER A WITH ACUTE 312� a> 0xe2 226 LATIN SMALL LETTER A WITH CIRCUMFLEX 313� a? 0xe3 227 LATIN SMALL LETTER A WITH TILDE 314� a: 0xe4 228 LATIN SMALL LETTER A WITH DIAERESIS 315� aa 0xe5 229 LATIN SMALL LETTER A WITH RING ABOVE 316� ae 0xe6 230 LATIN SMALL LETTER AE 317� c, 0xe7 231 LATIN SMALL LETTER C WITH CEDILLA 318� e! 0xe8 232 LATIN SMALL LETTER E WITH GRAVE 319� e' 0xe9 233 LATIN SMALL LETTER E WITH ACUTE 320� e> 0xea 234 LATIN SMALL LETTER E WITH CIRCUMFLEX 321� e: 0xeb 235 LATIN SMALL LETTER E WITH DIAERESIS 322� i! 0xec 236 LATIN SMALL LETTER I WITH GRAVE 323� i' 0xed 237 LATIN SMALL LETTER I WITH ACUTE 324� i> 0xee 238 LATIN SMALL LETTER I WITH CIRCUMFLEX 325� i: 0xef 239 LATIN SMALL LETTER I WITH DIAERESIS 326� d- 0xf0 240 LATIN SMALL LETTER ETH (Icelandic) 327� n? 0xf1 241 LATIN SMALL LETTER N WITH TILDE 328� o! 0xf2 242 LATIN SMALL LETTER O WITH GRAVE 329� o' 0xf3 243 LATIN SMALL LETTER O WITH ACUTE 330� o> 0xf4 244 LATIN SMALL LETTER O WITH CIRCUMFLEX 331� o? 0xf5 245 LATIN SMALL LETTER O WITH TILDE 332� o: 0xf6 246 LATIN SMALL LETTER O WITH DIAERESIS 333� -: 0xf7 247 DIVISION SIGN 334� o/ 0xf8 248 LATIN SMALL LETTER O WITH STROKE 335� u! 0xf9 249 LATIN SMALL LETTER U WITH GRAVE 336� u' 0xfa 250 LATIN SMALL LETTER U WITH ACUTE 337� u> 0xfb 251 LATIN SMALL LETTER U WITH CIRCUMFLEX 338� u: 0xfc 252 LATIN SMALL LETTER U WITH DIAERESIS 339� y' 0xfd 253 LATIN SMALL LETTER Y WITH ACUTE 340� th 0xfe 254 LATIN SMALL LETTER THORN (Icelandic) 341� y: 0xff 255 LATIN SMALL LETTER Y WITH DIAERESIS 342 343 vim:tw=78:ts=8:ft=help:norl: 344