On 04/12/08 15:19, fritzophrenic wrote:
> This tip:
>
> http://vim.wikia.com/wiki/Change_end-of-line_format_for_dos-mac-unix
>
> mentions the ability to enter a CR character (^M) on the command line
> by typing<C-K><Enter><Enter>.
>
> It works, but I'm a little confused as to why. I would expect<C-K>CR
> to insert a ^M, because that is the defined digraph. This works as
> expected. I would expect<C-K><Enter>  to insert<CR>  (the 4 literal
> characters) as defined for "special keys" in :help c_CTRL-K. This does
> nothing, though<C-K><S-Enter>  does insert a literal "<S-CR>". I
> certainly don't understand why<C-K><Enter><Enter>  inserts the ^M
> character.
>
> What's going on?
>

OK, here's (after some experimenting) what I think is happening. All the 
following assume Insert mode

        Special case 1: <Ctrl-K> <Space> <key1> or <Ctrl-K> <key1> <Space>
where <key1> corresponds to a single character in the range [0x00-0x7F]: 
enter that character plus 0x80. This is normally the same as Alt-<key1>.

        Special case 2: <Ctrl-K> <key1>
where <key1> does _not_ represent a character: enter the <> 
representation of of <key1>. This is not a digraph.

        General case: <Ctrl-K> <key1> <key2>
If there is a defined digraph for <key1> <key2>, enter it into the 
buffer. Otherwise, if there is a defined digraph for <key2> <key1>, 
enter that. Otherwise, enter <key2> (and discard <key1>).

When you hit <Ctrl-K> <Enter> <Enter> you are not in Special case 2, 
because <Enter> does represent a character, namely the carriage-return 
or Ctrl-M character 0x0D. So you fall back onto the third branch of the 
general case, and you get a ^M (a literal carriage-return), exactly as 
if you had hit Ctrl-V followed by Enter.

When you hit <Ctrl-K> <Shift-Enter>, gvim knows that Shift-Enter is not 
the same as Enter, so it does not regard it as the Ctrl-M character but 
as "not a character" and you get Special case 2. (Console Vim does not 
always notice the difference between Enter and Shift-Enter -- on my 
Linux system it doesn't, neither in KDE konsole not in the Linux 
raw-text console.)


Best regards,
Tony.
-- 
You will think of something funnier than this to add to the fortunes.

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_use" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Reply via email to