My personal Neovim configs
snippits | ||
spell | ||
init.lua | ||
lazy-lock.json | ||
preview.png | ||
README.md | ||
stylua.toml |
Neovim
My personal neovim config
Requiremtns
neovim 0.11+
Clone repo
git clone https://github.com/Parilia/nvim.git ~/.config/nvim
Sane Defaults
-- <---Settings--->
vim.g.mapleader = ' '
vim.g.maplocalleader = ' '
vim.g.have_nerd_font = true
vim.o.termguicolors = true
vim.opt.shell = 'zsh'
vim.opt.showmode = false
vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.scrolloff = 8
vim.opt.autoindent = true
vim.opt.copyindent = true
vim.opt.smartindent = true
vim.o.breakindent = true
vim.opt.tabstop = 8
vim.opt.softtabstop = 2
vim.opt.shiftwidth = 2
vim.opt.expandtab = true
vim.wo.signcolumn = 'yes'
vim.opt.signcolumn = 'yes'
vim.opt.grepprg = 'rg --vimgrep'
vim.opt.grepformat = '%f:%l:%c:%m'
vim.opt.formatoptions = 'jcroqlnt'
vim.g.autoformat = true
vim.opt.linebreak = true
vim.opt.wrap = false
vim.opt.wildmenu = true
vim.opt.autoread = true
vim.opt.virtualedit = 'block'
vim.opt.undofile = true
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.o.clipboard = 'unnamedplus'
-- <---Key Bindings--->
-- buffer navigation
vim.keymap.set('n', '<leader><Tab>', ':bnext <CR>') -- Tab goes to next buffer
vim.keymap.set('n', '<leader><S-Tab>', ':bprevious <CR>') -- Shift+Tab goes to previous buffer
-- Soft word-wrap
vim.keymap.set('n', '<leader>lb', ':set wrap!<cr>', { desc = 'Word Wrap' })
-- Replace in whole file, :%s/foo/bar/g
vim.keymap.set('n', '<leader>r', ':%s/', { desc = 'Replace in File %s/foo/bar/g' })
-- Exit search in buffer
vim.keymap.set('n', '<esc>', ':noh<cr>', { silent = true })
-- Select next file in quickfix list
vim.keymap.set('n', '<C-Tab>', ':cnext')
-- <---User Defined Commands--->
-- Edit this file
vim.api.nvim_create_user_command('Init', ':e ~/.config/nvim/init.lua', {})
-- Edit .zshrc
vim.api.nvim_create_user_command('Zshrc', ':e ~/.zshrc', {})
-- <---Spell checker--->
vim.opt.spell = true
vim.opt.spelllang = 'en_gb'
-- Toggle spell checker
vim.keymap.set('n', '<leader>s', ':set spell!<cr>')
-- <---Highlight on yank--->
local highlight_group = vim.api.nvim_create_augroup('YankHighlight', { clear = true })
vim.api.nvim_create_autocmd('TextYankPost', {
callback = function()
vim.hl.on_yank()
end,
group = highlight_group,
pattern = '*',
})