我正在使用插件 vim-latex/vim-latex。这确实是一个很棒的插件。但我希望有一些我自己的映射。比如说,每当我按 4 时,我希望返回 $$,并且光标位于第二个 $ 上,或者每当我按 { 时,我希望返回 {},并且光标位于 } 上。
之前我将以下内容添加到我的.vimrc
:
inoremap 4 $$ < esc>i
inoremap { {} < esc>i
inoremap 0 <Esc>lla
最后一个是在插入模式下将光标向右移动 2 步。
但这些现在不起作用。我现在该怎么做才能实现类似的功能?提前致谢。
答案1
Vim-LaTeX 的建议是使用IMAP()
当文件类型为 时,它将查找IMAP('lhs','rhs','ft')
并将lhs
其替换为。rhs
ft
对于你的两种情况,以下工作
call IMAP('4','$<++>$','tex')
call IMAP('{','{<++>}','tex')
where<++>
是占位符,用于指示光标应该移到哪里(参见vim-LaTeX 文档或者使用 Vim LatexSuite 时 <++> 表示什么?)。
我个人更喜欢将 vim-latex 环境定义为
let g:Tex_Env_m = "$ <++> $<++>"
然后可以调用它mF5来生成内联数学运算。
响应评论,可以使用Ctrl+O例如调用非插入模式的内容
call IMAP('3',"\<C-O>f{",'tex')
将暂时使用正常模式执行,f{
并将找到下一个{
,然后进入插入模式。