update settings
This commit is contained in:
parent
068a0f3f93
commit
184d288776
4 changed files with 183 additions and 138 deletions
|
|
@ -5,14 +5,16 @@ local function augroup(name)
|
||||||
return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true })
|
return vim.api.nvim_create_augroup("lazyvim_" .. name, { clear = true })
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local autocmd = vim.api.nvim_create_autocmd
|
||||||
|
|
||||||
-- Check if we need to reload the file when it changed
|
-- Check if we need to reload the file when it changed
|
||||||
vim.api.nvim_create_autocmd({ "FocusGained", "TermClose", "TermLeave" }, {
|
autocmd({ "FocusGained", "TermClose", "TermLeave" }, {
|
||||||
group = augroup("checktime"),
|
group = augroup("checktime"),
|
||||||
command = "checktime",
|
command = "checktime",
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Highlight on yank
|
-- Highlight on yank
|
||||||
vim.api.nvim_create_autocmd("TextYankPost", {
|
autocmd("TextYankPost", {
|
||||||
group = augroup("highlight_yank"),
|
group = augroup("highlight_yank"),
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.highlight.on_yank()
|
vim.highlight.on_yank()
|
||||||
|
|
@ -20,7 +22,7 @@ vim.api.nvim_create_autocmd("TextYankPost", {
|
||||||
})
|
})
|
||||||
|
|
||||||
-- resize splits if window got resized
|
-- resize splits if window got resized
|
||||||
vim.api.nvim_create_autocmd({ "VimResized" }, {
|
autocmd({ "VimResized" }, {
|
||||||
group = augroup("resize_splits"),
|
group = augroup("resize_splits"),
|
||||||
callback = function()
|
callback = function()
|
||||||
vim.cmd("tabdo wincmd =")
|
vim.cmd("tabdo wincmd =")
|
||||||
|
|
@ -28,7 +30,7 @@ vim.api.nvim_create_autocmd({ "VimResized" }, {
|
||||||
})
|
})
|
||||||
|
|
||||||
-- go to last loc when opening a buffer
|
-- go to last loc when opening a buffer
|
||||||
vim.api.nvim_create_autocmd("BufReadPost", {
|
autocmd("BufReadPost", {
|
||||||
group = augroup("last_loc"),
|
group = augroup("last_loc"),
|
||||||
callback = function()
|
callback = function()
|
||||||
local exclude = { "gitcommit" }
|
local exclude = { "gitcommit" }
|
||||||
|
|
@ -45,7 +47,7 @@ vim.api.nvim_create_autocmd("BufReadPost", {
|
||||||
})
|
})
|
||||||
|
|
||||||
-- close some filetypes with <q>
|
-- close some filetypes with <q>
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
autocmd("FileType", {
|
||||||
group = augroup("close_with_q"),
|
group = augroup("close_with_q"),
|
||||||
pattern = {
|
pattern = {
|
||||||
"PlenaryTestPopup",
|
"PlenaryTestPopup",
|
||||||
|
|
@ -69,7 +71,7 @@ vim.api.nvim_create_autocmd("FileType", {
|
||||||
})
|
})
|
||||||
|
|
||||||
-- wrap and check for spell in text filetypes
|
-- wrap and check for spell in text filetypes
|
||||||
vim.api.nvim_create_autocmd("FileType", {
|
autocmd("FileType", {
|
||||||
group = augroup("wrap_spell"),
|
group = augroup("wrap_spell"),
|
||||||
pattern = { "gitcommit", "markdown" },
|
pattern = { "gitcommit", "markdown" },
|
||||||
callback = function()
|
callback = function()
|
||||||
|
|
@ -79,7 +81,7 @@ vim.api.nvim_create_autocmd("FileType", {
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Auto create dir when saving a file, in case some intermediate directory does not exist
|
-- Auto create dir when saving a file, in case some intermediate directory does not exist
|
||||||
vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
autocmd({ "BufWritePre" }, {
|
||||||
group = augroup("auto_create_dir"),
|
group = augroup("auto_create_dir"),
|
||||||
callback = function(event)
|
callback = function(event)
|
||||||
if event.match:match("^%w%w+://") then
|
if event.match:match("^%w%w+://") then
|
||||||
|
|
@ -89,3 +91,9 @@ vim.api.nvim_create_autocmd({ "BufWritePre" }, {
|
||||||
vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p")
|
vim.fn.mkdir(vim.fn.fnamemodify(file, ":p:h"), "p")
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
autocmd({ "BufWritePre" }, {
|
||||||
|
group = augroup("remove_trailing_whitespace"),
|
||||||
|
pattern = "*",
|
||||||
|
command = [[%s/\s\+$//e]],
|
||||||
|
})
|
||||||
|
|
|
||||||
|
|
@ -143,6 +143,7 @@ return {
|
||||||
"luap",
|
"luap",
|
||||||
"markdown",
|
"markdown",
|
||||||
"markdown_inline",
|
"markdown_inline",
|
||||||
|
"nix",
|
||||||
"python",
|
"python",
|
||||||
"query",
|
"query",
|
||||||
"regex",
|
"regex",
|
||||||
|
|
@ -220,6 +221,7 @@ return {
|
||||||
|
|
||||||
{
|
{
|
||||||
"stevearc/oil.nvim",
|
"stevearc/oil.nvim",
|
||||||
|
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||||
cmd = { "Oil" },
|
cmd = { "Oil" },
|
||||||
keys = {
|
keys = {
|
||||||
{
|
{
|
||||||
|
|
@ -229,109 +231,133 @@ return {
|
||||||
end,
|
end,
|
||||||
desc = "Open parent directory",
|
desc = "Open parent directory",
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"<leader>e",
|
||||||
|
function()
|
||||||
|
-- split window then open oil
|
||||||
|
-- vim.cmd.vsplit()
|
||||||
|
require("oil").open()
|
||||||
|
end,
|
||||||
|
desc = "Open current directory",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<leader>E",
|
||||||
|
function()
|
||||||
|
-- split window then open oil
|
||||||
|
-- vim.cmd.vsplit()
|
||||||
|
require("oil").open(".")
|
||||||
|
end,
|
||||||
|
desc = "Open current directory",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
opts = {
|
opts = {
|
||||||
default_file_explorer = true,
|
default_file_explorer = true,
|
||||||
restore_win_options = true,
|
restore_win_options = true,
|
||||||
},
|
},
|
||||||
-- Optional dependencies
|
init = function()
|
||||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
if vim.fn.argc() == 1 then
|
||||||
|
local stat = vim.loop.fs_stat(vim.fn.argv(0))
|
||||||
|
if stat and stat.type == "directory" then
|
||||||
|
require("oil")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
-- file explorer
|
-- file explorer
|
||||||
{
|
-- {
|
||||||
"nvim-neo-tree/neo-tree.nvim",
|
-- "nvim-neo-tree/neo-tree.nvim",
|
||||||
branch = "v3.x",
|
-- branch = "v3.x",
|
||||||
cmd = "Neotree",
|
-- cmd = "Neotree",
|
||||||
dependencies = {
|
-- dependencies = {
|
||||||
"nvim-lua/plenary.nvim",
|
-- "nvim-lua/plenary.nvim",
|
||||||
"MunifTanjim/nui.nvim",
|
-- "MunifTanjim/nui.nvim",
|
||||||
},
|
-- },
|
||||||
keys = {
|
-- keys = {
|
||||||
{
|
-- {
|
||||||
"<leader>fE",
|
-- "<leader>fE",
|
||||||
function()
|
-- function()
|
||||||
local Util = require("rayandrew.util")
|
-- local Util = require("rayandrew.util")
|
||||||
require("neo-tree.command").execute({
|
-- require("neo-tree.command").execute({
|
||||||
toggle = true,
|
-- toggle = true,
|
||||||
dir = Util.get_root(),
|
-- dir = Util.get_root(),
|
||||||
})
|
-- })
|
||||||
end,
|
-- end,
|
||||||
desc = "Explorer NeoTree (root dir)",
|
-- desc = "Explorer NeoTree (root dir)",
|
||||||
},
|
-- },
|
||||||
{
|
-- {
|
||||||
"<leader>fe",
|
-- "<leader>fe",
|
||||||
function()
|
-- function()
|
||||||
require("neo-tree.command").execute({
|
-- require("neo-tree.command").execute({
|
||||||
toggle = true,
|
-- toggle = true,
|
||||||
dir = vim.loop.cwd(),
|
-- dir = vim.loop.cwd(),
|
||||||
})
|
-- })
|
||||||
end,
|
-- end,
|
||||||
desc = "Explorer NeoTree (cwd)",
|
-- desc = "Explorer NeoTree (cwd)",
|
||||||
},
|
-- },
|
||||||
{
|
-- {
|
||||||
"<leader>E",
|
-- "<leader>E",
|
||||||
"<leader>fE",
|
-- "<leader>fE",
|
||||||
desc = "Explorer NeoTree (root dir)",
|
-- desc = "Explorer NeoTree (root dir)",
|
||||||
remap = true,
|
-- remap = true,
|
||||||
},
|
-- },
|
||||||
{
|
-- {
|
||||||
"<leader>e",
|
-- "<leader>e",
|
||||||
"<leader>fe",
|
-- "<leader>fe",
|
||||||
desc = "Explorer NeoTree (cwd)",
|
-- desc = "Explorer NeoTree (cwd)",
|
||||||
remap = true,
|
-- remap = true,
|
||||||
},
|
-- },
|
||||||
},
|
-- },
|
||||||
deactivate = function()
|
-- deactivate = function()
|
||||||
vim.cmd([[Neotree close]])
|
-- vim.cmd([[Neotree close]])
|
||||||
end,
|
-- end,
|
||||||
init = function()
|
-- init = function()
|
||||||
-- if vim.fn.argc() == 1 then
|
-- -- if vim.fn.argc() == 1 then
|
||||||
-- local stat = vim.loop.fs_stat(vim.fn.argv(0))
|
-- -- local stat = vim.loop.fs_stat(vim.fn.argv(0))
|
||||||
-- if stat and stat.type == "directory" then
|
-- -- if stat and stat.type == "directory" then
|
||||||
-- require("neo-tree")
|
-- -- require("neo-tree")
|
||||||
|
-- -- end
|
||||||
|
-- -- end
|
||||||
|
-- end,
|
||||||
|
-- opts = {
|
||||||
|
-- sources = { "filesystem", "buffers", "git_status", "document_symbols" },
|
||||||
|
-- open_files_do_not_replace_types = {
|
||||||
|
-- "terminal",
|
||||||
|
-- "Trouble",
|
||||||
|
-- "qf",
|
||||||
|
-- "Outline",
|
||||||
|
-- },
|
||||||
|
-- filesystem = {
|
||||||
|
-- bind_to_cwd = false,
|
||||||
|
-- follow_current_file = { enabled = true },
|
||||||
|
-- use_libuv_file_watcher = true,
|
||||||
|
-- },
|
||||||
|
-- window = {
|
||||||
|
-- mappings = {
|
||||||
|
-- ["<space>"] = "none",
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- default_component_configs = {
|
||||||
|
-- indent = {
|
||||||
|
-- with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
|
||||||
|
-- expander_collapsed = "",
|
||||||
|
-- expander_expanded = "",
|
||||||
|
-- expander_highlight = "NeoTreeExpander",
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- config = function(_, opts)
|
||||||
|
-- require("neo-tree").setup(opts)
|
||||||
|
-- vim.api.nvim_create_autocmd("TermClose", {
|
||||||
|
-- pattern = "*lazygit",
|
||||||
|
-- callback = function()
|
||||||
|
-- if package.loaded["neo-tree.sources.git_status"] then
|
||||||
|
-- require("neo-tree.sources.git_status").refresh()
|
||||||
-- end
|
-- end
|
||||||
-- end
|
-- end,
|
||||||
end,
|
-- })
|
||||||
opts = {
|
-- end,
|
||||||
sources = { "filesystem", "buffers", "git_status", "document_symbols" },
|
-- },
|
||||||
open_files_do_not_replace_types = {
|
|
||||||
"terminal",
|
|
||||||
"Trouble",
|
|
||||||
"qf",
|
|
||||||
"Outline",
|
|
||||||
},
|
|
||||||
filesystem = {
|
|
||||||
bind_to_cwd = false,
|
|
||||||
follow_current_file = { enabled = true },
|
|
||||||
use_libuv_file_watcher = true,
|
|
||||||
},
|
|
||||||
window = {
|
|
||||||
mappings = {
|
|
||||||
["<space>"] = "none",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
default_component_configs = {
|
|
||||||
indent = {
|
|
||||||
with_expanders = true, -- if nil and file nesting is enabled, will enable expanders
|
|
||||||
expander_collapsed = "",
|
|
||||||
expander_expanded = "",
|
|
||||||
expander_highlight = "NeoTreeExpander",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
config = function(_, opts)
|
|
||||||
require("neo-tree").setup(opts)
|
|
||||||
vim.api.nvim_create_autocmd("TermClose", {
|
|
||||||
pattern = "*lazygit",
|
|
||||||
callback = function()
|
|
||||||
if package.loaded["neo-tree.sources.git_status"] then
|
|
||||||
require("neo-tree.sources.git_status").refresh()
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
|
|
||||||
-- search/replace in multiple files
|
-- search/replace in multiple files
|
||||||
{
|
{
|
||||||
|
|
@ -434,42 +460,42 @@ return {
|
||||||
},
|
},
|
||||||
|
|
||||||
-- buffer line
|
-- buffer line
|
||||||
{
|
-- {
|
||||||
"akinsho/bufferline.nvim",
|
-- "akinsho/bufferline.nvim",
|
||||||
event = "VeryLazy",
|
-- event = "VeryLazy",
|
||||||
keys = {
|
-- keys = {
|
||||||
{ "<leader>bp", "<Cmd>BufferLineTogglePin<CR>", desc = "Toggle pin" },
|
-- { "<leader>bp", "<Cmd>BufferLineTogglePin<CR>", desc = "Toggle pin" },
|
||||||
{
|
-- {
|
||||||
"<leader>bP",
|
-- "<leader>bP",
|
||||||
"<Cmd>BufferLineGroupClose ungrouped<CR>",
|
-- "<Cmd>BufferLineGroupClose ungrouped<CR>",
|
||||||
desc = "Delete non-pinned buffers",
|
-- desc = "Delete non-pinned buffers",
|
||||||
},
|
-- },
|
||||||
},
|
-- },
|
||||||
opts = {
|
-- opts = {
|
||||||
options = {
|
-- options = {
|
||||||
-- stylua: ignore
|
-- -- stylua: ignore
|
||||||
close_command = function(n) require("mini.bufremove").delete(n, false) end,
|
-- close_command = function(n) require("mini.bufremove").delete(n, false) end,
|
||||||
-- stylua: ignore
|
-- -- stylua: ignore
|
||||||
right_mouse_command = function(n) require("mini.bufremove").delete(n, false) end,
|
-- right_mouse_command = function(n) require("mini.bufremove").delete(n, false) end,
|
||||||
diagnostics = "nvim_lsp",
|
-- diagnostics = "nvim_lsp",
|
||||||
always_show_bufferline = false,
|
-- always_show_bufferline = false,
|
||||||
diagnostics_indicator = function(_, _, diag)
|
-- diagnostics_indicator = function(_, _, diag)
|
||||||
local icons = require("rayandrew.theme").icons.diagnostics
|
-- local icons = require("rayandrew.theme").icons.diagnostics
|
||||||
local ret = (diag.error and icons.Error .. diag.error .. " " or "")
|
-- local ret = (diag.error and icons.Error .. diag.error .. " " or "")
|
||||||
.. (diag.warning and icons.Warn .. diag.warning or "")
|
-- .. (diag.warning and icons.Warn .. diag.warning or "")
|
||||||
return vim.trim(ret)
|
-- return vim.trim(ret)
|
||||||
end,
|
-- end,
|
||||||
offsets = {
|
-- offsets = {
|
||||||
{
|
-- {
|
||||||
filetype = "neo-tree",
|
-- filetype = "neo-tree",
|
||||||
text = "Neo-tree",
|
-- text = "Neo-tree",
|
||||||
highlight = "Directory",
|
-- highlight = "Directory",
|
||||||
text_align = "left",
|
-- text_align = "left",
|
||||||
},
|
-- },
|
||||||
},
|
-- },
|
||||||
},
|
-- },
|
||||||
},
|
-- },
|
||||||
},
|
-- },
|
||||||
|
|
||||||
{
|
{
|
||||||
"lukas-reineke/indent-blankline.nvim",
|
"lukas-reineke/indent-blankline.nvim",
|
||||||
|
|
|
||||||
|
|
@ -132,3 +132,8 @@ Util.map("t", "<c-_>", "<cmd>close<cr>", { desc = "which_key_ignore" })
|
||||||
|
|
||||||
-- lazy
|
-- lazy
|
||||||
Util.map("n", "<leader>l", "<cmd>Lazy<cr>", { desc = "Lazy" })
|
Util.map("n", "<leader>l", "<cmd>Lazy<cr>", { desc = "Lazy" })
|
||||||
|
|
||||||
|
-- source file
|
||||||
|
Util.map("n", "<leader><leader>", function()
|
||||||
|
vim.cmd("so")
|
||||||
|
end)
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,14 @@
|
||||||
vim.g.mapleader = " "
|
vim.g.mapleader = " "
|
||||||
vim.g.maplocalleader = "\\"
|
vim.g.maplocalleader = "\\"
|
||||||
|
|
||||||
|
vim.g.netrw_browse_split = 0
|
||||||
|
vim.g.netrw_banner = 0
|
||||||
|
vim.g.netrw_winsize = 25
|
||||||
|
|
||||||
local opt = vim.opt
|
local opt = vim.opt
|
||||||
|
|
||||||
|
opt.guicursor = ""
|
||||||
|
|
||||||
opt.autowrite = true -- Enable auto write
|
opt.autowrite = true -- Enable auto write
|
||||||
opt.backup = false
|
opt.backup = false
|
||||||
opt.clipboard = "unnamedplus" -- Sync with system clipboard
|
opt.clipboard = "unnamedplus" -- Sync with system clipboard
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue