My personal Neovim configs
Find a file
2025-06-11 09:28:42 +01:00
snippits Added Links Shortcode 2025-03-19 14:17:35 +00:00
spell Update 2025-03-01 19:29:14 +00:00
init.lua Cleanup 2025-06-11 09:28:42 +01:00
lazy-lock.json Cleanup 2025-06-11 09:28:42 +01:00
preview.png Upload preveiw 2025-05-23 12:10:43 +01:00
README.md Upload preveiw 2025-05-23 12:10:43 +01:00
stylua.toml Update 2024-05-06 18:25:05 +01:00

Neovim

My personal neovim config

Preview

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 = '*',
})