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

Cyd*_*ia7 2 vim keymapping

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

我知道我应该做类似的事情:

inoremap ½ \frac{1}{2}
Run Code Online (Sandbox Code Playgroud)

现在,我如何使这项工作仅适用于 LaTeX 文件?

Ing*_*kat 5

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

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

:autocmd Filetype tex inoremap <buffer> ½ \frac{1}{2}
Run Code Online (Sandbox Code Playgroud)

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