lua nvim, change mod key
This commit is contained in:
83
nvim-server/init.lua
Normal file
83
nvim-server/init.lua
Normal file
@@ -0,0 +1,83 @@
|
||||
-- Minimal server editor config
|
||||
-- Launch with: NVIM_APPNAME=nvim-server nvim
|
||||
|
||||
-------------------- Options --------------------
|
||||
vim.g.mapleader = ","
|
||||
vim.opt.number = true
|
||||
vim.opt.cursorline = true
|
||||
vim.opt.expandtab = true
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.autoindent = true
|
||||
vim.opt.smartindent = true
|
||||
vim.opt.hlsearch = true
|
||||
vim.opt.incsearch = true
|
||||
vim.opt.ignorecase = true
|
||||
vim.opt.smartcase = true
|
||||
vim.opt.splitright = true
|
||||
vim.opt.splitbelow = true
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.scrolloff = 8
|
||||
vim.opt.signcolumn = "no"
|
||||
vim.opt.updatetime = 250
|
||||
vim.opt.undofile = true
|
||||
vim.opt.clipboard = "unnamedplus"
|
||||
|
||||
-------------------- Keymaps --------------------
|
||||
vim.keymap.set("n", "i", ":nohls<CR>i", { silent = true })
|
||||
vim.keymap.set("n", "<Space>", ":w<CR>", { silent = true })
|
||||
|
||||
-- Window navigation
|
||||
vim.keymap.set("n", "<C-h>", "<C-W>h")
|
||||
vim.keymap.set("n", "<C-j>", "<C-W>j")
|
||||
vim.keymap.set("n", "<C-k>", "<C-W>k")
|
||||
vim.keymap.set("n", "<C-l>", "<C-W>l")
|
||||
|
||||
-- Tab management
|
||||
vim.keymap.set("n", "<leader>to", ":tabonly<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<leader>o", ":only<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<leader><Tab>", ":tabn<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<S-Tab>", ":tabp<CR>", { silent = true })
|
||||
|
||||
|
||||
-------------------- Netrw (built-in file browser) --------------------
|
||||
vim.g.netrw_banner = 0
|
||||
vim.g.netrw_liststyle = 3
|
||||
vim.keymap.set("n", "<F2>", ":Explore<CR>", { silent = true })
|
||||
|
||||
-------------------- Statusline (built-in) --------------------
|
||||
vim.opt.statusline = " %f %m%r%= %y %l:%c %p%% "
|
||||
|
||||
-------------------- Bootstrap lazy.nvim --------------------
|
||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||
if vim.fn.isdirectory(lazypath) == 0 then
|
||||
vim.fn.system({
|
||||
"git", "clone", "--filter=blob:none",
|
||||
"https://github.com/folke/lazy.nvim.git",
|
||||
"--branch=stable",
|
||||
lazypath,
|
||||
})
|
||||
end
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
|
||||
require("lazy").setup({
|
||||
{ "4ree/viml-surround", event = "VeryLazy" },
|
||||
{ "numToStr/Comment.nvim", event = "VeryLazy", opts = {} },
|
||||
{
|
||||
"junegunn/fzf.vim",
|
||||
dependencies = { "junegunn/fzf" },
|
||||
keys = {
|
||||
{ "<leader>f", "<cmd>Files<CR>", desc = "Find files" },
|
||||
{ "<leader>b", "<cmd>Buffers<CR>", desc = "Buffers" },
|
||||
{ "<leader>r", "<cmd>Rg<CR>", desc = "Ripgrep" },
|
||||
{ "<leader>g", "<cmd>GFiles<CR>", desc = "Git files" },
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-------------------- Grep (use ripgrep if available) --------------------
|
||||
if vim.fn.executable("rg") == 1 then
|
||||
vim.opt.grepprg = "rg --vimgrep --smart-case"
|
||||
vim.opt.grepformat = "%f:%l:%c:%m"
|
||||
end
|
||||
Reference in New Issue
Block a user