Skip to content

Instantly share code, notes, and snippets.

@mihai-vlc
Last active August 24, 2025 13:38
Show Gist options
  • Select an option

  • Save mihai-vlc/e039b04b597f1a0e98e6147655aa40a4 to your computer and use it in GitHub Desktop.

Select an option

Save mihai-vlc/e039b04b597f1a0e98e6147655aa40a4 to your computer and use it in GitHub Desktop.
Minimal neovim configuration, no plugins
vim.g.mapleader = ' '
vim.g.netrw_winsize=25
vim.g.netrw_browse_split = 4
vim.o.number = true
vim.o.wrap = false
vim.o.tabstop = 4
vim.o.shiftwidth = 4
vim.o.showtabline = 2
vim.o.expandtab = true
vim.o.clipboard = 'unnamedplus'
vim.o.splitright = true
vim.o.splitbelow = true
vim.o.shell = 'pwsh.exe'
vim.o.shellcmdflag = '-NoLogo -NoProfile -ExecutionPolicy RemoteSigned -Command'
vim.o.shellquote = ''
vim.o.shellxquote = ''
vim.keymap.set('n', '<leader>c', ':e $MYVIMRC<CR>', { desc = 'Edit config' })
vim.keymap.set('n', '<leader>s', ':w<CR>', { desc = 'Save' })
vim.keymap.set('n', '<leader>q', ':q<CR>', { desc = 'Quit' })
vim.keymap.set('n', '<leader>e', ':Vex<CR>', { desc = 'File explorer' })
vim.keymap.set('n', '<leader>m', ':marks<CR>', { desc = 'Show marks' })
vim.keymap.set('n', '<leader>rc', ':browse oldfiles<CR>', { desc = 'Recent files' })
vim.keymap.set('n', '<leader>td', ':bo sp | term<CR>', { desc = 'Open terminal' })
vim.keymap.set('n', '<leader>tb', ':bo sp | lcd %:p:h | term<CR>', { desc = 'Terminal in buffer dir' })
vim.keymap.set('n', '<C-y>', ':redo<CR>', { desc = 'Redo' })
vim.keymap.set('n', '<C-z>', ':undo<CR>', { desc = 'Undo' })
vim.keymap.set('i', '<C-y>', '<Esc>:redo<CR>i', { desc = 'Redo' })
vim.keymap.set('i', '<C-z>', '<Esc>:undo<CR>i', { desc = 'Undo' })
vim.keymap.set({'n', 'i'}, '<C-p>', '<Esc>:ls<CR>:tab sb<Space>', { desc = 'Select buffer' })
vim.keymap.set('n', '<C-b>', ':bo sp | term ./build.ps1 %:p<CR>', { desc = 'Run make command' })
vim.keymap.set('t', '<C-q>', [[<C-\><C-n><C-w><C-w>]], { desc = 'From terminal to the next panel' })
vim.keymap.set('n', '<A-Right>', '<C-i>', { desc = 'Go to next mark' })
vim.keymap.set('n', '<A-Left>', '<C-o>', { desc = 'Go to previous mark' })
vim.keymap.set('n', '<A-Up>', ':m .-2<CR>==', { desc = 'Move line up' })
vim.keymap.set('n', '<A-Down>', ':m .+1<CR>==', { desc = 'Move line down' })
vim.keymap.set('i', '<A-Up>', '<Esc>:m .-2<CR>==i', { desc = 'Move line up' })
vim.keymap.set('i', '<A-Down>', '<Esc>:m .+1<CR>==i', { desc = 'Move line down' })
vim.keymap.set('v', '<A-Up>', ":m '<-2<CR>gv=gv", { desc = 'Move selection up' })
vim.keymap.set('v', '<A-Down>', ":m '>+1<CR>gv=gv", { desc = 'Move selection down' })
vim.keymap.set('n', '<A-.>', ':bnext<CR>', { desc = 'Go to next buffer' })
vim.keymap.set('n', '<A-,>', ':bprevious<CR>', { desc = 'Go to previous buffer' })
vim.keymap.set({'i', 'v', 'n'}, '<C-s>', '<Esc>:w<CR>', { desc = 'Save file' })
vim.keymap.set({ 'n' }, '<Esc>', ':nohlsearch<CR><Esc>', { noremap = true, silent = true })
vim.api.nvim_create_autocmd('TermOpen', { pattern = '*', command = 'startinsert' })
vim.api.nvim_create_autocmd('TextYankPost', { callback = function() vim.highlight.on_yank { higroup = 'IncSearch', timeout = 80 } end })
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment