diff options
author | Romain Gonçalves <me@rgoncalves.se> | 2021-12-23 18:28:03 +0000 |
---|---|---|
committer | Romain Gonçalves <me@rgoncalves.se> | 2021-12-23 18:28:03 +0000 |
commit | 0f08d04698c814955116b6bae50752e64b774d8f (patch) | |
tree | 8cf9a33557093eebfd25aab2872e97639c7e2f62 /.config/nvim/init.old.vim | |
download | dots-0f08d04698c814955116b6bae50752e64b774d8f.tar.gz |
Thu Dec 23 06:28:03 PM UTC 2021
Diffstat (limited to '.config/nvim/init.old.vim')
-rwxr-xr-x | .config/nvim/init.old.vim | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/.config/nvim/init.old.vim b/.config/nvim/init.old.vim new file mode 100755 index 0000000..35630e8 --- /dev/null +++ b/.config/nvim/init.old.vim @@ -0,0 +1,218 @@ +" nvim configuration ~~ rgoncalves.se + +" vim-plug autoinstall +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 +endif + +" system agnostic detection +let uname = system('uname')[:-2] + +" global configuration +set encoding=utf-8 +set laststatus=2 +set scrolloff=3 +set viminfo= +set mouse=a +set title +set number +set noswapfile +set shell=/bin/sh +set updatetime=2500 +set synmaxcol=300 +set lazyredraw +set ttyfast +set wildoptions= +set autochdir +let sh_minlines=100 +let sh_maxlines=600 + +" filetypes and colorschemes +syntax on +filetype on +filetype plugin on +filetype indent on +colorscheme base + +" keybindings +noremap =j :%!python -m json.tool<CR> +noremap =k :%s/-\|-/-+-/g<CR> +noremap =l :%s/-+-/-\|-/g<CR> +noremap <F2> :NERDTreeToggle <CR> +noremap <F3> :GitGutterCustomToggle <CR> +inoremap <C-h> <Left> +inoremap <C-j> <Down> +inoremap <C-k> <Up> +inoremap <C-l> <Right> +" keybindings - omnifunc +inoremap <expr> <CR> pumvisible() ? "\<C-Y>" : "\<CR>" +inoremap <expr> <C-l> pumvisible() ? "\<CR>" : "\<CR>" +inoremap <expr> <C-n> pumvisible() ? '<C-n>' : + \ '<C-n><C-r>=pumvisible() ? "\<lt>Down>" : ""<CR>' +inoremap <expr> <M-,> pumvisible() ? '<C-n>' : + \ '<C-x><C-o><C-n><C-p><C-r>=pumvisible() ? "\<lt>Down>" : ""<CR>' +inoremap <expr> <C-Space> (pumvisible() ? (col('.') > 1 ? '<Esc>i<Right>' : '<Esc>i') : '') . + \ '<C-x><C-o><C-r>=pumvisible() ? "\<lt>C-n>\<lt>C-p>\<lt>Down>" : ""<CR>' +inoremap <expr> <S-Space> (pumvisible() ? (col('.') > 1 ? '<Esc>i<Right>' : '<Esc>i') : '') . + \ '<C-x><C-u><C-r>=pumvisible() ? "\<lt>C-n>\<lt>C-p>\<lt>Down>" : ""<CR>' + +let g:polyglot_disabled = ['autoindent', 'sensible'] + +" PLUGINS list +if !empty(glob('~/.local/share/nvim/site/autoload/plug.vim')) + call plug#begin('~/.nvim/plugged/') + " core + Plug 'scrooloose/nerdtree' + " completion + Plug 'w0rp/ale' + " Plug 'davidhalter/jedi-vim' + Plug 'maralla/completor.vim' + " fzf + Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } + Plug 'junegunn/fzf.vim' + " indent + Plug 'nathanaelkane/vim-indent-guides' + Plug 'editorconfig/editorconfig-vim' + Plug 'pangloss/vim-javascript' + Plug 'pearofducks/ansible-vim' + Plug 'sheerun/vim-polyglot' + Plug 'dbeniamine/vim-mail' + Plug 'ap/vim-css-color' + " notes + Plug 'dhruvasagar/vim-table-mode' + Plug 'jceb/vim-orgmode' + " headers and source + Plug 'vim-scripts/a.vim' + Plug 'majutsushi/tagbar' + " git + Plug 'airblade/vim-gitgutter' + Plug 'tpope/vim-fugitive' + Plug 'jreybert/vimagit' + Plug 'junegunn/gv.vim' + " python + Plug 'petobens/poet-v' + call plug#end() +endif + +" indentation +set smarttab +set autoindent +set nocompatible +set tabstop=8 +set shiftwidth=8 +set softtabstop=8 +set noexpandtab +set list lcs=tab:\|\ ". +set fillchars+=vert:\ ". +set ve+=onemore +set list +set shortmess=atToOF + +" plugins settings +let g:ale_sign_error = '' +let g:ale_sign_warning = '' +let g:ale_c_clang_options='-std=gnu99 -Wall' +let g:ale_c_gcc_options='-std=gnu99 -Wall' +let g:ale_sh_shellcheck_options = '-e SC1090 SC2181 -e SC2155' +let g:ale_python_flake8_options = '--ignore=E501' +let g:ale_linters = { 'python': ['bandit', 'flake8'], } + +let g:gitgutter_max_signs = 500 +let g:gitgutter_sign_added = '+' +let g:gitgutter_sign_modified = '~' +let g:gitgutter_sign_removed = '-' +let g:gitgutter_sign_modified_removed = '-' + +let g:indent_guides_enable_on_vim_startup = 0 +let g:indent_guides_auto_colors = 0 +let g:indent_cuides_exclude_filetypes = [ + \'help', + \'terminal' + \] +let g:poetv_executables = ['poetry'] +let g:poetv_auto_activate = 1 + +let g:python_host_prog = system('which python2')[:-2] +let g:python3_host_prog = system('which python3')[:-2] +let g:jedi#auto_initialization = 1 +let g:jedi#popup_on_dot = 0 + +let g:NERDTreeAutoDeleteBuffer = 1 +let g:NERDTreeMinimalUI = 1 +let g:NERDTreeDirArrowExpandable = '+' +let g:NERDTreeDirArrowCollapsible = '-' + +let g:EditorConfig_exclude_patterns = ['fugitive://.*', 'scp://.*'] +let g:fzf_layout = { 'down': '40%'} +let g:magit_default_fold_level = 2 +let g:sql_type_default = 'pgsql' +let g:table_mode_always_active = 0 + +if uname == 'OpenBSD' + let g:ncm2_pyclang#library_path = '/usr/local/lib/libclang.so.8.1' + let g:completor_python_binary = '/usr/bin/python3' +endif + +" netrw +let g:netrw_banner = 0 +let g:netrw_browse_split = 4 +let g:netrw_liststyle = 3 +let g:netrw_altv = 1 +let g:netrw_winsize = 25 +let g:netrw_list_hide = '\(^\|\s\s\)\zs\.\S\+' + +autocmd BufNewFile,BufReadPost *.{yaml,yml} set filetype=yaml +autocmd BufNewFile,BufReadPost */*ssh/config.d/* set syntax=sshconfig +autocmd BufNewFile,BufReadPost */*ansible*/**/*.yml set filetype=yaml.ansible +autocmd BufNewFile,BufRead ~/.config/i3/config set filetype=i3config +autocmd BufNewFile,BufRead ~/.config/sway/config set filetype=i3config +autocmd BufNewFile,BufRead ~/.config/polybar/config set filetype=dosini +autocmd FileType conf let b:EditorConfig_disable = 1 +autocmd FileType gitcommit let b:EditorConfig_disable = 1 +autocmd FileType java setlocal omnifunc=javacomplete#Complete +autocmd FileType yaml let b:EditorConfig_disable = 1 + +" statusline +set statusline= +set statusline+=\ %f +set statusline+=%m +set statusline+=%= +set statusline+=\ %y +set statusline+=\ %{&fileencoding?&fileencoding:&encoding} +set statusline+=\ [%{&fileformat}\] +set statusline+=\ %p%% +set statusline+=\ %l:%c +set statusline+=\ + +" completion +set omnifunc=syntaxcomplete#Complete +set completeopt=longest,menuone + +" commands +command! PlugSync PlugClean | + \ PlugInstall | + \ UpdateRemotePlugins +command! GitGutterCustomToggle GitGutterLineHighlightsToggle | + \ GitGutterLineNrHighlightsToggle +command! Gblame Git blame + +" cnoremap <silent> <cr> <cr>:call <SID>CommandCallback()<cr> + +function! s:SyncColorcolumnColorscheme() + let l:length = '/\%' . string(&colorcolumn + 1) . 'v.\+/' + execute 'match' 'OverLength' l:length +endfunction + +function! s:CommandCallback() + let l:last_command = @: + + if l:last_command =~ 'set colorcolumn' + call s:SyncColorcolumnColorscheme() + endif +endfunction + +function! s:Init() + call s:SyncColorcolumnColorscheme() +endfunction |