-->

Vim的重映射仅在源文件中的LaTeX [复制](Vim remap only if source

2019-10-19 00:15发布

这个问题已经在这里有一个答案:

  • Vim的inoremap为特定文件类型 5个回答
  • 有没有更好的方法来映射基于文件类型[复制]命令调用 2个回答

我有我的键盘上的一个键半,有时我想使用它,当我在Vim的编辑乳胶扩大到合适的表情,即\frac{1}{2}

我知道我应该这样做:

inoremap ½ \frac{1}{2}

现在,我该如何使这项工作只用LaTeX文件?

Answer 1:

你想Fietype特定的自动命令:

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

尝试类似的东西。 这依赖于Filetype选项是(见这里 )。 你可以把它set Filetype on

您也可以使用,阅读或创建一个新的文件时的文件名检查自动命令:

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

此外,你应该确认打你的键盘上的按键的1/2实际上输入的1/2符号,否则显然这是行不通的。 无论如何,你可以找出代码中的1/2键实际插入(插入模式)按下ctrl-v和随后的物理按键。



Answer 2:

你会得到通过的映射的缓冲区局部变形<buffer>修改。

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

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

但是,GET的笨拙为您添加映射和其他设置各种文件类型。 最好把命令(或多个)到~/.vim/ftplugin/tex_mappings.vim 。 (这需要你有:filetype plugin on 。)



文章来源: Vim remap only if source file is in LaTeX [duplicate]