On Monday, September 29, 2014 1:21:57 AM UTC-5, gevisz wrote: > > > So, Vim does not fully support utf-8 and thus using commands instead of > > abbreviations is not an option for me. > >
Nope I guess not. But abbreviations don't work in normal mode anyway which is where you wanted to use your command. > > > You could use a mapping instead of a command pretty easily. > > > > Not so easy as one can think as > > > > 1. I just cannot type mapping quick enough for it to work if > > 1) the mapping is more than 4 characters long, > > 2) I use it not very often and thus stop in the middle > > of it to recall the next character. > You could set your 'timeoutlen' to be longer if you like. > 2. I cannot use for mappings such combination of letters > > that can be encountered in usual text. That results in > > a longer and harder to remember mappings and the latter > > magnifies the reason 1 above. > > In normal mode, where you wanted to create your command, you will never be inserting text. So this reason doesn't apply. > > As to abbreviations, they have their own limitations. > > > > First of all, they cannot contain cyrillic letter "р" > > at least in utf-8 encoding and at least for now. (Well, > > actually they can but in this case they just do not > > expand.) > > That is a bug. It will be fixed. > > Second, they do not expand if typed just after other > > letter characters. > > By this, do you mean that your abbreviation must have whitespace preceding? Or something else? > > > Does it need to be a command? > > > > Yes, this alternative to mappings and abbreviations > > would be very attractive (if they can work with > > cyrillic command names, of course) as in addition > > they could use arguments, for example, to insert > > some changeable numbers in the middle of a > > non-changeable text. That could also be accomplished with a mapping, using getchar() or input() or something within the mapping. Especially if you use an <expr> mapping. But all in all...it sounds like maybe you need a snippet plugin of some sort. Do a web search, there are several. As a different approach, maybe you can look into using insert-mode completion instead of mappings or abbreviations. If you're only completing single words (separated by "non-keyword" characters) then you could potentially use dictionary completion (:help 'dictionary', :help compl-dictionary). If you have phrases also to complete, then you can define a user-completion (:help compl-function) or omni-completion (:help compl-omni) function to insert whatever you want based on whatever input you want. If you have several similar entries, you can see them all in a list. You could even parse "arguments" of sorts in your completion function for text that can change. -- -- You received this message from the "vim_use" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_use" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
