dotfiles/.config/nvim/legacy.vim
Tanguy Herbron f02cdb1f1e feat(vim): Migration configuration to Lua
Every configuration file related to Neovim has been moved to Lua.
This comes with a variety of updatly around theming and implementation for better compatiblity accross the environment.
2023-04-07 18:24:48 +02:00

204 lines
4.5 KiB
VimL

call plug#begin('~/.config/nvim/plugged')
" Ayu color scheme
Plug 'https://git.halia.dev/therbron/ayu-vim'
Plug 'junegunn/fzf.vim'
" Display indents
Plug 'yggdroot/indentline'
Plug 'yuezk/vim-js'
" Autocompletion
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'vim-airline/vim-airline'
Plug 'ryanoasis/vim-devicons'
" File finder and live grep
Plug 'nvim-telescope/telescope.nvim', {'branch': '0.1.x'}
Plug 'nvim-lua/plenary.nvim'
" File highlighter with wide language support
Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'}
" Grep utility for whole project
Plug 'jremmen/vim-ripgrep'
" Git integration
Plug 'tpope/vim-fugitive'
Plug 'rrethy/vim-hexokinase', {'do': 'make hexokinase'}
" Ctrl-z tree still history manager
Plug 'mbbill/undotree'
" docker-compose wrapper
Plug 'skanehira/docker-compose.vim'
" Nginx syntax highlighter
Plug 'chr4/nginx.vim'
" Highlight indicator
Plug 'machakann/vim-highlightedyank'
" Markdown preview in browser
Plug 'iamcco/markdown-preview.nvim', { 'do': { -> mkdp#util#install() }, 'for': ['markdown', 'vim-plug']}
"" Markdown table formatter
"Plug 'junegunn/vim-easy-align'
" Markdown formatting
Plug 'godlygeek/tabular'
Plug 'preservim/vim-markdown'
" React syntax highlighter
" i3 config checker
Plug 'mboughaba/i3config.vim'
" Session restore
Plug 'tpope/vim-obsession'
" Testing disable section
"" Deprecated, replace by coc feature ?
" Plug 'lervag/vimtex'
" Plug 'ekalinin/Dockerfile.vim'
" Vim integration in tmux
"Plug 'vimpostor/vim-tpipeline'
call plug#end()
" Disable integrated providers
let g:loaded_ruby_provider = 0
let g:loaded_perl_provider = 0
let g:loaded_node_provider = 0
syntax on
set noerrorbells
filetype plugin indent on
" show existing tab with 4 spaces width
set tabstop=4 softtabstop=4
" when indenting with '>', use 4 spaces width
set shiftwidth=4
" on pressng tab, insert 4 spaces
set expandtab
set smartindent
set nu
set nowrap
set smartcase
set noswapfile
set nobackup
set undodir=~/.config/nvim/undodir
set undofile
set incsearch
set splitright
set splitbelow
" Remove the duplicate --INSERT-- information
set noshowmode
" rg smart root founder and adds git ignore loading for faster execution
if executable('rg')
let g:rg_derive_root="true"
endif
" let g:airline_powerline_fonts = 1
source ~/.config/nvim/coc.vim
let mapleader = " "
nnoremap <leader>h :wincmd h<CR>
nnoremap <leader>j :wincmd j<CR>
nnoremap <leader>k :wincmd k<CR>
nnoremap <leader>l :wincmd l<CR>
nnoremap <leader>u :UndotreeToggle<CR>
nnoremap <leader>1 1gt
nnoremap <leader>2 2gt
nnoremap <leader>3 3gt
nnoremap <leader>4 4gt
nnoremap <leader>5 5gt
nnoremap <leader>6 6gt
nnoremap <leader>7 7gt
nnoremap <leader>8 8gt
nnoremap <leader>9 9gt
nnoremap <leader>0 10gt
nnoremap <C-p> <cmd>lua require"telescope-config".project_files()<cr>
nnoremap <C-f> <cmd>Telescope live_grep<cr>
" Add folding shortcuts and settings
set foldmethod=indent
set foldnestmax=10
set nofoldenable
set foldlevel=99
set signcolumn=no
" indentline configs
let g:indentLine_enabled = 1
let g:indentLine_char_list = ['|', '¦', '┆', '┊']
let g:indentLine_setColors = 1
let g:indentLine_color_gui = "#5C6370"
let g:indentLine_showFirstIndentLevel = 1
" vimtex settings
let g:tex_flavor = 'latex'
let g:vimtex_view_method = 'zathura'
let g:vimtex_compiler_latexmk = {
\'build_dir': 'build',
\}
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set background=dark
set t_Co=256
" Ayu colors scheme settings
set termguicolors
let ayucolor="mirage"
colorscheme ayu
" Syntastic default configuration
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlage()}
set statusline+=%*
let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 1
let g:syntastic_check_on_wq = 0
" Neomutt configuration for nvim compatibility
au BufRead /tmp/neomutt-* set tw=72
" Line wrapping shortcuts
function! ToggleWrap()
set wrap! linebreak! nolist!
endfunction
nnoremap <leader>w :call ToggleWrap()<CR>
" Python configuration, Highlight self
augroup python
autocmd!
autocmd FileType python
\ syn keyword pythonSelf self
\ | highlight def link pythonSelf Special
augroup end
" Markdown formatter macro
nnoremap <leader>t :TableFormat<CR>
let g:coc_disable_startup_warning = 1
set mouse=
" Lua config
luafile $HOME/.config/nvim/lua/telescope-mappings.lua
" Add treesitter highlight
lua require'nvim-treesitter.configs'.setup{highlight={enable=true}}