我想映射<C-j>
切换到当前窗口下面的下一个窗口
map <C-j> <C-w>j
Run Code Online (Sandbox Code Playgroud)
但是,它进入插入模式而不是移动下面的窗口.为什么?
我latex-suite
安装了.所以我试着查询<C-j>
映射到的内容
:map <C-j>
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
v <NL> <Plug>IMAP_JumpForward
n <NL> <Plug>IMAP_JumpForward
o <NL> <C-W>j
Run Code Online (Sandbox Code Playgroud)
这意味着我应该改变映射<Plug>IMAP_JumpForward
.我仔细阅读了一下,发现它与插入模式中<++>
可以跳转到的占位符有关<C-j>
.所以,根据我的阅读,我了解到我可以使用以下行更改映射.vimrc
:
imap <C-space> <Plug>IMAP_JumpForward
Run Code Online (Sandbox Code Playgroud)
但不,它不像以前那样有效<C-j>
.我会试着说明一下.我输入以下内容(_
表示光标):
\documentclass{}_
Run Code Online (Sandbox Code Playgroud)
然后我明白了
\documentclass{_}<++>
Run Code Online (Sandbox Code Playgroud)
然后我尝试输入一些文字
\documentclass{article_}<++>
Run Code Online (Sandbox Code Playgroud)
所以现在我按<C-space>
.这是发生的事情:它退出插入模式,我将处于以下情况:
\documentclass{articl_e}<++>
Run Code Online (Sandbox Code Playgroud)
map <C-j> <C-w>j
,<C-j>
进入插入模式.imap <C-space> <Plug>IMAP_JumpForward
,<C-space>
不会跳到下一个<++>
占位符.它退出插入模式,光标备份一个字符.怎么了?我错过了什么?
我建议两件事:
首先,定位映射:
nnoremap <C-j> <C-w>j
Run Code Online (Sandbox Code Playgroud)其次,通过执行以下操作找出哪些映射会干扰(以及它们来自哪里)
verbose nmap <C-j>
verbose nmap <C-w>
verbose nmap j
Run Code Online (Sandbox Code Playgroud)另请参见:map
、:imap
、:vmap
等:noremap
。
归档时间: |
|
查看次数: |
2147 次 |
最近记录: |