diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-11-25 15:20:02 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-11-25 15:20:02 +0100 |
commit | 6315a9ae924d2104b61d1667ea71af3ac7cf48fa (patch) | |
tree | de56592e8f6642707a93414b79c66586faea052d /runtime | |
parent | 291a9d15ed1eb1094edc8ad6dda00a6da3bd7072 (diff) |
patch 8.0.1336: cannot use imactivatefunc() unless compiled with +ximv8.0.1336
Problem: Cannot use imactivatefunc() unless compiled with +xim.
Solution: Allow using imactivatefunc() when not compiled with +xim.
(Yasuhiro Matsumoto, closes #2349)
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/doc/mbyte.txt | 37 | ||||
-rw-r--r-- | runtime/doc/options.txt | 18 |
2 files changed, 41 insertions, 14 deletions
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt index 1c3e2b13d4..8a25d83dcf 100644 --- a/runtime/doc/mbyte.txt +++ b/runtime/doc/mbyte.txt @@ -26,8 +26,9 @@ For changing the language of messages and menus see |mlang.txt|. 7. Input on X11 |mbyte-XIM| 8. Input on MS-Windows |mbyte-IME| 9. Input with a keymap |mbyte-keymap| -10. Using UTF-8 |mbyte-utf8| -11. Overview of options |mbyte-options| +10. Input with imactivatefunc() |mbyte-func| +11. Using UTF-8 |mbyte-utf8| +12. Overview of options |mbyte-options| NOTE: This file contains UTF-8 characters. These may show up as strange characters or boxes when using another encoding. @@ -1254,7 +1255,35 @@ Combining forms: ﭏ 0xfb4f Xal alef-lamed ============================================================================== -10. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8* +10. Input with imactivatefunc() *mbyte-func* + +Vim has |imactivatefunc()| and |imstatusfunc()|. This is useful to +activate/deativate input method from Vim in any way, also with an external +command. For example, fcitx provide fcitx-remote command: > + + set iminsert=2 + set imsearch=2 + set imcmdline + + set imactivatefunc=ImActivate + function! ImActivate(active) + if a:active + call system('fcitx-remote -o') + else + call system('fcitx-remote -c') + endif + endfunction + + set imstatusfunc=ImStatus + function! ImStatus() + return system('fcitx-remote')[0] is# '2' + endfunction + +Using this script, you can activate/deactivate XIM via Vim even when it is not +compiled with |+xim|. + +============================================================================== +11. Using UTF-8 *mbyte-utf8* *UTF-8* *utf-8* *utf8* *Unicode* *unicode* The Unicode character set was designed to include all characters from other character sets. Therefore it is possible to write text in any language using @@ -1402,7 +1431,7 @@ not everybody is able to type a composing character. ============================================================================== -11. Overview of options *mbyte-options* +12. Overview of options *mbyte-options* These options are relevant for editing multi-byte files. Check the help in options.txt for detailed information. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index f9acff8186..d71e7f9c46 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -4256,8 +4256,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'imactivatefunc' 'imaf' string (default "") global {not in Vi} - {only available when compiled with |+xim| and - |+GUI_GTK|} + {only available when compiled with |+mbyte|} This option specifies a function that will be called to activate/inactivate Input Method. @@ -4308,8 +4307,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'imcmdline' 'imc' boolean (default off) global {not in Vi} - {only available when compiled with the |+xim|, - |+multi_byte_ime| or |global-ime| features} + {only available when compiled with |+mbyte|} When set the Input Method is always on when starting to edit a command line, unless entering a search pattern (see 'imsearch' for that). Setting this option is useful when your input method allows entering @@ -4320,8 +4318,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'imdisable' 'imd' boolean (default off, on for some systems (SGI)) global {not in Vi} - {only available when compiled with the |+xim|, - |+multi_byte_ime| or |global-ime| features} + {only available when compiled with |+mbyte|} When set the Input Method is never used. This is useful to disable the IM when it doesn't work properly. Currently this option is on by default for SGI/IRIX machines. This @@ -4336,8 +4333,6 @@ A jump table for the options with a short description can be found at |Q_op|. 0 :lmap is off and IM is off 1 :lmap is ON and IM is off 2 :lmap is off and IM is ON - 2 is available only when compiled with the |+multi_byte_ime|, |+xim| - or |global-ime|. To always reset the option to zero when leaving Insert mode with <Esc> this can be used: > :inoremap <ESC> <ESC>:set iminsert=0<CR> @@ -4350,6 +4345,10 @@ A jump table for the options with a short description can be found at |Q_op|. The value 0 may not work correctly with Athena and Motif with some XIM methods. Use 'imdisable' to disable XIM then. + You can set 'imactivatefunc' and 'imstatusfunc' to handle IME/XIM + via external command if vim is not compiled with the |+xim|, + |+multi_byte_ime| or |global-ime|. + *'imsearch'* *'ims'* 'imsearch' 'ims' number (default -1) local to buffer @@ -4372,8 +4371,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'imstatusfunc' 'imsf' string (default "") global {not in Vi} - {only available when compiled with |+xim| and - |+GUI_GTK|} + {only available when compiled with |+mbyte|} This option specifies a function that is called to obtain the status of Input Method. It must return a positive number when IME is active. |