Skip to content

Instantly share code, notes, and snippets.

@nonnontrivial
Last active June 13, 2025 22:45
Show Gist options
  • Save nonnontrivial/3df9d0ddcccb7da74cbbe3b26345cb9f to your computer and use it in GitHub Desktop.
Save nonnontrivial/3df9d0ddcccb7da74cbbe3b26345cb9f to your computer and use it in GitHub Desktop.
nvim config
vim.o.termguicolors = true
vim.o.relativenumber = true -- relative line numbers
vim.o.number = true -- show absolute number on current line
vim.o.cursorline = true -- highlight current line
vim.o.clipboard = 'unnamedplus' -- Use the system clipboard by default
vim.g.mapleader = ' '
vim.keymap.set('n', '<leader>q', ':q<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<leader>s', ':w<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<leader>e', ':Ex<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<leader>y', ':%y<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<leader>h', 'H<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<leader>m', 'M<CR>', { noremap = true, silent = true })
vim.keymap.set('n', '<leader>l', 'L<CR>', { noremap = true, silent = true })
vim.keymap.set('i', 'jj', '<Esc>', { noremap = true })
vim.o.expandtab = true
vim.o.shiftwidth = 4
vim.o.tabstop = 4
vim.o.softtabstop = 4
vim.cmd.colorscheme('habamax')
vim.cmd [[packadd packer.nvim]]
require('packer').startup(function(use)
use { 'nvim-telescope/telescope.nvim', requires = { 'nvim-lua/plenary.nvim' } }
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>f', builtin.find_files, {})
vim.keymap.set('n', '<leader>g', builtin.live_grep, {})
vim.keymap.set('n', '<leader>b', builtin.buffers, {})
vim.lsp.config['ty'] = {
cmd = { 'ty', 'server' },
filetypes = { 'python' },
root_markers = { 'uv.lock', 'requirements.txt', '.git' },
settings = {}
}
vim.lsp.config('ruff', {
init_options = {
settings = {
logLevel = 'debug'
}
}
})
vim.lsp.enable('ty')
vim.lsp.enable('ruff')
use {
'lewis6991/gitsigns.nvim',
config = function()
require('gitsigns').setup()
end
}
use 'neovim/nvim-lspconfig'
use 'hrsh7th/nvim-cmp'
use 'hrsh7th/cmp-nvim-lsp'
local cmp = require('cmp')
cmp.setup({
completion = {
autocomplete = { require("cmp.types").cmp.TriggerEvent.TextChanged },
},
mapping = cmp.mapping.preset.insert({
['<Leader>c'] = cmp.mapping.complete(),
['<CR>'] = cmp.mapping.confirm({ select = true }),
['<Tab>'] = cmp.mapping.select_next_item(),
['<S-Tab>'] = cmp.mapping.select_prev_item(),
}),
sources = {
{ name = 'nvim_lsp' },
}
})
end)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment