1
0
Fork 0
dot/.config/nvim/init.lua

100 lines
2.6 KiB
Lua
Raw Permalink Normal View History

2024-04-11 19:15:09 +02:00
local opt, api, cmd = vim.opt, vim.api, vim.cmd
local fn, ui = vim.fn, vim.ui
2024-05-23 09:38:56 +02:00
-- colorscheme -----------------------------------------------------------------
2024-04-11 19:15:09 +02:00
cmd.colorscheme("basic")
2024-01-27 21:12:38 +01:00
-- options ---------------------------------------------------------------------
2024-04-11 19:15:09 +02:00
opt.undofile = true
opt.backup = false
opt.writebackup = false
2024-05-23 09:38:56 +02:00
opt.mouse = "nvi"
2024-04-11 19:15:09 +02:00
opt.title = true
opt.shortmess:append({ I = true })
opt.number = true
opt.relativenumber = true
opt.signcolumn = "number"
opt.textwidth = 80
opt.colorcolumn = "+1"
2024-05-05 17:34:33 +02:00
opt.expandtab = true
opt.tabstop = 4
2024-05-23 09:38:56 +02:00
opt.shiftwidth = 4
2024-05-05 17:34:33 +02:00
opt.softtabstop = -1
opt.smarttab = true
2024-04-11 19:15:09 +02:00
opt.showtabline = 2
opt.winbar = "%f%( %h%m%r%y%)"
opt.laststatus = 3
2024-01-27 21:12:38 +01:00
function _G.statusline()
2024-05-05 17:34:33 +02:00
local wordcount = fn.wordcount()
2024-01-27 21:12:38 +01:00
return table.concat({
2024-05-23 09:38:56 +02:00
fn.pathshorten(fn.getcwd()),
2024-04-11 19:15:09 +02:00
" %=",
" <%b> ",
wordcount.visual_chars or wordcount.cursor_chars, "/", wordcount.chars, " ",
wordcount.visual_words or wordcount.cursor_words, "/", wordcount.words
2024-01-27 21:12:38 +01:00
})
end
2024-04-11 19:15:09 +02:00
opt.statusline = "%!v:lua.statusline()"
opt.ignorecase = true
opt.infercase = true
opt.smartcase = true
opt.smartindent = true
opt.clipboard = "unnamedplus"
opt.wildoptions = { "fuzzy" }
opt.wildignorecase = true
2024-01-27 21:12:38 +01:00
2024-05-23 09:38:56 +02:00
2024-04-11 19:15:09 +02:00
opt.path = ".,,**"
2024-01-27 21:12:38 +01:00
2024-05-23 09:38:56 +02:00
opt.completeopt = { "menuone", "preview", }
2024-01-27 21:12:38 +01:00
2024-04-11 19:15:09 +02:00
-- keymaps ---------------------------------------------------------------------
local keymap_set = vim.keymap.set
2024-01-27 21:12:38 +01:00
2024-05-23 09:38:56 +02:00
keymap_set("n", "<esc>", "<cmd>nohlsearch<cr>")
keymap_set("c", "<m-h>", "<left>")
keymap_set("c", "<m-l>", "<right>")
keymap_set("n", "<leader>f", ":find ")
keymap_set("n", "<leader>b", ":buffer ")
keymap_set("n", "<leader>h", ":help ")
keymap_set("n", "<leader>g", ":vimgrep /")
keymap_set("n", "<leader>s", "<cmd>:set spell!<cr>")
keymap_set("n", "<leader>m", "<cmd>make<cr>")
keymap_set("n", "<leader>d", "<cmd>enew<cr><cmd>bdelete#<cr>")
keymap_set("n", "<leader>D", "<cmd>bdelete<cr>")
keymap_set("n", "]b", "<cmd>bnext<cr>")
keymap_set("n", "[b", "<cmd>bprev<cr>")
keymap_set("n", "]B", "<cmd>blast<cr>")
keymap_set("n", "[B", "<cmd>bfirst<cr>")
keymap_set("n", "]t", "<cmd>tabnext<cr>")
keymap_set("n", "[t", "<cmd>tabprev<cr>")
keymap_set("n", "]T", "<cmd>tablast<cr>")
keymap_set("n", "[T", "<cmd>tabfirst<cr>")
keymap_set("n", "]q", "<cmd>cnext<cr>zz")
keymap_set("n", "[q", "<cmd>cprev<cr>zz")
keymap_set("n", "]Q", "<cmd>clast<cr>zz")
keymap_set("n", "[Q", "<cmd>cfirst<cr>zz")
keymap_set("n", "<leader>co", "<cmd>copen<cr>")
keymap_set("n", "<leader>cc", "<cmd>cclose<cr>")
keymap_set("i", "<c-f>", "<c-x><c-f>")
keymap_set("n", "<c-h>", "<c-w>h")
keymap_set("n", "<c-j>", "<c-w>j")
keymap_set("n", "<c-k>", "<c-w>k")
keymap_set("n", "<c-l>", "<c-w>l")
keymap_set("n", "<leader>.", "<cmd>e.<cr>")