1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| #! /usr/bin/env lua
vim.api.nvim_create_autocmd("FileType",{
pattern = "tex",
callback = function()
-- 配置F4打开模板
vim.api.nvim_set_keymap("n", "<F4>", ":TTemplate<CR>", {noremap = true, silent = true})
-- 配置pdflatex编译,原vim-latex中使用\ll 默认 xelatex 编译, 注意使用%:t:r 截取文件名
vim.api.nvim_set_keymap("n", "<F6>", [[<cmd>!pdflatex % ; bibtex %:t:r.aux ; pdflatex % ; pdflatex % <CR>]], {noremap = true, silent = true})
vim.api.nvim_set_keymap("n", "<F8>", [[<cmd>!xelatex % ; bibtex %:t:r.aux ; xelatex % ; xelatex % <CR>]], {noremap = true, silent = true})
-- 配置F10编译多合一文件时,以当前目录名为主文件,以节省时间
vim.api.nvim_set_keymap("n", "<F10>", [[<cmd>!xelatex $(echo $PWD|awk -F"/" '{print $NF}').tex <CR>]], {noremap = true, silent = true})
end
})
vim.api.nvim_create_autocmd('FileType', {
pattern = 'tex',
callback = function(args)
-- 尝试停止可能存在的旧 Tree-sitter 实例(可选,更保险)
pcall(vim.treesitter.stop, args.buf)
-- 为当前 buffer 启动 Tree-sitter 解析器和高亮
vim.treesitter.start(args.buf, 'latex')
-- 关键步骤:显式关闭 Vim 原生的正则表达式高亮,避免冲突
vim.bo[args.buf].syntax = 'OFF'
end,
})
-- neovim将Shift+F5映射为F17,Shift+F7 映射为F19
vim.api.nvim_set_keymap('n', '<F17>' , '<S-F5>', { })
vim.api.nvim_set_keymap('i', '<F17>' , '<S-F5>', { })
vim.api.nvim_set_keymap('n', '<F19>' , '<S-F7>', { })
vim.api.nvim_set_keymap('i', '<F19>' , '<S-F7>', { })
-- set for vim-latex/latex-suit:winaltkeys
vim.g['Tex_Menus'] = 0
vim.g['Tex_Flavor'] = 'latex'
-- vim.g['Tex_IgnoreLevel'] = 8
-- vim.g['Tex_GotoError'] = 0
vim.g['Tex_DefaultTargetFormat'] = 'pdf'
-- 配置默认编译引擎为 xelatex
vim.g['Tex_CompileRule_pdf'] = 'xelatex -synctex=1 -interaction=nonstopmode -file-line-error-style $*'
-- 获取桌面环境,并根据桌面环境选择默认的PDF阅读器
if os.getenv("DESKTOP_SESSION") == "plasma" then
vim.g['Tex_ViewRule_pdf'] = 'okular'
else
vim.g['Tex_ViewRule_pdf'] = 'papers'
end
-- 控制统计过程中的警告信息
-- vim.g['TCLevel'] = 5
vim.g['Tex_IgnoredWarnings'] = [[
LaTeX Font Warning:
LaTeX Warning:
Warning:
Overfull
]]
vim.g['Tex_IgnoreLevel'] = 4
vim.g['Tex_GotoError'] = 0
-- 配置自定义模板路径
vim.g['Tex_CustomTemplateDirectory'] = "~/.latex-templates/"
-- 取消自动缩进
vim.g['tex_indent_items'] = 0
-- 开启Alt键
vim.g['Tex_AdvancedMath'] = 1
vim.api.nvim_set_option('winaltkeys','no')
|