From 14a1dd7356df617ba21c371f273c9b2526c38cbf Mon Sep 17 00:00:00 2001 From: darkclip Date: Tue, 20 Jan 2026 05:44:05 +0800 Subject: [PATCH] update --- assets/root/.config/nvim/init.lua | 7 +++ assets/root/.config/nvim/lua/autocmds.lua | 24 +++++++++ assets/root/.config/nvim/lua/mappings.lua | 5 ++ assets/root/.config/nvim/lua/options.lua | 4 ++ assets/root/.config/nvim/nvchad/mappings.lua | 42 +++++++++++++++ assets/root/.config/nvim/nvchad/options.lua | 57 ++++++++++++++++++++ assets/root/.zshrc | 6 +-- configure.sh | 8 +-- init.sh | 2 +- packages-base | 1 + 10 files changed, 146 insertions(+), 10 deletions(-) create mode 100644 assets/root/.config/nvim/init.lua create mode 100644 assets/root/.config/nvim/lua/autocmds.lua create mode 100644 assets/root/.config/nvim/lua/mappings.lua create mode 100644 assets/root/.config/nvim/lua/options.lua create mode 100644 assets/root/.config/nvim/nvchad/mappings.lua create mode 100644 assets/root/.config/nvim/nvchad/options.lua diff --git a/assets/root/.config/nvim/init.lua b/assets/root/.config/nvim/init.lua new file mode 100644 index 0000000..ec240cd --- /dev/null +++ b/assets/root/.config/nvim/init.lua @@ -0,0 +1,7 @@ +vim.g.mapleader = " " + +require("nvchad/options") +require("nvchad/mappings") +require("lua/options") +require("lua/mappings") +require("lua/autocmds") diff --git a/assets/root/.config/nvim/lua/autocmds.lua b/assets/root/.config/nvim/lua/autocmds.lua new file mode 100644 index 0000000..bdabf1f --- /dev/null +++ b/assets/root/.config/nvim/lua/autocmds.lua @@ -0,0 +1,24 @@ +local augroup = vim.api.nvim_create_augroup('numbertoggle', { clear = true }) +vim.api.nvim_create_autocmd({ 'BufEnter', 'FocusGained', 'InsertLeave', 'WinEnter' }, { + group = augroup, + callback = function() + if vim.o.number and vim.api.nvim_get_mode().mode ~= 'i' then + vim.o.relativenumber = true + end + end +}) + +vim.api.nvim_create_autocmd({ 'BufLeave', 'FocusLost', 'InsertEnter', 'WinLeave' }, { + group = augroup, + callback = function() + if vim.o.number then + vim.o.relativenumber = false + end + end +}) + +vim.api.nvim_create_autocmd('TextYankPost', { + callback = function() + vim.hl.on_yank({ timeout = 300, on_visual = true }) + end +}) diff --git a/assets/root/.config/nvim/lua/mappings.lua b/assets/root/.config/nvim/lua/mappings.lua new file mode 100644 index 0000000..5d40bcc --- /dev/null +++ b/assets/root/.config/nvim/lua/mappings.lua @@ -0,0 +1,5 @@ +local map = vim.keymap.set + + +map('v', '', '"+ygv"*ygv', { noremap = true }) +map('v', '<2-LeftRelease>', '"+ygv"*ygv', { noremap = true }) diff --git a/assets/root/.config/nvim/lua/options.lua b/assets/root/.config/nvim/lua/options.lua new file mode 100644 index 0000000..4c99629 --- /dev/null +++ b/assets/root/.config/nvim/lua/options.lua @@ -0,0 +1,4 @@ +-- add yours here! + +local o = vim.o +o.clipboard = 'unnamed,unnamedplus' diff --git a/assets/root/.config/nvim/nvchad/mappings.lua b/assets/root/.config/nvim/nvchad/mappings.lua new file mode 100644 index 0000000..4463f45 --- /dev/null +++ b/assets/root/.config/nvim/nvchad/mappings.lua @@ -0,0 +1,42 @@ +local map = vim.keymap.set + +map("i", "", "^i", { desc = "move beginning of line" }) +map("i", "", "", { desc = "move end of line" }) +map("i", "", "", { desc = "move left" }) +map("i", "", "", { desc = "move right" }) +map("i", "", "", { desc = "move down" }) +map("i", "", "", { desc = "move up" }) + +map("n", "", "h", { desc = "switch window left" }) +map("n", "", "l", { desc = "switch window right" }) +map("n", "", "j", { desc = "switch window down" }) +map("n", "", "k", { desc = "switch window up" }) + +map("n", "", "noh", { desc = "general clear highlights" }) + +map("n", "", "w", { desc = "general save file" }) +map("n", "", "%y+", { desc = "general copy whole file" }) + +map("n", "n", "set nu!", { desc = "toggle line number" }) +map("n", "rn", "set rnu!", { desc = "toggle relative number" }) + +map({ "n", "x" }, "fm", function() + require("conform").format { lsp_fallback = true } +end, { desc = "general format file" }) + +-- global lsp mappings +map("n", "ds", vim.diagnostic.setloclist, { desc = "LSP diagnostic loclist" }) + +-- Comment +map("n", "/", "gcc", { desc = "toggle comment", remap = true }) +map("v", "/", "gc", { desc = "toggle comment", remap = true }) + +-- terminal +map("t", "", "", { desc = "terminal escape terminal mode" }) + +-- whichkey +map("n", "wK", "WhichKey ", { desc = "whichkey all keymaps" }) + +map("n", "wk", function() + vim.cmd("WhichKey " .. vim.fn.input "WhichKey: ") +end, { desc = "whichkey query lookup" }) diff --git a/assets/root/.config/nvim/nvchad/options.lua b/assets/root/.config/nvim/nvchad/options.lua new file mode 100644 index 0000000..47c9476 --- /dev/null +++ b/assets/root/.config/nvim/nvchad/options.lua @@ -0,0 +1,57 @@ +local opt = vim.opt +local o = vim.o +local g = vim.g + +-------------------------------------- options ------------------------------------------ +o.laststatus = 3 +o.showmode = false +o.splitkeep = "screen" + +o.clipboard = "unnamedplus" +o.cursorline = true +o.cursorlineopt = "number" + +-- Indenting +o.expandtab = true +o.shiftwidth = 2 +o.smartindent = true +o.tabstop = 2 +o.softtabstop = 2 + +opt.fillchars = { eob = " " } +o.ignorecase = true +o.smartcase = true +o.mouse = "a" + +-- Numbers +o.number = true +o.numberwidth = 2 +o.ruler = false + +-- disable nvim intro +opt.shortmess:append "sI" + +o.signcolumn = "yes" +o.splitbelow = true +o.splitright = true +o.timeoutlen = 400 +o.undofile = true + +-- interval for writing swap file to disk, also used by gitsigns +o.updatetime = 250 + +-- go to previous/next line with h,l,left arrow and right arrow +-- when cursor reaches end/beginning of line +opt.whichwrap:append "<>[]hl" + +-- disable some default providers +g.loaded_node_provider = 0 +g.loaded_python3_provider = 0 +g.loaded_perl_provider = 0 +g.loaded_ruby_provider = 0 + +-- add binaries installed by mason.nvim to path +local is_windows = vim.fn.has "win32" ~= 0 +local sep = is_windows and "\\" or "/" +local delim = is_windows and ";" or ":" +vim.env.PATH = table.concat({ vim.fn.stdpath "data", "mason", "bin" }, sep) .. delim .. vim.env.PATH diff --git a/assets/root/.zshrc b/assets/root/.zshrc index 9ba3456..f2b30f5 100644 --- a/assets/root/.zshrc +++ b/assets/root/.zshrc @@ -127,11 +127,7 @@ prompt adam1 export GOPATH=/opt/go export PATH=$GOPATH/bin:$HOME/.yarn/bin:$HOME/.local/bin:$PATH -if [[ -x $(command -v zoxide) && $(zoxide --version) =~ '0.4' ]]; then - eval "$(zoxide init zsh)" -else - eval "$(zoxide init --cmd cd zsh)" -fi +eval "$(zoxide init --cmd cd zsh)" export MANROFFOPT="-c" export MANPAGER="sh -c 'col -bx|batcat -l man -p'" diff --git a/configure.sh b/configure.sh index 87d97da..785a97b 100755 --- a/configure.sh +++ b/configure.sh @@ -32,18 +32,18 @@ APT::Install-Suggests "0";" | tee /etc/apt/apt.conf.d/01norecommend >/dev/null git -C /tmp clone https://git.tink.ltd:8443/tink/zsh-completions.git cp /tmp/zsh-completions/src/* /usr/local/share/zsh/site-functions/ - rm /tmp/zsh-completions -r + rm /tmp/zsh-completions -rf } personalize() { - mkdir -p $HOME/.config/fd cp "$AWD/assets/root/.config" $HOME/ -r cp "$AWD/assets/root/.zshrc" $HOME/ if ((DISTRO_PVE)); then sed -i -E "s/.*prompt .*/prompt bart/g" $HOME/.zshrc fi - mkdir -p $HOME/.config/micro - cp "$AWD/assets/root/.config/micro/settings.json" $HOME/.config/micro/ + if [[ -x $(command -v zoxide) && $(zoxide --version) =~ '0.4' ]]; then + sed -i -E "s/.*zoxide init.*/eval \"\$(zoxide init zsh)\"/g" $HOME/.zshrc + fi } usage(){ diff --git a/init.sh b/init.sh index e913a63..efbc128 100755 --- a/init.sh +++ b/init.sh @@ -152,6 +152,6 @@ done; setup if $DO_INSTALL; then - $AWD/configure.sh $AWD/install.sh $PKG_BASE + $AWD/configure.sh fi \ No newline at end of file diff --git a/packages-base b/packages-base index 4232620..165fde9 100644 --- a/packages-base +++ b/packages-base @@ -6,6 +6,7 @@ unrar unzip rsync micro +neovim ripgrep fd-find exa