1
0
Files
nvim/init.lua

112 lines
3.1 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
require("config.lazy")
vim.opt.mouse = ''
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.rnu = true
-- length of an actual \t character:
vim.opt.tabstop=2
-- length to use when editing text (eg. TAB and BS keys)
-- (0 for tabstop, -1 for shiftwidth):
vim.opt.softtabstop=-1
-- length to use when shifting text (eg. <<, >> and == commands)
-- (0 for tabstop):
vim.opt.shiftwidth=0
-- round indentation to multiples of 'shiftwidth' when shifting text
-- (so that it behaves like Ctrl-D / Ctrl-T):
vim.opt.shiftround = true
-- if set, only insert spaces; otherwise insert \t and complete with spaces:
vim.opt.expandtab = true
-- reproduce the indentation of the previous line:
vim.opt.autoindent = true
-- keep indentation produced by 'autoindent' if leaving the line blank:
-- vim.opt.cpoptions+=I
-- try to be smart (increase the indenting level after {,
-- decrease it after }, and so on):
vim.opt.smartindent = true
-- a stricter alternative which works better for the C language:
vim.opt.cindent = true
-- keep cursor <lines> away from the top and bottom of the screen
vim.opt.scrolloff = 6
-- marker at line 80
vim.opt.colorcolumn = "80"
-- use languagespecific plugins for indenting (better):
vim.cmd("filetype plugin indent on")
vim.cmd("syntax on")
vim.keymap.set('n', 'p', '<Cmd>pu<CR>')
vim.g.mapleader = " "
vim.keymap.set("n", "<leader>ll", vim.cmd.Ex)
-- Telescope
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
vim.keymap.set('n', '<leader>fg', builtin.git_files, { desc = 'Telescope find git files' })
vim.keymap.set('n', '<leader>fG', function()
builtin.grep_string({ search = vim.fn.input("grep > ") } );
end )
-- Harpoon
local mark = require("harpoon.mark")
local ui = require("harpoon.ui")
vim.keymap.set("n", "<leader>a", mark.add_file)
vim.keymap.set("n", "<C-e>", ui.toggle_quick_menu)
vim.keymap.set("n", "<C-h>", function() ui.nav_file(1) end)
vim.keymap.set("n", "<C-t>", function() ui.nav_file(2) end)
vim.keymap.set("n", "<C-n>", function() ui.nav_file(3) end)
vim.keymap.set("n", "<C-s>", function() ui.nav_file(4) end)
-- UndoTree
vim.keymap.set("n", "<leader>u", vim.cmd.UndotreeToggle)
vim.opt.undodir = os.getenv("HOME") .. "/.vim/undodir"
vim.opt.undofile = true
-- Reserve a space in the gutter
vim.opt.signcolumn = 'yes'
-- Reserve a space in the gutter
vim.opt.signcolumn = 'yes'
-- lsp-zero
local cmp = require('cmp')
cmp.setup({
sources = {
{name = 'nvim_lsp'},
},
snippet = {
expand = function(args)
-- You need Neovim v0.10 to use vim.snippet
vim.snippet.expand(args.body)
end,
},
mapping = cmp.mapping.preset.insert({}),
})
-- lsp-zero end
-- move paragraphs
vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
-- cut to system clipboard
vim.keymap.set("n", "<leader>y", "\"+y")
vim.keymap.set("v", "<leader>y", "\"+y")
vim.keymap.set("n", "<leader>Y", "\"+Y")
-- Diagnostics
vim.diagnostic.config({
virtual_text = false,
})
vim.diagnostic.config({ virtual_lines = true })