diff --git a/.config/nvim/init.vim b/.config/nvim/init.vim index b631853..45fe1ba 100644 --- a/.config/nvim/init.vim +++ b/.config/nvim/init.vim @@ -1,9 +1,13 @@ lua << EOF -vim.g.loaded = 1 -vim.g.loaded_netrwPlugin = 1 +require('core.config') +require('core.mappings') +--require('core.plugins') EOF -let plug_install = 0 + +"let mapleader = "\\" +nmap + let autoload_plug_path = stdpath('config') . '/autoload/plug.vim' if !filereadable(autoload_plug_path) @@ -43,10 +47,11 @@ Plug 'ftilde/vim-ugdb' " Completion {{{ Plug 'hrsh7th/cmp-buffer' Plug 'hrsh7th/cmp-cmdline' -Plug 'petertriho/cmp-git' Plug 'hrsh7th/cmp-nvim-lsp' Plug 'hrsh7th/cmp-path' Plug 'hrsh7th/nvim-cmp' +Plug 'mstanciu552/cmp-matlab' +Plug 'petertriho/cmp-git' " }}} " Snippets {{{ @@ -141,31 +146,6 @@ Plug 'debugloop/telescope-undo.nvim' call plug#end() -set termguicolors -set shell=/bin/bash - -if plug_install - PlugInstall --sync -endif -unlet plug_install - -set number -set relativenumber -set numberwidth=1 -set clipboard+=unnamedplus - -set noshowmode -set laststatus=2 - -lua << EOF -require("virt-column").setup { } -require('compiler-explorer').setup() -require("symbols-outline").setup() -EOF -set colorcolumn=80 - -set background=dark - "colorscheme enfocado "lua require('lualine').setup { options = { theme = 'enfocado' } } @@ -174,36 +154,9 @@ lua require('lualine').setup { options = { theme = 'falcon' } } "highlight MatchParen cterm=underline ctermbg=black ctermfg=NONE "highlight VirtColumn ctermfg=DarkGrey ctermbg=NONE -set listchars=tab:▸\ ,trail:¬ -set list "hi clear SpellBad "hi SpellBad cterm=underline -set tabstop=2 -set shiftwidth=2 -set softtabstop=2 - -set expandtab - -set ignorecase -set smartcase - -set gdefault - -set textwidth=80 -set formatoptions+=tlo/qj -set scrolloff=10 -set nowrap -set sidescroll=5 - -set inccommand="split" - -set lazyredraw - -" space one line, home,end globally increase/decrease -nnoremap zc -nnoremap zo - " Ctags {{{ if isdirectory($HOME . '/.cache/nvim/tags') == 0 :silent !mkdir -p ~/.cache/nvim/tags > /dev/null 2>&1 @@ -217,92 +170,6 @@ endif set undodir=~/.cache/nvim/undo/ set undofile -"let mapleader = "\\" -nmap - -tnoremap - -inoremap jj -inoremap jk -"inoremap :w :w -nnoremap Q q - -" Reselect visual block after incrementing/decrementing -vnoremap gv -vnoremap gv - -nnoremap 2 :set tabstop=2 softtabstop=2 shiftwidth=2 -nnoremap 4 :set tabstop=4 softtabstop=4 shiftwidth=4 -nnoremap 8 :set tabstop=8 softtabstop=8 shiftwidth=8 - -nnoremap :nohlsearch - -" TextEdit might fail if hidden is not set. -set hidden - -" Some servers have issues with backup files, see #649. -set nobackup -set nowritebackup - -" New dynamic window height -"set cmdheight=0 -set cmdheight=1 - -" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable -" delays and poor user experience. -set updatetime=300 - -" Don't pass messages to |ins-completion-menu|. -set shortmess+=c -set shortmess-=F - -set signcolumn=auto - -set wildmode=longest,list,full -set completeopt=menu,menuone,noselect - -set mouse= - -"match Error /\s\+$\|DU\cPA/ - -setglobal virtualedit=block -setglobal shiftround - -let g:vimwiki_list = [{'path': '~/vimwiki/', - \ 'syntax': 'markdown', 'ext': '.md'}] - -"""""""""""""""""" -" gui settings " -"""""""""""""""""" -set guifont=IBM\ Plex\ Mono\ Text:h9:e-subpixelantyalias -let g:neovide_cursor_vfx_mode = "pixiedust" -let g:neovide_refresh_rate = 120 -let g:neovide_refresh_rate_idle = 5 -let g:neovide_remember_window_size = v:false - lua << EOF -vim.o.splitbelow = true -vim.o.splitright = true - -require('pretty-fold').setup() -require('pretty-fold').ft_setup('cpp', { - process_comment_signs = false, - --comment_signs = { - -- '//', -- C++ Doxygen comments - --}, -}) -require('fold-preview').setup() ---require('lsp_lines').setup() - -require('image').setup { - render = { - min_padding = 5, - show_label = true, - use_dither = true, - }, - events = { - update_on_nvim_resize = true, - }, -} - +require('core.temp') EOF diff --git a/.config/nvim/lua/core/config.lua b/.config/nvim/lua/core/config.lua new file mode 100644 index 0000000..5f0df89 --- /dev/null +++ b/.config/nvim/lua/core/config.lua @@ -0,0 +1,97 @@ +vim.g.loaded = 1 +vim.g.loaded_netrwPlugin = 1 +vim.g.plug_install = 0 +vim.opt.termguicolors = true + +vim.opt.shell = '/bin/bash' + +vim.opt.number = true +--vim.o.relativenumber = 1 +vim.opt.numberwidth = 1 +vim.opt.clipboard = "unnamedplus" + +vim.opt.showmode = true +vim.opt.laststatus = 2 + +vim.opt.background = 'dark' + +vim.opt.splitbelow = true +vim.opt.splitright = true + +-- gui settings +vim.opt.guifont="IBM Plex Mono Text:h9:e-subpixelantyalias" +vim.g.neovide_cursor_vfx_mode = 'pixiedust' +vim.g.neovide_refresh_rate = 120 +vim.g.neovide_refresh_rate_idle = 5 +vim.g.neovide_remember_window_size = 0 + +vim.opt.listchars = { tab = "▸ ", trail = "¬" } +vim.opt.list = true +vim.opt.tabstop=2 +vim.opt.shiftwidth=2 +vim.opt.softtabstop=2 + +vim.opt.expandtab = true + +vim.opt.ignorecase = true +vim.opt.smartcase = true + +vim.opt.gdefault = true + +vim.opt.textwidth = 80 +vim.opt.colorcolumn = { 80 } +vim.opt.formatoptions:append("tlo/qj") +vim.opt.scrolloff = 10 +vim.opt.wrap = false +vim.opt.sidescroll = 5 +vim.opt.sidescroll = 5 + +vim.opt.inccommand = "split" + +vim.opt.lazyredraw = true + +vim.opt.hidden = true + +vim.opt.backup = false +vim.opt.writebackup = false + +-- New dynamic window height +--vim.opt.cmdheight = 0 +vim.opt.cmdheight = 1 + +-- Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable +-- delays and poor user experience. +--vim.opt.updatetime = 300 + +-- Don't pass messages to |ins-completion-menu|. +vim.opt.shortmess:append('c') +vim.opt.shortmess:remove('F') + +vim.opt.signcolumn = "auto" + +vim.opt.wildmode = "longest,list,full" +vim.opt.completeopt = "menu,menuone,noselect" + +vim.opt.mouse = "" + +--match Error /\s\+$\|DU\cPA/ + +vim.opt.virtualedit = "block" +vim.opt.shiftround = true + +vim.opt.wildignorecase = true -- When set case is ignored when completing file names and directories +vim.opt.wildignore = [[ +.git,.hg,.svn +*.aux,*.out,*.toc +*.o,*.obj,*.exe,*.dll,*.manifest,*.rbc,*.class +*.ai,*.bmp,*.gif,*.ico,*.jpg,*.jpeg,*.png,*.psd,*.webp +*.avi,*.divx,*.mp4,*.webm,*.mov,*.m2ts,*.mkv,*.vob,*.mpg,*.mpeg +*.mp3,*.oga,*.ogg,*.wav,*.flac +*.eot,*.otf,*.ttf,*.woff +*.doc,*.pdf,*.cbr,*.cbz +*.zip,*.tar.gz,*.tar.bz2,*.rar,*.tar.xz,*.kgb +*.swp,.lock,.DS_Store,._* +*.log +*/tmp/*,*.so,*.swp,*.zip,**/node_modules/**,**/target/**,**.terraform/**" +]] + diff --git a/.config/nvim/lua/core/mappings.lua b/.config/nvim/lua/core/mappings.lua new file mode 100644 index 0000000..f8f9b22 --- /dev/null +++ b/.config/nvim/lua/core/mappings.lua @@ -0,0 +1,30 @@ +local map = vim.keymap.set +local default_options = { silent = true } +local expr_options = { expr = true, silent = true } + +-- space one line, home,end globally increase/decrease +map('n', '', 'zc', default_options) +map('n', '', 'zo', default_options) + +map('t', '', '', default_options) + +map('i', 'jj', '', default_options) +map('i', 'jk', '', default_options) +--map('i', ':w', ':w', default_options) +map('n', 'Q', 'q', default_options) + +-- Reselect visual block after incrementing/decrementing +map('v', '', 'gv', default_options) +map('v', '', 'gv', default_options) + +map('n', 'y', '"_y', default_options) +map('n', 'd', '"_d', default_options) +map('v', 'p', '"_p', default_options) +map("v", "p", '"_dp', default_options) +map("v", "P", '"_dP', default_options) + +map('n', '2', ':set tabstop=2 softtabstop=2 shiftwidth=2', default_options) +map('n', '4', ':set tabstop=4 softtabstop=4 shiftwidth=4', default_options) +map('n', '8', ':set tabstop=8 softtabstop=8 shiftwidth=8', default_options) + +map('n', '', 'nohlsearch', default_options) diff --git a/.config/nvim/lua/core/temp.lua b/.config/nvim/lua/core/temp.lua new file mode 100644 index 0000000..5303077 --- /dev/null +++ b/.config/nvim/lua/core/temp.lua @@ -0,0 +1,24 @@ +require("virt-column").setup { } +require('compiler-explorer').setup() +require("symbols-outline").setup() + +require('pretty-fold').setup() +require('pretty-fold').ft_setup('cpp', { + process_comment_signs = false, + --comment_signs = { + -- '//', -- C++ Doxygen comments + --}, +}) +require('fold-preview').setup() +--require('lsp_lines').setup() + +require('image').setup { + render = { + min_padding = 5, + show_label = true, + use_dither = true, + }, + events = { + update_on_nvim_resize = true, + }, +}