From d2b81749b7ca34149df4fc696b8805fddf987141 Mon Sep 17 00:00:00 2001 From: hachem Date: Sun, 17 Mar 2024 20:14:13 +0200 Subject: add neovim --- .config/nvim/init.lua | 197 ++++++++++++++++++++++++++++++++++++++++++++ .config/nvim/lazy-lock.json | 21 +++++ 2 files changed, 218 insertions(+) create mode 100644 .config/nvim/init.lua create mode 100644 .config/nvim/lazy-lock.json diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua new file mode 100644 index 0000000..cdfaa9e --- /dev/null +++ b/.config/nvim/init.lua @@ -0,0 +1,197 @@ +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-treesitter/nvim-treesitter', + build = ':TSUpdate', + config = function () + local configs = require('nvim-treesitter.configs') + + configs.setup({ + sync_install = false, + highlight = { enable = true }, + indent = { enable = true }, + }) + end + }, + + + { 'm00qek/baleia.nvim', tag = 'v1.3.0' }, + + 'lukas-reineke/indent-blankline.nvim', + 'nvim-telescope/telescope.nvim', + 'andreasvc/vim-256noir', + 'luisiacc/gruvbox-baby', + 'voldikss/vim-floaterm', + 'nvim-lua/plenary.nvim', + 'windwp/nvim-autopairs', + 'sam4llis/nvim-tundra', + 'sheerun/vim-polyglot', + 'lambdalisue/suda.vim', + 'etdev/vim-hexcolor', + 'tpope/vim-fugitive', + 'rust-lang/rust.vim', + 'preservim/nerdtree', + 'peterhoeg/vim-qml', + 'rainglow/vim', +} + + +require('nvim-treesitter.configs').setup( +{ + highlight = + { + enable = true, + additional_vim_regex_highlighting = true, + } +}) + +require('telescope').setup +{ + defaults = + { + file_ignore_patterns = + { + 'node_modules/', + + 'vendor/', + 'Vendor/', + + 'bin/', + 'bin-int/', + + 'build/', + + 'Cargo.lock', + } + } +} + +require('nvim-autopairs').setup() + +vim.opt.termguicolors = true +vim.opt.cursorline = true +vim.opt.showcmd = false +vim.opt.laststatus = 0 +vim.opt.relativenumber = true +vim.opt.linebreak = true +vim.opt.wrap = false +vim.opt.splitbelow = true +vim.opt.splitright = true +vim.opt.swapfile = false +vim.opt.backup = false +vim.opt.hlsearch = false +vim.opt.incsearch = true +vim.opt.autoread = true +vim.opt.autowrite = true +vim.opt.expandtab = true +vim.opt.shiftwidth = 4 +vim.opt.tabstop = 4 +vim.opt.guicursor = '' +vim.opt.rulerformat = '(%l:%c%V)' +vim.opt.smartindent = true +vim.opt.fillchars.vert = ' ' +vim.opt.fillchars.eob = ' ' +vim.opt.background = 'dark' +vim.opt.clipboard = 'unnamedplus' + +vim.g.mapleader = ' ' + +vim.g.NERDTreeMinimalUI = true +vim.g.NERDTreeWinPos = 'right' +vim.g.NERDTreeWinSize = 20 + +vim.g.floaterm_borderchars = ' ' +vim.g.floaterm_position = 'right' +vim.g.floaterm_autoinsert = true +vim.g.floaterm_autoclose = false +vim.g.floaterm_height = 1.0 +vim.g.floaterm_title = '' + +vim.g.rust_clip_command = 'xclip -selection clipboard' +vim.g.cargo_shell_command_runner = 'FloatermNew' + +vim.api.nvim_set_keymap('n', '', ':FloatermNew', { noremap = true }) +vim.api.nvim_set_keymap('n', '', ':FloatermKill', { noremap = true }) + +vim.api.nvim_set_keymap('n', '', ':NERDTreeToggle', { noremap = true }) +vim.api.nvim_set_keymap('n', '', ':NERDTreeFocus', { noremap = true }) + +vim.api.nvim_set_keymap('n', 'ff', 'Telescope find_files', { noremap = true }) +vim.api.nvim_set_keymap('n', 'fg', 'Telescope live_grep', { noremap = true }) +vim.api.nvim_set_keymap('n', 'fb', 'Telescope buffers', { noremap = true }) +vim.api.nvim_set_keymap('n', 'fh', 'Telescope help_tags', { noremap = true }) + +vim.api.nvim_set_keymap('n', 'tn', 'tabn', { noremap = true }) +vim.api.nvim_set_keymap('n', 'tp', 'tabp', { noremap = true }) +vim.api.nvim_set_keymap('n', 'tt', 'tabnew', { noremap = true }) +vim.api.nvim_set_keymap('n', 'tl', 'tablast', { noremap = true }) +vim.api.nvim_set_keymap('n', 'tf', 'tabfirst', { noremap = true }) + +vim.api.nvim_set_keymap('n', '', ':vertical resize -3', { noremap = true }) +vim.api.nvim_set_keymap('n', '', ':vertical resize +3', { noremap = true }) +vim.api.nvim_set_keymap('n', '', ':resize -3', { noremap = true }) +vim.api.nvim_set_keymap('n', '', ':resize +3', { noremap = true }) + +vim.api.nvim_set_keymap('n', 'j', 'gj', { noremap = true }) +vim.api.nvim_set_keymap('n', 'k', 'gk', { noremap = true }) + +vim.api.nvim_set_keymap('n', ';', ':', { noremap = true }) +vim.api.nvim_set_keymap('v', ';', ':', { noremap = true }) + +vim.api.nvim_set_keymap('t', '', '', { noremap = true }) +vim.api.nvim_set_keymap('', 'Q', '', { noremap = false }) + +vim.cmd([[ + aunmenu PopUp.How-to\ disable\ mouse + aunmenu PopUp.-1- + + au BufReadPost,BufNewFile *.dart set sw=2 ts=2 + au BufReadPost,BufNewFile *.md set linebreak wrap + + au BufReadPost,BufNewFile *.csx set ft=cs + au BufReadPost,BufNewFile *.asm set ft=nasm + au BufReadPost,BufNewFile *.s set ft=nasm + au BufReadPost,BufNewFile *.hpp set ft=cpp + + au BufReadPost,BufNewFile *.rs nnoremap :Crun + au BufReadPost,BufNewFile *.rs nnoremap :Cbuild + au BufReadPost,BufNewFile *.rs nnoremap :RustFmt + + au BufReadPost,BufNewFile *.go nnoremap :FloatermNew go run . + au BufReadPost,BufNewFile *.go nnoremap :FloatermNew go build . + + au BufReadPost,BufNewFile *.c nnoremap :FloatermNew make run + au BufReadPost,BufNewFile *.c nnoremap :FloatermNew make build + + syntax on + colorscheme 256_noir + + hi VertSplit guifg=#000000 guibg=NONE + + hi LineNr guibg=NONE guifg=#333333 + hi Normal guibg=NONE + hi Visual guibg=#212121 + hi NonText guibg=NONE + hi CursorLine guibg=#0A0A0A + hi StatusLine guibg=#000000 + hi SignColumn guibg=#000000 guifg=#000000 + hi EndOfBuffer guibg=NONE + + hi Comment gui=italic + hi Macro gui=bold + + hi IndentBlankLineChar guifg=#333333 + hi FloatermBorder guibg=#0A0A0A + + command W w + command Q q + command WQ wq + command Wq wq +]]) + diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json new file mode 100644 index 0000000..3001afe --- /dev/null +++ b/.config/nvim/lazy-lock.json @@ -0,0 +1,21 @@ +{ + "baleia.nvim": { "branch": "main", "commit": "fb3aff021b2b64ef820d0230d2c22ebfaf71bb6a" }, + "gruvbox-baby": { "branch": "main", "commit": "bd52e62d8134647090108189e69c8b3cd18bdbbf" }, + "indent-blankline.nvim": { "branch": "master", "commit": "3d08501caef2329aba5121b753e903904088f7e6" }, + "lazy.nvim": { "branch": "main", "commit": "83493db50a434a4c5c648faf41e2ead80f96e478" }, + "nerdtree": { "branch": "master", "commit": "f3a4d8eaa8ac10305e3d53851c976756ea9dc8e8" }, + "nvim-autopairs": { "branch": "master", "commit": "c6139ca0d5ad7af129ea6c89cb4c56093f2c034a" }, + "nvim-treesitter": { "branch": "master", "commit": "bb3dd60ebcf6f75f73f39c44724b4a426ece6b7b" }, + "nvim-tundra": { "branch": "main", "commit": "374ec2e2075ebe699a20d29e0c141cf5113adf0c" }, + "plenary.nvim": { "branch": "master", "commit": "f7adfc4b3f4f91aab6caebf42b3682945fbc35be" }, + "rust.vim": { "branch": "master", "commit": "889b9a7515db477f4cb6808bef1769e53493c578" }, + "suda.vim": { "branch": "master", "commit": "66727b416837836712975e748bc8a19fb6cf4ec3" }, + "telescope.nvim": { "branch": "master", "commit": "e9e01d699843af530ef4ad2c8679a7e273bb3dd1" }, + "vim": { "branch": "master", "commit": "837fd7292274e0ee2f3b5aee4519c3f74d7dc3d1" }, + "vim-256noir": { "branch": "master", "commit": "e8668a18a4a90272c1cae87e655f8bddc5ac3665" }, + "vim-floaterm": { "branch": "master", "commit": "c0535d758004bcce016839e318cbbe802b92c469" }, + "vim-fugitive": { "branch": "master", "commit": "8d4e8d45385c63a0bf735fe1164772116bf0da0d" }, + "vim-hexcolor": { "branch": "master", "commit": "f80182254377c402f90536802732aad69acc5d99" }, + "vim-polyglot": { "branch": "master", "commit": "bc8a81d3592dab86334f27d1d43c080ebf680d42" }, + "vim-qml": { "branch": "master", "commit": "892c36a80a8711025af7bb9d09a8a6b90fe3d0c8" } +} \ No newline at end of file -- cgit v1.3