|
1 | | -*mbyte.txt* For Vim version 9.1. Last change: 2025 Aug 10 |
| 1 | +*mbyte.txt* For Vim version 9.1. Last change: 2025 Oct 12 |
2 | 2 |
|
3 | 3 |
|
4 | 4 | VIM REFERENCE MANUAL by Bram Moolenaar et al. |
@@ -971,6 +971,36 @@ of Windows you use. For example, on my Windows 2000 box: |
971 | 971 | The default is still English (United Stated) |
972 | 972 |
|
973 | 973 |
|
| 974 | +MS-Windows IME Compatibility *multibyte-ime-compatibility* |
| 975 | + |
| 976 | +Vim manages input methods on Windows systems via the `imm32.dll` (Input Method |
| 977 | +Manager). The implementation, dating back to the Windows 2000 era, may not be |
| 978 | +fully compatible with modern input methods. Modern input method processing |
| 979 | +has shifted to the Text Services Framework (TSF), whose behavior may not fully |
| 980 | +align with the traditional IME interface. For details about IME and TSF, |
| 981 | +refer to the Microsoft documentation website (link is omitted since MS |
| 982 | +documentation URLs often change). |
| 983 | + |
| 984 | +In some cases Vim might incorrectly enable the Input Method (IM) in Normal |
| 985 | +mode upon startup when the Windows display language is set to a CJK language. |
| 986 | +To work around this issue, try adding the following configuration to your |
| 987 | +|gvimrc| file: > |
| 988 | +
|
| 989 | + autocmd VimEnter * set imdisable | set noimdisable |
| 990 | +< |
| 991 | +If you make any progress in diagnosing or resolving these issues, feedback is |
| 992 | +welcome. |
| 993 | + |
| 994 | +Note: IME behavior can vary due to differences in implementations by different |
| 995 | +vendors. If you encounter issues with a specific input method, it is |
| 996 | +recommended to test with an alternative one. |
| 997 | + |
| 998 | +For proper integration with Vim's |+multi_byte_ime| system, changes in the |
| 999 | +input method's status must be detectable by the `ImmGetOpenStatus()` function |
| 1000 | +in Vims source code. Currently, some input methods that support multi-language |
| 1001 | +input may have internal state changes that gVim cannot capture. |
| 1002 | + |
| 1003 | + |
974 | 1004 | Cursor color when IME or XIM is on *CursorIM* |
975 | 1005 | There is a little cute feature for IME. Cursor can indicate status of IME |
976 | 1006 | by changing its color. Usually status of IME was indicated by little icon |
@@ -1108,8 +1138,8 @@ it to the Vim maintainer for inclusion in the distribution: |
1108 | 1138 |
|
1109 | 1139 | HEBREW KEYMAP *keymap-hebrew* |
1110 | 1140 |
|
1111 | | -This file explains what characters are available in UTF-8 and CP1255 encodings, |
1112 | | -and what the keymaps are to get those characters: |
| 1141 | +This file explains what characters are available in UTF-8 and CP1255 |
| 1142 | +encodings, and what the keymaps are to get those characters: |
1113 | 1143 |
|
1114 | 1144 | glyph encoding keymap ~ |
1115 | 1145 | Char UTF-8 cp1255 hebrew hebrewp name ~ |
@@ -1240,9 +1270,9 @@ Combining forms: |
1240 | 1270 | ============================================================================== |
1241 | 1271 | 10. Input with imactivatefunc() *mbyte-func* |
1242 | 1272 |
|
1243 | | -Vim has the 'imactivatefunc' and 'imstatusfunc' options. These are useful to |
1244 | | -activate/deactivate the input method from Vim in any way, also with an external |
1245 | | -command. For example, fcitx provide fcitx-remote command: > |
| 1273 | +Vim has the 'imactivatefunc' and 'imstatusfunc' options. These are useful to |
| 1274 | +activate/deactivate the input method from Vim in any way, also with an |
| 1275 | +external command. For example, fcitx provide fcitx-remote command: > |
1246 | 1276 |
|
1247 | 1277 | set iminsert=2 |
1248 | 1278 | set imsearch=2 |
|
0 commit comments