dotfiles

:)
git clone https://git.sr.ht/~ashymad/dotfiles
Log | Files | Refs | Submodules | LICENSE

commit 991bdda0450bd46f607ae1ff90681d9dd6a1391a
parent 0dd8d7527bf810690b49bfc32b9cfad3b7d150af
Author: Szymon Mikulicz <szymon.mikulicz@posteo.net>
Date:   Fri, 10 Apr 2020 18:21:32 +0200

nvim: hello minpac goodbye vim-plug

Diffstat:
Mnvim/.config/nvim/init.vim | 183+++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------
1 file changed, 128 insertions(+), 55 deletions(-)

diff --git a/nvim/.config/nvim/init.vim b/nvim/.config/nvim/init.vim @@ -2,50 +2,57 @@ if &shell =~# 'fish$' set shell=bash endif -" Install vim-plug if not isntalled -if empty(glob('~/.local/share/nvim/site/autoload/plug.vim')) - silent !curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs - \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim - autocmd VimEnter * PlugInstall --sync | source $MYVIMRC +if &compatible + set nocompatible endif -call plug#begin('~/.local/share/nvim/plugged') +function! PackInit() abort + packadd minpac -Plug 'joshdick/onedark.vim' -Plug 'itchyny/lightline.vim' + call minpac#init() -Plug 'scrooloose/nerdtree' + call minpac#add('k-takata/minpac', {'type': 'opt', 'branch': 'devel'}) -Plug 'vim-scripts/indentpython.vim' -Plug 'Vimjas/vim-python-pep8-indent' + call minpac#add('vim-scripts/indentpython.vim', {'type': 'opt'}) + call minpac#add('Vimjas/vim-python-pep8-indent', {'type': 'opt'}) -Plug 'JuliaEditorSupport/julia-vim' + call minpac#add('JuliaEditorSupport/julia-vim', {'type': 'opt'}) -Plug 'lervag/vimtex' -Plug 'PietroPate/vim-tex-conceal' + call minpac#add('lervag/vimtex', {'type': 'opt'}) + call minpac#add('PietroPate/vim-tex-conceal', {'type': 'opt'}) -Plug 'rust-lang/rust.vim' + call minpac#add('rust-lang/rust.vim', {'type': 'opt'}) -Plug 'dag/vim-fish' + call minpac#add('dag/vim-fish', {'type': 'opt'}) -Plug 'jalvesaq/Nvim-R' + call minpac#add('jalvesaq/Nvim-R', {'type': 'opt'}) -Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } + call minpac#add('mboughaba/i3config.vim', {'type': 'opt'}) -Plug 'Shougo/neosnippet.vim' -Plug 'Shougo/neosnippet-snippets' + call minpac#add('paretje/deoplete-notmuch', {'type': 'opt'}) -Plug 'paretje/deoplete-notmuch', {'for': 'mail'} + call minpac#add('sonph/onehalf', {'subdir': 'vim'}) -Plug 'tpope/vim-fugitive' + call minpac#add('itchyny/lightline.vim') + call minpac#add('scrooloose/nerdtree') -Plug 'chaoren/vim-wordmotion' + call minpac#add('Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }) + call minpac#add('Shougo/neosnippet.vim') + call minpac#add('Shougo/neosnippet-snippets') -Plug 'neovim/nvim-lsp' + call minpac#add('tpope/vim-fugitive') -Plug 'Shougo/deoplete-lsp' + call minpac#add('chaoren/vim-wordmotion') -call plug#end() + call minpac#add('neovim/nvim-lsp') + call minpac#add('Shougo/deoplete-lsp') +endfunction + +command! PackUpdate call PackInit() | call minpac#update() +command! PackClean call PackInit() | call minpac#clean() +command! PackStatus call PackInit() | call minpac#status() + +packloadall " Neosnipet " Note: It must be "imap" and "smap". It uses <Plug> mappings. @@ -53,31 +60,30 @@ imap <C-j> <Plug>(neosnippet_expand_or_jump) smap <C-j> <Plug>(neosnippet_expand_or_jump) xmap <C-j> <Plug>(neosnippet_expand_target) +" lightline +let g:lightline = { + \ 'colorscheme': 'onehalfdark', + \ } + " For conceal markers. if has('conceal') set conceallevel=2 let g:tex_conceal="abdgms" endif -" lightline -let g:lightline = { - \ 'colorscheme': 'onedark', - \ } - " vimtex let g:vimtex_view_method = 'zathura' let g:vimtex_compiler_progname = 'nvr' let g:vimtex_quickfix_enabled = 0 +"NERDTree +map <C-k> :NERDTreeToggle<CR> + " nvim-lsp lua require'nvim_lsp'.rust_analyzer.setup{} +lua require'nvim_lsp'.pyls_ms.setup{cmd={"mspyls"}} lua require'nvim_lsp'.texlab.setup{} -autocmd Filetype rust setlocal omnifunc=v:lua.vim.lsp.omnifunc - -"NERDTree -map <C-k> :NERDTreeToggle<CR> - " Deoplete inoremap <expr><C-h> deoplete#smart_close_popup()."\<C-h>" inoremap <expr><BS> deoplete#smart_close_popup()."\<C-h>" @@ -94,7 +100,6 @@ imap <silent><expr> <TAB> \ deoplete#manual_complete() call deoplete#custom#option('omni_patterns', { - \ 'tex': g:vimtex#re#deoplete, \ 'r': ['[^. *\t]\.\w*', '\h\w*::\w*', '\h\w*\$\w*'], \}) @@ -102,12 +107,93 @@ call deoplete#custom#option('sources', { \ 'notmuch': ['notmuch', 'address', '--format=json', '--deduplicate=address', '*'], \}) -let g:deoplete#enable_at_startup = 1 +call deoplete#enable() + +" Autocmds + +autocmd Filetype python call SetPythonOptions() +function SetPythonOptions() + packadd indentpython.vim + packadd vim-python-pep8-indent + setlocal textwidth=79 + setlocal fileformat=unix +endfunction + +autocmd Filetype tex call SetTeXOptions() +function SetTeXOptions() + packadd vim-tex-conceal + packadd vimtex + let g:vimteplete = '\\(?:' + \ . '\w*cite\w*(?:\s*\[[^]]*\]){0,2}\s*{[^}]*' + \ . '|(text|block)cquote\*?(?:\s*\[[^]]*\]){0,2}\s*{[^}]*' + \ . '|(for|hy)\w*cquote\*?{[^}]*}(?:\s*\[[^]]*\]){0,2}\s*{[^}]*' + \ . '|\w*ref(?:\s*{[^}]*|range\s*{[^,}]*(?:}{)?)' + \ . '|hyperref\s*\[[^]]*' + \ . '|includegraphics\*?(?:\s*\[[^]]*\]){0,2}\s*{[^}]*' + \ . '|(?:include(?:only)?|input|subfile)\s*{[^}]*' + \ . '|([cpdr]?(gls|Gls|GLS)|acr|Acr|ACR)[a-zA-Z]*\s*{[^}]*' + \ . '|(ac|Ac|AC)\s*{[^}]*' + \ . '|includepdf(\s*\[[^]]*\])?\s*{[^}]*' + \ . '|includestandalone(\s*\[[^]]*\])?\s*{[^}]*' + \ . '|(usepackage|RequirePackage|PassOptionsToPackage)(\s*\[[^]]*\])?\s*{[^}]*' + \ . '|documentclass(\s*\[[^]]*\])?\s*{[^}]*' + \ . '|begin(\s*\[[^]]*\])?\s*{[^}]*' + \ . '|end(\s*\[[^]]*\])?\s*{[^}]*' + \ . '|\w*' + \ .')' + " \ 'tex': g:vimtex#re#deoplete, + call deoplete#custom#option('omni_patterns', { + \ 'tex': g:vimteplete, + \}) + setlocal sw=2 + setlocal textwidth=79 + setlocal iskeyword+=: + setlocal spell! spelllang=en +endfunction + +autocmd Filetype rust call SetRustOptions() +function SetRustOptions() + packadd rust.vim + setlocal omnifunc=v:lua.vim.lsp.omnifunc +endfunction + +autocmd BufNewFile,BufRead *.jl set filetype=julia +autocmd Filetype julia call SetJuliaOptions() +function SetJuliaOptions() + packadd julia-vim +endfunction + +autocmd Filetype R call SetROptions() +autocmd Filetype noweb call SetROptions() +function SetROptions() + packadd Nvim-R +endfunction + +autocmd BufNewFile,BufRead *.none set filetype=mail +autocmd Filetype mail call SetMailOptions() +function SetMailOptions() + packadd deoplete-notmuch +endfunction + +autocmd BufNewFile,BufRead *.fish set filetype=fish +autocmd Filetype fish call SetFishOptions() +function SetFishOptions() + packadd vim-fish +endfunction + +autocmd Filetype i3config call SetI3Options() +function SetI3Options() + packadd i3config.vim +endfunction + +autocmd CompleteDone * silent! pclose " vim settings set hidden set lazyredraw +let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" +let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" set termguicolors set noshowmode set wildmenu @@ -118,30 +204,17 @@ set softtabstop=4 set shiftwidth=4 set expandtab set autoindent +set noea filetype plugin indent on syntax on -colorscheme onedark +colorscheme onehalfdark +hi Normal guibg=none +hi LineNr guibg=none tnoremap <Esc> <C-\><C-n> au TermOpen * setlocal nonumber norelativenumber au BufReadPost APKBUILD set syntax=sh noexpandtab - -autocmd Filetype python call SetPythonOptions() -function SetPythonOptions() - setlocal textwidth=79 - setlocal fileformat=unix -endfunction - -autocmd Filetype tex call SetTeXOptions() -function SetTeXOptions() - setlocal sw=2 - setlocal textwidth=79 - setlocal iskeyword+=: - setlocal spell! spelllang=en -endfunction - -autocmd BufNewFile,BufRead *.none set filetype=mail