Bram Moolenaar | 3fdfa4a | 2004-10-07 21:02:47 +0000 | [diff] [blame] | 1 | *digraph.txt* For Vim version 7.0aa. Last change: 2004 Oct 07 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 2 | |
| 3 | |
| 4 | VIM REFERENCE MANUAL by Bram Moolenaar |
| 5 | |
| 6 | |
| 7 | Digraphs *digraphs* *Digraphs* |
| 8 | |
| 9 | Digraphs are used to enter characters that normally cannot be entered by |
| 10 | an ordinary keyboard. These are mostly accented characters which have the |
| 11 | eighth bit set. The digraphs are easier to remember than the decimal number |
| 12 | that can be entered with CTRL-V (see |i_CTRL-V|). |
| 13 | |
| 14 | There is a brief introduction on digraphs in the user manual: |24.9| |
| 15 | An alternative is using the 'keymap' option. |
| 16 | |
| 17 | 1. Defining digraphs |digraphs-define| |
| 18 | 2. Using digraphs |digraphs-use| |
| 19 | 3. Default digraphs |digraphs-default| |
| 20 | |
| 21 | {Vi does not have any of these commands} |
| 22 | |
| 23 | ============================================================================== |
| 24 | 1. 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 |
Bram Moolenaar | 3fdfa4a | 2004-10-07 21:02:47 +0000 | [diff] [blame] | 31 | the decimal representation of the character. Normally |
| 32 | it is the Unicode character, see |digraph-encoding|. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 | |
| 39 | Vim is normally compiled with the |+digraphs| feature. If the feature is |
| 40 | disabled, the ":digraph" command will display an error message. |
| 41 | |
| 42 | Example of the output of ":digraphs": > |
| 43 | TH Þ 222 ss ß 223 a! à 224 a' á 225 a> â 226 a? ã 227 a: ä 228 |
| 44 | |
| 45 | The first two characters in each column are the characters you have to type to |
| 46 | enter the digraph. |
| 47 | |
| 48 | In the middle of each column is the resulting character. This may be mangled |
| 49 | if you look at it on a system that does not support digraphs or if you print |
| 50 | this file. |
| 51 | |
Bram Moolenaar | 3fdfa4a | 2004-10-07 21:02:47 +0000 | [diff] [blame] | 52 | *digraph-encoding* |
| 53 | The decimal number normally is the Unicode number of the character. Note that |
| 54 | the meaning doesn't change when 'encoding' changes. The character will be |
| 55 | converted from Unicode to 'encoding' when needed. This does require the |
| 56 | conversion to be available, it might fail. |
| 57 | |
| 58 | When Vim was compiled without the +multi_byte feature, you need to specify the |
| 59 | character in the encoding given with 'encoding'. You might want to use |
| 60 | something 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 | |
| 68 | This defines the "oe" digraph for a character that is number 339 in Unicode |
| 69 | and 189 in latin9 (iso-8859-15). |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 70 | |
| 71 | ============================================================================== |
| 72 | 2. Using digraphs *digraphs-use* |
| 73 | |
| 74 | There are two methods to enter digraphs: *i_digraph* |
| 75 | CTRL-K {char1} {char2} or |
| 76 | {char1} <BS> {char2} |
| 77 | The first is always available; the second only when the 'digraph' option is |
| 78 | set. |
| 79 | |
| 80 | If 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 |
| 82 | first. |
| 83 | |
| 84 | Note that when you enter CTRL-K {char1}, where {char1} is a special key, Vim |
| 85 | enters the code for that special key. This is not a digraph. |
| 86 | |
| 87 | Once you have entered the digraph, Vim treats the character like a normal |
| 88 | character that occupies only one character in the file and on the screen. |
| 89 | Example: > |
| 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 | |
| 94 | The current digraphs are listed with the ":digraphs" command. Some of the |
| 95 | default ones are listed below |digraph-table|. |
| 96 | |
| 97 | For 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 | |
| 100 | The <Esc> character cannot be part of a digraph. When hitting <Esc>, Vim |
| 101 | stops digraph entry and ends Insert mode or Command-line mode, just like |
| 102 | hitting an <Esc> out of digraph context. Use CTRL-V 155 to enter meta-ESC |
| 103 | (CSI). |
| 104 | |
| 105 | If 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 |
| 107 | this, 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 | |
| 110 | You may have problems using Vim with characters which have an ASCII value |
| 111 | above 128. For example: You insert ue (u-umlaut) and the editor echoes \334 |
| 112 | in Insert mode. After leaving the Insert mode everything is fine. Note that |
| 113 | fmt removes all characters with ASCII codes above 128 from the text being |
| 114 | formatted. On some Unix systems this means you have to define the |
| 115 | environment-variable LC_CTYPE. If you are using csh, then put the following |
| 116 | line in your .cshrc: > |
| 117 | setenv LC_CTYPE iso_8859_1 |
| 118 | |
| 119 | ============================================================================== |
| 120 | 3. Default digraphs *digraphs-default* |
| 121 | |
| 122 | Vim comes with a set of default digraphs. Check the output of ":digraphs" to |
| 123 | see them. |
| 124 | |
| 125 | On most systems Vim uses the same digraphs. They work for the Unicode and |
| 126 | ISO-8859-1 character sets. These default digraphs are taken from the RFC1345 |
| 127 | mnemonics. To make it easy to remember the mnemonic, the second character has |
| 128 | a 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 | |
| 158 | Example: a: is ä and o: is ö |
| 159 | |
| 160 | These 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 |
| 162 | Vim was compiled with the |+multi_byte| feature. |
Bram Moolenaar | 3fdfa4a | 2004-10-07 21:02:47 +0000 | [diff] [blame] | 163 | |
| 164 | Exception: RFC1345 doesn't specify the euro sign. In Vim the digraph =e was |
| 165 | added for this. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 166 | *digraph-table* |
| 167 | char 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: |