summaryrefslogtreecommitdiffstats
path: root/.config/nvim/init.old.vim
diff options
context:
space:
mode:
authorRomain Gonçalves <me@rgoncalves.se>2021-12-23 18:28:03 +0000
committerRomain Gonçalves <me@rgoncalves.se>2021-12-23 18:28:03 +0000
commit0f08d04698c814955116b6bae50752e64b774d8f (patch)
tree8cf9a33557093eebfd25aab2872e97639c7e2f62 /.config/nvim/init.old.vim
downloaddots-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.vim218
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
remember that computers suck.