仅当源文件在LaTeX中时,Vim才会重映射

时间:2013-11-14 18:38:50

标签: vim keymapping

我的键盘上有一把½键,有时我想在Vim中编辑LaTeX时使用它来扩展到正确的表达式\frac{1}{2}

我知道我应该这样做:

inoremap ½ \frac{1}{2}

现在,我如何才能使用LaTeX文件?

2 个答案:

答案 0 :(得分:4)

您将通过<buffer>修饰符获得映射的缓冲区本地变体。

要定义所有 Tex 缓冲区的映射,您可以在:autocmd事件上使用FileType:setlocal filetype?将告诉您实际的文件类型):

:autocmd Filetype tex inoremap <buffer> ½ \frac{1}{2}

但是,当您为各种文件类型添加映射和其他设置时,这会变得笨拙。最好将命令放入~/.vim/ftplugin/tex_mappings.vim。 (这要求您拥有:filetype plugin on。)

答案 1 :(得分:1)

你想要Fietype特定的autocmds:

autocmd Filetype tex,latex inoremap ½ \frac{1}{2}

尝试类似的东西。这取决于Filetype选项的开启(请参阅here)。您可以使用set Filetype on

进行设置

您还可以使用autocmd在读取或创建新文件时检查文件名:

autocmd BufNewFile,BufRead *.latex inoremap ½ \frac{1}{2}

另外,你应该确认击中键盘上的1/2键实际上输入了1/2符号,否则显然这不会起作用。无论如何,你可以找出1/2键实际插入的代码(在插入模式下)按ctrl-v然后按物理键。