仅当源文件在LaTeX中时Vim重映射[重复]

问题描述 投票:1回答:2

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

我知道我应该这样做:

inoremap ½ \frac{1}{2}

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

vim keymapping
2个回答
1
投票

您想要Filetype特定的autocmd:

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然后按物理键。


4
投票

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.