我可以将某种形式的符号补全集成到Vim吗?像TeXMaker这样的专用TeX编辑器会提供一个完整的符号列表(例如,\al显示带有\alpha的列表,\la显示\lambda\langle)。因此涉及将\al手动映射到\alpha的建议将毫无用处。

相关的插件我有:




带有Q4312079q和
的SuperTab let g:SuperTabDefaultCompletionType="context"

LaTeX-Box

如果有关系,我使用XeLaTeX进行编译。

相关:


如何查找符号或识别数学符号或字符?


评论

与此互补的是,当您知道如何绘制字符但又不记得命令名称时,可以进行细化处理。

我计划根据例如乳胶套件所使用的字典补全功能,向vimtex添加此类功能。 vimtex是一个相对较新的插件,基于LaTeX-Box,因此应该有点熟悉。

@KarlYngveLervåg我最近切换到了vimtex。您是否可以添加此功能?然后,我可以对字典进行核对,也许您可​​以使用vimtex作为答案进行发布。

是。我建议您对复杂的扩展使用摘要,但对于简单的扩展,可以查看:h vimtex-imaps来描述在vimtex中实现的功能。

#1 楼

为了在LaTeX中扩展命令,我使用了一个从乳胶套件复制的字典(详细说明是此字典),并将其放在~/.vim/dictionaries中,然后使用

autocmd FileType * exec("setlocal dictionary+=".$HOME."/.vim/dictionaries/".expand('<amatch>'))
set completeopt=menuone,longest,preview
set complete+=k


从这里开始。我将它与supertab一起使用;字典文件并没有真正完成(它具有\alpha但没有\langle),但这是完成它的问题...

添加符号的一种选择是解析(不复杂-只需一点外壳魔术就能做到)detexify数据库。例如,可以使用:

{ curl -sL https://raw.githubusercontent.com/kirel/detexify/master/lib/latex/symbols.yaml |
   grep -Po '(?<=\)[[:alpha:]]{2,}';
   curl -sL https://raw.githubusercontent.com/gerw/vim-latex-suite/master/ftplugin/latex-suite/dictionaries/dictionary
} | sort -u | tee ~/.vim/dictionaries/tex


评论


我知道@muru不会拒绝寻找正确的脚本!顺便说一句,最好也从乳胶套装词典中添加关键字...

–罗马诺
2015年3月4日19:15



做完了它从detexify列表中添加了600多个单词。 :)

–muru
2015年3月4日19:40

#2 楼

您可以将Snipmate或Ultisnips之类的代码段补全插件与此多语言代码段集合结合使用。