故障映射<;C-j>;带乳胶套装的Vim

故障映射<;C-j>;带乳胶套装的Vim,vim,latex,mapping,Vim,Latex,Mapping,我想映射切换到当前窗口下方的下一个窗口 map <C-j> <C-w>j 我得到以下输出: v <NL> <Plug>IMAP_JumpForward n <NL> <Plug>IMAP_JumpForward o <NL> <C-W>j 但是不,它不像以前那样工作了。我将试着举例说明。我键入以下内容(\uu表示光标): 然后我得到 \d

我想映射
切换到当前窗口下方的下一个窗口

map <C-j> <C-w>j
我得到以下输出:

v  <NL>          <Plug>IMAP_JumpForward
n  <NL>          <Plug>IMAP_JumpForward
o  <NL>          <C-W>j
但是不,它不像以前那样工作了。我将试着举例说明。我键入以下内容(
\uu
表示光标):

然后我得到

\documentclass{_}<++>
\documentclass{}
然后我试着输入一些文本

\documentclass{article_}<++>
\documentclass{article}
现在我按
。发生的情况如下:它将退出插入模式,我将处于以下情况:

\documentclass{articl_e}<++>
\documentclass{articl\u e}
问题摘要:
  • 映射j
    之后,
    进入插入模式
  • imap imap\U向前跳转之后,
    不会跳转到下一个
    占位符。它将退出插入模式,光标将备份一个字符
  • 怎么了?有什么我错过的吗?

    我建议两件事:

  • 首先,针对映射:

    nnoremap <C-j> <C-w>j
    
    nnoremap j
    
  • 其次,通过执行以下操作,找出哪些映射会干扰(以及它们来自何处)

    详细nmap
    详细nmap
    详细nmap j
    

  • 另请参见
    :map
    :imap
    :vmap
    :noremap
    等。我在这里找到了解决方案:

    你应该使用

    nnoremap <SID>I_won’t_ever_type_this <Plug>IMAP_JumpForward
    
    nnoremap我永远不会键入这个IMAP
    

    所以vim latex的imaps.vim不会重新映射。您仍然可以通过映射到更好的功能。

    我也遇到了同样的问题;对我来说,它的行为很奇怪,因为vim latex中的
    映射为正常的视觉和插入模式。在看到这个答案并检查“\bundle\vim latex\plugin”目录中的“imaps.vim”文件后,我有点感觉到了。我将下面的代码放在我的vimrc中,它似乎可以工作

    imap <C-space> <Plug>IMAP_JumpForward
    nmap <C-space> <Plug>IMAP_JumpForward
    vmap <C-space> <Plug>IMAP_JumpForward
    
    imap-imap\u前跳
    nmap IMAP_向前跳
    vmap IMAP_向前跳
    
    verbose map
    说它是从
    ~/.vim/plugin/imaps.vim
    最后设置的。正确的。我想
    .vimrc
    是最后一个源代码脚本吗?为什么
    imaps.vim
    覆盖
    .vimrc
    中的
    nnoremap
    s是我遇到的唯一有效的解决方案。谢谢!:)
    nnoremap <C-j> <C-w>j
    
    verbose nmap <C-j>     
    verbose nmap <C-w>
    verbose nmap j
    
    nnoremap <SID>I_won’t_ever_type_this <Plug>IMAP_JumpForward
    
    imap <C-space> <Plug>IMAP_JumpForward
    nmap <C-space> <Plug>IMAP_JumpForward
    vmap <C-space> <Plug>IMAP_JumpForward