Check whether you have one with :verbose imap, and consider unsetting it to test whether it helps with the issue. TL DR: a possible reason for this issue is an remap. Heavy dependency on escape characters seem to be the possible cause, though I'm not sure how that accounts for remapped to itself non-recursively breaks arrows, but exiting into normal mode still works fine. I'm assuming it's related to how terminals in general handle input, and by extension, how vim is required to handle it. Some local testing even makes vim trip on inoremap. Largely intended for gvim use, but for some reason I don't entirely understand, terminal Vim didn't like this. In my case, I had a map like this: inoremap pumvisible() ? ":pclose" : "\" by sending it that sequence!ġ: One likely possibility is the CSI sequence: ^[[DĪdding my comment as an answer on Rich's advice while mappings don't apply in this case specifically, it's still a possible cause of the problem Note that you are then setting the escape sequence directly to what Vim receives when you press the arrow key. set =Īnd then, still in insert mode, press Ctrl-V followed by the left arrow. You cannot just type ^ followed by [! The easiest way to enter the mappings is to enter e.g. Note that the ^[ in the above is a literal ESC character. You can do this by setting its terminal options thus: set =^[OA However, the easiest fix is probably to inform Vim directly what escape sequences to expect.
I infer from your comments that you are using the default Mac Terminal.app: You can change what escape sequences are sent for each keystroke in Preferences → Profiles → Your profile → Keyboard. A slightly hacky fix is to change what your terminal sends to match what Vim is expecting. The correct way to fix this would be to fix your terminal configuration so that your terminfo database reports the sequences that are actually sent when you press the arrow keys, but doing so can be complicated. If you see anything else 1, then Vim and your terminal are not quite speaking the same language. In a working setup with your current terminal configuration, this should give either of the following outputs: t_kl ^[O*D You can check this with the following command: :set ? It's more likely that the problem is that Vim doesn't recognise the escape sequence sent, and so is interpreting it as keystrokes. However, given your setup, this is pretty unlikely to be the issue. This is described in :help vt100-cursor-keys and further in :help timeout - the suggested solution is to set a sufficiently large ttimeoutlen, but disabling timeouts entirely by setting both notimeout and nottimeout would also work. It's possible therefore on slow terminals or very busy systems that there is sufficient delay between each character that Vim is deciding it's not an escape sequence and just interpreting the keystrokes as described above. The only way that Vim can distinguish the escape sequence from the same three characters manually typed in is by the time that occurs between the receipt of each character. What's going wrong The escape sequence might be timing out You can confirm that this is what your terminal is sending by entering insert mode and then pressing Ctrl-V followed by the Left arrow.
In case of a problem first use the vanilla skin, with no modifications and external libraries and check if the local preview works while adding the extras one-by-one.īy the way, this is a really gorgeous album, congrats! I'd be glad to put a link to it on our Samples page if you agree.When you press the left arrow, your terminal is sending the following escape sequence: ESC O D In the Settings / Story / Site / Footer / Custom content box. In the BODY section you might want to add
The skin is already optimized - no need for CloudFlare's rocket loader script. Finally it's in their grace if they forward the click event to the skin or not. Any of these can cause irregular behavior.įor example the library - rocket-loader.js - takes over the click handling from the skin.
You probably also edited the skin code and for example moved the button in question to another place. You have added a few external libraries, and some code which is not valid.