quot;) | exe "normal g`\"" | endif augroup END ]]) -- โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ -- โ ใคใณใใณใใปใฟใๆๅญ โ -- โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ -- ใฟใๅ ฅๅใฎไปฃใใใซในใใผในใๆฟๅ ฅใใใ (default: false) vim.opt.expandtab = true -- ใฟใๆๅญใฎ่ฆใ็ฎใไฝๆๅญๅใซใใใ (default: 8) vim.opt.tabstop = 2 -- ใคใณใใณใใไฝๆๅญๅใซใใใ (default: 8) vim.opt.shiftwidth = 0 -- 0ใฏtabstopใจๅใๅคใไฝฟ็จ -- โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ -- โ ๆค็ดขใป็ฝฎๆ โ -- โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ -- ๆค็ดขๆๅญๅใๅฐๆๅญใฎๅ ดๅใฏๅคงๆๅญๅฐๆๅญใๅบๅฅใชใๆค็ดขใใ (default: false) vim.opt.ignorecase = true -- ๆค็ดขๆใซๅคงๆๅญใๅซใใงใใใๅคง/ๅฐใๅบๅฅ (default: false) vim.opt.smartcase = true -- ignorecase = true ใจ็ตใฟๅใใใฆไฝฟ็จ -- โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ -- โ ใใถใคใณ/ในใฟใคใซ/ๅผท่ชฟ่กจ็คบ โ -- โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ -- ใใผใ ~ ๐ tokyonight ๐ vim.pack.add({ "https://github.com/folke/tokyonight.nvim" }) vim.cmd("colorscheme tokyonight") -- floating windowใฎ็ฝซ็ทในใฟใคใซ (default: ๆช่จญๅฎ) vim.o.winborder = "rounded" -- ใซใผใฝใซ่กๅผทๅ (default: false) vim.opt.cursorline = true -- ในใใผใฟในใใผใฎ่กจ็คบ่จญๅฎ (default: 2) vim.opt.laststatus = 3 -- ในใใผใฟในใใผใฏๅๅฒใใชใ -- Yankใฎ็ฏๅฒใใใคใฉใคใ vim.api.nvim_set_hl(0, "YankHighlight", { reverse = true }) vim.api.nvim_create_autocmd("TextYankPost", { pattern = "*", callback = function() vim.highlight.on_yank({ higroup = "YankHighlight", timeout = 200 }) end, }) -- โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ -- โ ใชใผใใณใณใใชใผใ โ -- โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ vim.pack.add({ "https://github.com/saghen/blink.lib", "https://github.com/saghen/blink.cmp", }) local cmp = require("blink.cmp") cmp.build():wait(60000) cmp.setup({ keymap = { -- Enterใงๅ่ฃใๆฟๅ ฅใใ preset = "enter", }, completion = { list = { selection = { -- ้ธๆใใฆใใ้ ็ฎใ่ชๅใงๆฟๅ ฅใใใ (default: true) auto_insert = false, }, }, }, }) -- โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ -- โ LSP โ -- โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ -- nvim-lspconfig vim.pack.add({ "https://github.com/neovim/nvim-lspconfig" }) vim.lsp.enable({ -- ๅฅ้ใคใณในใใผใซใๅฟ ่ฆ: mise use -g npm:basedpyright "basedpyright", -- ๅฅ้ใคใณในใใผใซใๅฟ ่ฆ: mise use -g lua-language-server "lua_ls", }) -- โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ -- โ Picker โ -- โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ -- snack.nvim vim.pack.add({ "https://github.com/folke/snacks.nvim" }) local snacks = require("snacks") snacks.setup({ picker = { main = { current = true }, sources = { git_status = { layout = { layout = { width = 180 } } }, lines = { sort = { fields = { "idx", "score:desc" } }, matcher = { fuzzy = false }, ---@diagnostic disable-next-line: assign-type-mismatch ๆฎ้ใซใใฌใใฅใผ layout = { preview = true }, }, recent = { sort = { fields = { "idx", "score:desc" } }, matcher = { fuzzy = false }, hidden = true, }, files = { hidden = true, }, }, win = { input = { keys = { -- NORMALใขใผใใฏๅบๆฌ็ใซไฝฟใใชใ ["<esc>"] = { "close", mode = { "i", "n" } }, }, }, }, layout = { cycle = true, preset = "vertical", layout = { backdrop = false, width = 120, min_width = 80, height = 0.9, min_height = 30, box = "vertical", -- min_heightใใๅฐใใใจใใฏๆ ็ทใๅบใใจๅ ้ ญใฎๅ่ฃใๆถใใใฎใง่ชฟๆด border = vim.o.lines <= 32 and "none" or "rounded", title = "{title} {live} {flags}", title_pos = "center", { win = "preview", title = "{preview}", height = 0.5, border = "bottom" }, { win = "input", height = 1, border = "bottom" }, { win = "list", border = "none" }, }, }, formatters = { file = { filename_first = true, truncate = 100, }, }, }, }) -- ใใกใคใซๅใงๆค็ดข vim.keymap.set({ "n", "i" }, "<C-j>f", function() Snacks.picker.files() end, { desc = "Find Files" }) -- ๆ่ฟ้ใใใใกใคใซใฎๆค็ดข vim.keymap.set({ "n", "i" }, "<C-j>r", function() Snacks.picker.recent() end, { desc = "Grep" }) -- Grep vim.keymap.set({ "n", "i" }, "<C-j>g", function() Snacks.picker.grep() end, { desc = "Grep" }) -- ใใกใคใซๅ ๆค็ดข vim.keymap.set({ "n", "i" }, "<C-j>l", function() Snacks.picker.lines() end, { desc = "Line search in current file" }) -- Gitใงๅคๆดใใใฃใใใกใคใซใฎๆค็ดข vim.keymap.set({ "n", "i" }, "<C-j>s", function() Snacks.picker.git_status() end, { desc = "Git status search" }) ``` ## ๅฉ็จใใฉใฐใคใณ ใใใใ ใ่ฌณใฃใฆใใใฎใงๆฅตๅไฝฟใใชใใใใซใใใใใ่ฒป็จๅฏพๅนๆใๅคงใใใใฎใๆจๆบ่จญๅฎใ้ขๅใชใใฎใฏ[[Neovimใใฉใฐใคใณ]]ใไฝฟใฃใฆใใใ - [[Tokyo Night (Neovim)|Tokyo Night]] - [[blink.cmp (Neovim)|blink.cmp]] - [[nvim-lspconfig]] - [[snacks.nvim]] -> [[snacks.picker]]