dotfiles/.config/nvim/init.lua
2023-09-04 20:18:14 +02:00

56 lines
1.8 KiB
Lua

vim.g.mapleader = " "
vim.o.relativenumber = true
vim.o.number = true
vim.o.tabstop = 4
vim.o.softtabstop = 4
vim.o.shiftwidth = 4
vim.o.expandtab = true
vim.o.smartindent = true
--vim.keymap.set({"n", "v", "i"}, "<leader><leader>", "<Esc>", {noremap = true})
--ignore case if pattern doesn't contain upper case
vim.o.ignorecase = true
vim.o.smartcase = true
--number of line to show around the cursor
vim.o.scrolloff = 8
--
vim.keymap.set("n", "<leader>pv", vim.cmd.Ex)
--move line shortcut
vim.keymap.set("n", "<M-j>", ":m +1<CR>==", {noremap = true})
vim.keymap.set("n", "<M-k>", ":m -2<CR>==", {noremap = true})
vim.keymap.set("v", "<M-j>", ":m '>+1<CR>gv=gv", {noremap = true})
vim.keymap.set("v", "<M-k>", ":m '<-2<CR>gv=gv", {noremap = true})
vim.keymap.set("n", "<C-d>", "<C-d>zz", {noremap = true})
vim.keymap.set("n", "<C-u>", "<C-u>zz", {noremap = true})
vim.keymap.set("x", "<leader>p", "\"_dP")
vim.keymap.set("n", "<leader>y", "\"+y")
vim.keymap.set("v", "<leader>y", "\"+y")
--surrounding
vim.keymap.set("v", '<leader>s(', "xi()<Esc>P", {noremap = true})
vim.keymap.set("v", '<leader>s)', "xi()<Esc>P", {noremap = true})
vim.keymap.set("v", '<leader>s{', "xi{}<Esc>P", {noremap = true})
vim.keymap.set("v", '<leader>s}', "xi{}<Esc>P", {noremap = true})
vim.keymap.set("v", '<leader>s[', "xi[]<Esc>P", {noremap = true})
vim.keymap.set("v", '<leader>s]', "xi[]<Esc>P", {noremap = true})
vim.keymap.set("v", '<leader>s"', 'xi""<Esc>P', {noremap = true})
vim.keymap.set("v", "<leader>s'", "xi''<Esc>P", {noremap = true})
--tab buffer
vim.keymap.set("n", "<leader>fn", ":bnext<CR>", {noremap = true})
vim.keymap.set("n", "<leader>fp", ":bprev<CR>", {noremap = true})
-- wrap toggle
vim.keymap.set("n", "<leader>w", function() vim.o.wrap = not vim.o.wrap end, {noremap = true})
require('packer-plugins')
require('telescope')