New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Chinese, Japanese, Korean] default value of iminsert should be 0 #2071

Closed
mattn opened this Issue Sep 7, 2017 · 6 comments

Comments

Projects
None yet
4 participants
@mattn

mattn commented Sep 7, 2017

Hi, Vim users in Asian.

Maybe, I believe that you are using input method on Vim every days. As you know, iminsert, imsearch, imcmdline is an option to switch mode of input method. And the default value is 2 when an input method is supported.

	Insert mode.  Valid values:
		0	:lmap is off and IM is off
		1	:lmap is ON and IM is off
		2	:lmap is off and IM is ON

For Japanese input method, when input method is activated, it start preediting to input multi-byte strings. i.e. We can not input alphabet letters. Since the default value of iminsert/imsearch/imcmdline is 2, input method is activated when insert mode. To input alphabet, we must type activation-key of input method to disable input method every time when Vim goes insert-mode or search-mode. This behavior often makes user confusing. In the case that beginners start to learn Vim using vimtutor, they will type keys as mentioned in lesson. They have should have frustration because they must type activation-key for each time to enter insert mode.

However, I don't know all of input method in the world. I'm not sure, even though input method is activated, but some of them may be possible to input alphabet So I want to collect the opinions whether we can change the default value of iminsert/imsearch/imcmdline.

If you want to keep it as 2, I want to suggest to change behavior as which vim set the best value for the locale.

I'm looking for your opinion.

Regards.

@tonymec

This comment has been minimized.

Show comment
Hide comment
@tonymec

tonymec Sep 7, 2017

I know that there is at least one input method for Latin alphabet, so the user can type not only the 26x2 ASCII letters [A-Za-z] but also strange "modified" Latin letters as used in Turkish, Polish, Czech, Vietnamese, etc.; or even in my native French.

This said, I still favour defaulting 'iminsert' to 0 and 'imsearch' to -1 (which means "use 'iminsert' value for 'imsearch' too). A user wanting to input, say, Turkish, will then leave it unchanged if he has a native Turkish keyboard, set it to 1 (implicitly) by use of ":setlocal keymap=" with some Turkish keymap, or to 2 if he wants to use that "Latin" input method server.

Similarly, mutatis mutandis, for East Asian languages or for any other language for which an input method is available.

Best regards,
Tony.

tonymec commented Sep 7, 2017

I know that there is at least one input method for Latin alphabet, so the user can type not only the 26x2 ASCII letters [A-Za-z] but also strange "modified" Latin letters as used in Turkish, Polish, Czech, Vietnamese, etc.; or even in my native French.

This said, I still favour defaulting 'iminsert' to 0 and 'imsearch' to -1 (which means "use 'iminsert' value for 'imsearch' too). A user wanting to input, say, Turkish, will then leave it unchanged if he has a native Turkish keyboard, set it to 1 (implicitly) by use of ":setlocal keymap=" with some Turkish keymap, or to 2 if he wants to use that "Latin" input method server.

Similarly, mutatis mutandis, for East Asian languages or for any other language for which an input method is available.

Best regards,
Tony.

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Sep 8, 2017

@tonymec Thanks for your suggestion. I think the user who want to use IM set iminsert/imsearch their self in their vimrc. The problem is that default value of iminsert/imsearch is 2 for all users. AFAIK, most of text editor doesn't activate IM on startup.

mattn commented Sep 8, 2017

@tonymec Thanks for your suggestion. I think the user who want to use IM set iminsert/imsearch their self in their vimrc. The problem is that default value of iminsert/imsearch is 2 for all users. AFAIK, most of text editor doesn't activate IM on startup.

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn Sep 16, 2017

@brammool As I wrote in above, I want to change default value of iminsert/imsearch. How do you think?

mattn commented Sep 16, 2017

@brammool As I wrote in above, I want to change default value of iminsert/imsearch. How do you think?

@brammool brammool closed this in 4cf56bb Sep 16, 2017

@brammool

This comment has been minimized.

Show comment
Hide comment
@brammool

brammool Sep 16, 2017

Contributor
Contributor

brammool commented Sep 16, 2017

@mattn

This comment has been minimized.

Show comment
Hide comment
@mattn

mattn commented Sep 16, 2017

Thanks!

@k-takata

This comment has been minimized.

Show comment
Hide comment
@k-takata

k-takata Sep 16, 2017

Member

As a Japanese vim user, this setting was very annoying for me. So I'm really glad about this change. I hope this doesn't cause troubles for other Asian people.

Member

k-takata commented Sep 16, 2017

As a Japanese vim user, this setting was very annoying for me. So I'm really glad about this change. I hope this doesn't cause troubles for other Asian people.

adizero pushed a commit to adizero/vim that referenced this issue May 19, 2018

patch 8.0.1114: default for 'iminsert' is annoying
Problem:    Default for 'iminsert' is annoying.
Solution:   Make the default always zero. (Yasuhiro Matsumoto, closes #2071)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment