I recently installed Tim Pope's eunuch.vim plugin and soon
discovered that my abbreviations were no longer being expanded when
followed by a <CR>. The eunuch.vim plugin executes a mapping that
maps <CR> to <CR> followed by some processing of the line and tries
to make that mapping and processing invisible to the user unless
some trigger conditions are met.
It appears that a <CR> in the RHS of a straight :imap like this,
:imap <CR> <CR>do_something
expands abbreviations as expected, but in an :inoremap or an ":imap
<script>" mapping, like either of these,
:inoremap <CR> <CR>do_something
:imap <script> <CR> <CR>do_something
typing a <CR> executes the RHS of the mapping but fails to expand an
abbreviation.
To reproduce this without the eunuch.vim plugin, do the following.
Create an abbreviation like this,
:ab st sometext
then type st on a line followed by Enter (a <CR>). The st is
replaced by sometext, as expected:
sometext
Then map <CR> to <CR> followed by some action,
:imap <CR> <CR>dosomething
(in this case, just inserting the text "dosomething" on the next
line) and then type st on a line followed by Enter. The
abbreviation is still expanded first, then the rest of the mapping
is performed, again as expected:
sometext
dosomething
Then map <CR> to <CR> followed by some action using either of these:
:inoremap <CR> <CR>dosomething
:imap <script> <CR> <CR>dosomething
When the abbreviation is typed, followed by Enter, the abbreviation
is no longer expanded before the rest of the mapping is performed,
so the result looks like this:
st
dosomething
Is this a bug or am I missing something?
This happens with Vim versions 8.2.4931 and 8.1.2741 on a system
running Ubuntu 20.04.
Regards,
Gary
--
--
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 vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/20220511210857.GA11054%40phoenix.
No comments:
Post a Comment