vim.opt.number = true
vim.opt.relativenumber = true
vim.opt.tabstop = 4
vim.opt.shiftwidth = 4
vim.opt.expandtab = true
vim.opt.smartindent = true
vim.opt.wrap = false
vim.opt.mouse = 'a'
vim.opt.clipboard = 'unnamedplus'
vim.opt.cursorline = true
vim.opt.termguicolors = true
vim.opt.background = 'dark'
vim.opt.ignorecase = true
vim.opt.smartcase = true
vim.opt.hlsearch = false
vim.opt.splitright = true
vim.opt.splitbelow = true
vim.g.mapleader = ' '
vim.keymap.set('n', '', ':w', { noremap = true, silent = true })
vim.keymap.set('i', 'jj', '', { noremap = true, silent = true })
vim.keymap.set('n', '/', ':nohlsearch', { noremap = true, silent = true })
local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim'
if not vim.loop.fs_stat(lazypath) then
vim.fn.system({
'git',
'clone',
'--filter=blob:none',
'https://github.com/folke/lazy.nvim.git',
'--branch=stable',
lazypath,
})
end
vim.opt.rtp:prepend(lazypath)
require('lazy').setup({
{ 'nvim-telescope/telescope.nvim', dependencies = { 'nvim-lua/plenary.nvim' } },
{ 'nvim-treesitter/nvim-treesitter' },
{ 'tpope/vim-surround' },
{ 'nvim-tree/nvim-tree.lua' },
{ 'morhetz/gruvbox' },
})
vim.cmd('colorscheme gruvbox')
vim.keymap.set('n', 'ff', ':Telescope find_files', { noremap = true, silent = true })
vim.keymap.set('n', 'fg', ':Telescope live_grep', { noremap = true, silent = true })
vim.keymap.set('n', 'fb', ':Telescope buffers', { noremap = true, silent = true })
vim.keymap.set('n', 'n', ':NvimTreeToggle', { noremap = true, silent = true })