85 lines
2.4 KiB
Lua

require('plugins')
local map = vim.keymap.set
local set = vim.opt
set.clipboard = 'unnamedplus'
set.wrap = false
set.number = true set.relativenumber = true set.ignorecase = true set.smartcase = true set.termguicolors = true set.swapfile = false set.backup = false set.undodir = os.getenv("XDG_CACHE_HOME") .. "/nvim/undo" set.undofile = true set.hlsearch = false
set.incsearch = true
set.cursorline = true
set.cmdheight = 0
set.mouse = 'a'
set.splitright = true
set.splitbelow = true
set.updatetime = 600
set.signcolumn = "yes"
set.tabstop = 4
set.softtabstop = 4
set.shiftwidth = 4
set.expandtab = true
vim.g.mapleader = " "
map("v", "J", ":m '>+1<CR>gv=gv")
map("v", "K", ":m '<-2<CR>gv=gv")
map("x", "J", ":m '>+1<CR>gv-gv", opts)
map("x", "K", ":m '<-2<CR>gv-gv", opts)
map("v", "<", "<gv", opts)
map("v", ">", ">gv", opts)
map("n", "J", "mzJ`z")
map("n", "<C-s>", vim.cmd.w)
map("n", "<C-q>", vim.cmd.wq)
map("n", "<C-S-r>", vim.cmd.source)
map("n", "<C-r>", "<nop>")
map("n", "vv", "^vg_", { noremap = true })
map("n", "-", vim.cmd.Ex, {})
map('n', 'U', vim.cmd.redo)
local ts = require('telescope.builtin')
map('n', '<leader><leader>f', ts.find_files, {})
map('n', '<leader><leader>g', ts.live_grep, {})
map('n', '<leader><leader>b', ts.buffers, {})
map('n', '<leader><leader>t', ts.help_tags, {})
map('n', '<leader><leader>c', ts.commands, {})
-- TODO If we use this one a lot, might be better to bind it to something easier
map('n', '<leader>bb', ':b#<CR>')
map('n', '<leader>bn', vim.cmd.bnext)
map('n', '<leader>bk', vim.cmd.bdelete)
-- Window management
map('n', '<leader>wo', '<C-w>o')
map('n', '<leader>wc', '<C-w>c')
map('n', '<leader>wv', '<C-w>v')
map('n', '<leader>ws', '<C-w>s')
map('n', '<leader>ww', '<C-w>p')
map('n', '<leader>wr', '<C-w>r')
map('n', '<leader>wx', '<C-w>x')
map('n', '<leader>wt', '<C-w>T')
map('n', '<leader>wh', '<C-w>H')
map('n', '<leader>wj', '<C-w>J')
map('n', '<leader>wk', '<C-w>K')
map('n', '<leader>wl', '<C-w>L')
map("n", "<C-Up>", ":resize -2<CR>", opts)
map("n", "<C-Down>", ":resize +2<CR>", opts)
map("n", "<C-Left>", ":vertical resize -2<CR>", opts)
map("n", "<C-Right>", ":vertical resize +2<CR>", opts)
map('n', '<C-h>', '<C-w>h', {})
map('n', '<C-j>', '<C-w>j', {})
map('n', '<C-k>', '<C-w>k', {})
map('n', '<C-l>', '<C-w>l', {})
-- local neogit = require('neogit')
--
-- neogit.setup {}
vim.keymap.set("n", "<leader>tw", ":set wrap!<CR>")