add latex config using vimtex and change neotree to auto chdir work dir

This commit is contained in:
gameloader 2023-09-20 23:55:31 +08:00
parent e559ba5a58
commit 2e06e0d601
11 changed files with 75 additions and 15 deletions

View File

@ -10,6 +10,7 @@ require("plugin-config/treesitter")
require("plugin-config/telescope") require("plugin-config/telescope")
require("plugin-config/whichkey") require("plugin-config/whichkey")
require("plugin-config/comment") require("plugin-config/comment")
require("plugin-config/vimtex")
require("plugin-config/mason") require("plugin-config/mason")
require("plugin-config/lua_line") require("plugin-config/lua_line")
require("plugin-config/notify") require("plugin-config/notify")

View File

@ -27,6 +27,12 @@ function set_colorscheme()
end end
end end
function auto_chdir()
local filename = vim.fn.expand("%:p")
local directory = vim.fn.fnamemodify(filename, ":h")
vim.cmd("cd " .. directory)
end
local autoCommands = { local autoCommands = {
-- other autocommands -- other autocommands
open_folds = { open_folds = {
@ -36,7 +42,7 @@ local autoCommands = {
{ "VimEnter", "*", "lua set_colorscheme()" }, { "VimEnter", "*", "lua set_colorscheme()" },
}, },
auto_change_directory = { auto_change_directory = {
{ "BufEnter", "*", "lcd %:p:h" }, { "BufEnter", "*", "lua auto_chdir()" },
}, },
} }

View File

@ -100,6 +100,25 @@ wk.register({
}, },
}) })
-- 定义开关quickfix窗口的函数
local function toggle_quickfix()
-- 获取所有窗口的信息
local wininfo = vim.fn.getwininfo()
-- 遍历所有窗口
for _, win in pairs(wininfo) do
-- 如果这个窗口是 quickfix 窗口
if win.quickfix == 1 then
-- 关闭 quickfix 窗口
vim.cmd("cclose")
-- 返回,不再继续查找
return
end
end
-- 如果没有找到 quickfix 窗口,就打开一个
vim.cmd("copen")
end
-- Bufferline and buffer related -- Bufferline and buffer related
wk.register({ wk.register({
["<Leader>b"] = { ["<Leader>b"] = {
@ -110,7 +129,12 @@ wk.register({
n = { ":ls<CR>", "Buffer numbers" }, n = { ":ls<CR>", "Buffer numbers" },
c = { ":noh<CR>", "Cancel highlight" }, c = { ":noh<CR>", "Cancel highlight" },
C = { ":call setqflist([], 'r')<CR>", "Clear quickfix" }, C = { ":call setqflist([], 'r')<CR>", "Clear quickfix" },
q = { ":copen<CR>", "Open quickfix" }, q = {
function()
toggle_quickfix()
end,
"Toggle quickfix",
},
s = { ":Telescope current_buffer_fuzzy_find<CR>", "Searching in buffer" }, s = { ":Telescope current_buffer_fuzzy_find<CR>", "Searching in buffer" },
}, },
}) })

View File

@ -21,6 +21,7 @@ cmp.setup({
sources = cmp.config.sources({ sources = cmp.config.sources({
{ name = "orgmode" }, { name = "orgmode" },
{ name = "nvim_lsp" }, { name = "nvim_lsp" },
{ name = "omni" },
-- For vsnip users. -- For vsnip users.
-- { name = "vsnip" }, -- { name = "vsnip" },
-- For luasnip users. -- For luasnip users.

View File

@ -0,0 +1 @@
return require("lsp.config.basic_config")

View File

@ -8,7 +8,7 @@ local servers = {
lua_ls = require("lsp.config.lua"), -- lua/lsp/config/lua.lua lua_ls = require("lsp.config.lua"), -- lua/lsp/config/lua.lua
clangd = require("lsp.config.clangd"), clangd = require("lsp.config.clangd"),
gopls = require("lsp.config.gopls"), gopls = require("lsp.config.gopls"),
eslint = require("lsp.config.eslint"), -- eslint = require("lsp.config.eslint"),
-- r_language_server = require("lsp.config.r"), -- r_language_server = require("lsp.config.r"),
-- csharp_ls = require("lsp.config.csharp"), -- csharp_ls = require("lsp.config.csharp"),
omnisharp = require("lsp.config.csharp"), omnisharp = require("lsp.config.csharp"),
@ -16,12 +16,13 @@ local servers = {
pyright = require("lsp.config.pyright"), pyright = require("lsp.config.pyright"),
marksman = require("lsp.config.marksman"), marksman = require("lsp.config.marksman"),
pylsp = require("lsp.config.pylsp"), pylsp = require("lsp.config.pylsp"),
volar = require("lsp.config.vue"), -- texlab = require("lsp.config.texlab"),
-- volar = require("lsp.config.vue"),
-- html = require("lsp.config.html"), -- html = require("lsp.config.html"),
-- cssls = require("lsp.config.css"), -- cssls = require("lsp.config.css"),
-- emmet_ls = require("lsp.config.emmet"), -- emmet_ls = require("lsp.config.emmet"),
-- jsonls = require("lsp.config.json"), -- jsonls = require("lsp.config.json"),
-- tsserver = require("lsp.config.ts"), tsserver = require("lsp.config.ts"),
-- rust_analyzer = require("lsp.config.rust"), -- rust_analyzer = require("lsp.config.rust"),
-- yamlls = require("lsp.config.yamlls"), -- yamlls = require("lsp.config.yamlls"),
-- remark_ls = require("lsp.config.markdown"), -- remark_ls = require("lsp.config.markdown"),

View File

@ -15,12 +15,12 @@ require("null-ls").setup({
require("null-ls").builtins.formatting.stylua, require("null-ls").builtins.formatting.stylua,
require("null-ls").builtins.formatting.styler, require("null-ls").builtins.formatting.styler,
require("null-ls").builtins.formatting.clang_format.with({ require("null-ls").builtins.formatting.clang_format.with({
disabled_filetypes = { "cs" }, disabled_filetypes = { "cs", "js" },
}), }),
require("null-ls").builtins.formatting.csharpier, require("null-ls").builtins.formatting.csharpier,
require("null-ls").builtins.formatting.gofmt, require("null-ls").builtins.formatting.gofmt,
require("null-ls").builtins.formatting.black, require("null-ls").builtins.formatting.black,
require("null-ls").builtins.formatting.eslint_d, require("null-ls").builtins.formatting.prettier,
require("null-ls").builtins.formatting.jq, require("null-ls").builtins.formatting.jq,
}, },
-- you can reuse a shared lspconfig on_attach callback here -- you can reuse a shared lspconfig on_attach callback here

View File

@ -2,5 +2,7 @@ require("neo-tree").setup({
window = { window = {
width = "25%", -- Width of the Neo-tree window width = "25%", -- Width of the Neo-tree window
}, },
update_cwd = true, filesystem = {
bind_to_cwd = true,
},
}) })

View File

@ -24,13 +24,16 @@ require("nvim-treesitter.configs").setup({
-- list of language that will be disabled -- list of language that will be disabled
-- disable = { "c", "rust" }, -- disable = { "c", "rust" },
-- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files -- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files
disable = function(lang, buf) disable = {
local max_filesize = 100 * 1024 -- 100 KB "latex",
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) function(lang, buf)
if ok and stats and stats.size > max_filesize then local max_filesize = 100 * 1024 -- 100 KB
return true local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
end if ok and stats and stats.size > max_filesize then
end, return true
end
end,
},
-- Setting this to true will run `:h syntax` and tree-sitter at the same time. -- Setting this to true will run `:h syntax` and tree-sitter at the same time.
-- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation).

View File

@ -0,0 +1,17 @@
-- This is necessary for VimTeX to load properly. The "indent" is optional.
-- Note that most plugin managers will do this automatically.
vim.cmd("filetype plugin indent on")
-- This enables Vim's and Neovim's syntax-related features. Without this, some
-- VimTeX features will not work (see ":help vimtex-requirements" for more info).
vim.cmd("syntax enable")
-- Viewer options: One may configure the viewer either by specifying a built-in
-- viewer method:
vim.g.vimtex_view_method = "skim"
-- vim.g.vimtex_view_general_options = "--unique file:@pdf\\#src:@line@tex"
vim.g.vimtex_complete_close_braces = 1
vim.g.vimtex_syntax_enabled = 1
vim.g.vimtex_compiler_latexmk_engines = {
["_"] = "-xelatex",
}

View File

@ -60,6 +60,9 @@ return require("packer").startup(function()
}, },
}) })
----------------latex------------------
use("lervag/vimtex")
-- vim dashboard -- vim dashboard
-- vim 开始界面 -- vim 开始界面
use({ use({
@ -186,6 +189,7 @@ return require("packer").startup(function()
use("hrsh7th/cmp-nvim-lsp") -- { name = nvim_lsp } use("hrsh7th/cmp-nvim-lsp") -- { name = nvim_lsp }
use("hrsh7th/cmp-buffer") -- { name = 'buffer' }, use("hrsh7th/cmp-buffer") -- { name = 'buffer' },
use("hrsh7th/cmp-path") -- { name = 'path' } use("hrsh7th/cmp-path") -- { name = 'path' }
use("hrsh7th/cmp-omni") -- { name = 'omni' }
use("hrsh7th/cmp-cmdline") -- { name = 'cmdline' } use("hrsh7th/cmp-cmdline") -- { name = 'cmdline' }
use("hrsh7th/cmp-nvim-lsp-signature-help") -- { name = 'nvim_lsp_signature_help' } use("hrsh7th/cmp-nvim-lsp-signature-help") -- { name = 'nvim_lsp_signature_help' }
-- 常见编程语言代码段 -- 常见编程语言代码段