dotfiles/vimrc

130 lines
3.0 KiB
VimL

" Gestione plugin con vim-plug
call plug#begin()
Plug 'junegunn/vim-plug'
Plug 'tpope/vim-sensible'
Plug 'tpope/vim-commentary'
" Git wrapper
Plug 'tpope/vim-fugitive'
" File explorer
Plug 'scrooloose/nerdtree'
" nerdtree git plugin
Plug 'Xuyuanp/nerdtree-git-plugin'
" Ansible syntax highlight
Plug 'pearofducks/ansible-vim'
" ALE - linting, fixing and completion
Plug 'dense-analysis/ale'
" Blade syntax highlight
Plug 'xsbeats/vim-blade'
" HTML 5 template
Plug 'othree/html5.vim'
" Vim-latexsuite
Plug 'vim-latex/vim-latex'
Plug 'hashivim/vim-terraform'
" Rust
Plug 'rust-lang/rust.vim'
" Devicons
Plug 'ryanoasis/vim-devicons'
" Vim Airline
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
" Solarized theme
Plug 'altercation/vim-colors-solarized'
" Conqueror of Completion
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'josa42/coc-sh', { 'do': 'yarn install --frozen-lockfile' }
Plug 'yaegassy/coc-ansible', {'do': 'yarn install --frozen-lockfile'}
Plug 'fannheyward/coc-pyright', { 'do': 'yarn install --frozen-lockfile' }
Plug 'fannheyward/coc-rust-analyzer', { 'do': 'yarn install --frozen-lockfile' }
" Vim-plug configuration end
call plug#end()
" Impostazioni di base
syntax on
set background=dark
set modelines=5
set modeline
set showcmd
set laststatus=2
" Riattivo i plugin per i tipi di file
filetype plugin indent on
" Override grep
set grepprg=grep\ -nH\ $*
" Configurazioni addizionali
" Nerdtree
let g:NERDTreeNodeDelimiter = "\u00a0"
map <C-n> :NERDTreeToggle<CR>
" LaTeXsuite - Cambio il tex flavor
let g:tex_flavor='latex'
" Airline-theme - Set up airline-theme
let g:airline_powerline_fonts = 1
let g:airline_theme='dark'
" ALE configurations
nmap <silent> <C-e> <Plug>(ale_next_wrap)
let g:ale_sign_error = '⬥'
let g:ale_sign_warning = '⬦'
" Configurazioni per ansible-vim
let g:ansible_unindent_after_newline = 1
" Configurations for GVim
if has('gui_running')
"set guifont=Ubuntu\ Mono\ derivative\ Powerline\ 14
"set guifont = Droid Sans Mono Slashed for Powerline Regular 16,Ubuntu Mono derivative Powerline 14
set guifont=Fira\ Code\ Nerd\ Font\ 11,Ubuntu\ Mono\ derivative\ Powerline\ 14
colorscheme solarized
let g:airline_theme='base16'
endif
" Completion with Conqueror of Code
" use <tab> to trigger completion and navigate to the next complete item
function! CheckBackspace() abort
let col = col('.') - 1
return !col || getline('.')[col - 1] =~# '\s'
endfunction
inoremap <silent><expr> <Tab>
\ coc#pum#visible() ? coc#pum#next(1) :
\ CheckBackspace() ? "\<Tab>" :
\ coc#refresh()
" Conferma scelta con invio
inoremap <expr> <cr> coc#pum#visible() ? coc#pum#confirm() : "\<CR>\<c-r>=coc#on_enter()\<CR>"
" mostra documentazione in preview
nnoremap <silent> K :call ShowDocumentation()<CR>
function! ShowDocumentation()
if CocAction('hasProvider', 'hover')
call CocActionAsync('doHover')
else
call feedkeys('K', 'in')
endif
endfunction
let g:coc_filetype_map = {
\ 'yaml.ansible': 'ansible',
\ }