config.nvim/lua/core.lua
2024-05-09 14:32:32 +08:00

67 lines
1.9 KiB
Lua
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- CORE SETTINGS
local o = vim.o
local global = vim.g
local map = vim.keymap.set
-- look and feel
global.netrw_banner = 0
global.netrw_bufsettings = "noma nomod relativenumber nowrap ro nobl"
global.netrw_liststyle = 3
global.netrw_winsize = 25
o.number = true
o.relativenumber = true
o.ruler = true
o.scrolloff = 10
o.showmode = false
o.termguicolors = true -- Remove this line when updated to neovim v10 TODO
o.title = true
vim.opt.diffopt = { "internal", "filler", "closeoff", "iwhite" }
-- controlling
global.mapleader = ' '
o.autoindent = true
o.complete = nil
o.ignorecase = true
o.smartcase = true
o.smartindent = true
vim.opt.completeopt = { 'menu', 'menuone', 'noselect', 'noinsert' }
-- vscode
if vim.g.vscode then
vim.opt.syntax = "OFF"
global.clipboard = global.vscode_clipboard
-- undo/REDO via vscode
map("n", "u", "<Cmd>call VSCodeNotify('undo')<CR>")
map("n", "<C-r>", "<Cmd>call VSCodeNotify('redo')<CR>")
map("n", "gf", "<Cmd>call VSCodeCall('editor.action.openLink')<CR>", { noremap = true })
map({ "i", "n" }, " ", "<Cmd>call VSCodeCall('editor.action.triggerParameterHints')<CR>", { noremap = true })
end
-- generic mappings
map('v', '<', '<gv', { noremap = true })
map('v', '>', '>gv', { noremap = true })
map('n', 'Y', 'y$', { noremap = true })
map('n', 'n', 'nzzzv', { noremap = true })
map('n', 'N', 'Nzzzv', { noremap = true })
-- Shortcutting split navigation
map('', '<A-h>', '<C-w>h')
map('', '<A-j>', '<C-w>j')
map('', '<A-k>', '<C-w>k')
map('', '<A-l>', '<C-w>l')
map('', '<A-H>', '<C-w>H')
map('', '<A-J>', '<C-w>J')
map('', '<A-K>', '<C-w>K')
map('', '<A-L>', '<C-w>L')
map('', '<M-S-.>', '<C-w>>')
map('', '<M-S-,>', '<C-w><')
map('', '<M-S-=>', '<C-w>+')
map('', '<M-->', '<C-w>-')
map('', '<A-T>', '<C-w>T')
-- undo to the last , . or !
map('i', ',', ',<c-g>u', { noremap = true })
map('i', '.', '.<c-g>u', { noremap = true })
map('i', '!', '!<c-g>u', { noremap = true })
map('i', '?', '?<c-g>u', { noremap = true })