From 98aa8b0c051c3276c14e42604a00753c640697ac Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Fri, 8 Oct 2021 20:40:59 +0200 Subject: feat: nvim import --- nvim/init.vim | 195 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 nvim/init.vim (limited to 'nvim/init.vim') diff --git a/nvim/init.vim b/nvim/init.vim new file mode 100644 index 0000000..77dcf69 --- /dev/null +++ b/nvim/init.vim @@ -0,0 +1,195 @@ +autocmd! bufwritepost .vimrc source % + +call plug#begin('~/.vim/plugged') +Plug 'rust-lang/rust.vim' +Plug 'nvim-lua/plenary.nvim' +Plug 'lewis6991/gitsigns.nvim' +"Plug 'vim-airline/vim-airline' +Plug 'shadmansaleh/lualine.nvim' +Plug 'junegunn/fzf', {'dir': '~/.fzf', 'do': './install --all'} | Plug 'junegunn/fzf.vim' " fuzzy finder +Plug 'luochen1990/rainbow' " color parentheses +Plug 'dense-analysis/ale' " checker syntax +Plug 'posva/vim-vue' +Plug 'terryma/vim-multiple-cursors' +Plug 'tpope/vim-fugitive' " git extension for commit logs and etc. +Plug 'neoclide/coc.nvim', {'branch': 'release'} +Plug 'editorconfig/editorconfig-vim' +Plug 'ap/vim-css-color' +Plug 'Yggdroot/indentLine' +Plug 'jmcantrell/vim-virtualenv' + +Plug 'ryanoasis/vim-devicons' + +Plug 'google/vim-searchindex' + +call plug#end() " required + +syntax on +colorscheme miramare + +set clipboard=unnamed +set mouse=a " click with mouse +set wildmenu +set wildmode=longest,list:full +set wildignore=*~,*.png,*.jpg,*.gif,Thumbs.db,*.min.js,*.swp,*.o,vendor + + +set number " number of the current line +set relativenumber " relative number, ..-2 -1 x 1 2, where x is current line +set textwidth=80 +set colorcolumn=80 +set nowrap +set fo-=t + +set tabstop=4 +set shiftwidth=4 +set expandtab " convert tabs in spaces + +set ai " auto indent +set autoread + +set encoding=UTF-8 +set history=1000 +set wildignore+=*.pyc + +set hlsearch " highlight search +set incsearch + +set nowritebackup +set laststatus=2 + +set cursorline + +set list " spaces as characters +set listchars=eol:⏎,tab:»·,trail:ˑ,nbsp:⎵ + +set foldmethod=indent + +set splitright " split on right side +set lazyredraw +set ttyfast + +" rust +let g:rustfmt_autosave = 1 +let g:rustfmt_emit_files = 1 +let g:rustfmt_fail_silently = 0 +let g:rust_clip_command = 'xclip -selection clipboard' + +let g:fzf_preview_window = 'right:70%' + +let g:ale_disable_lsp = 1 +let g:ale_fix_on_save = 1 +let g:ale_sign_error = '🛑' +let g:ale_sign_warning = '⚠️' +let g:ale_sign_info = '💭' +let g:ale_echo_msg_error_str = 'E' +let g:ale_echo_msg_warning_str = 'W' +let g:ale_echo_msg_format = '[%severity%] [%linter%] %s' +let g:ale_open_list = 1 +let g:ale_keep_list_window_open = 0 +let g:ale_list_window_size = 3 + +let b:ale_linters = { +\ 'python': ['flake8', 'pylint', 'mypy'], +\ 'cpp': ['clang'], +\ 'c': ['clang'], +\} + +let b:ale_fixers = { +\ 'python': ['black', 'isort'], +\ 'javascript': ['prettier'], +\ 'typescript': ['prettier'], +\ 'vue': ['prettier'], +\ 'html': ['prettier'], +\ 'cpp': ['clang-format'], +\ 'c': ['clang-format'], +\} + + +set statusline^=%{coc#status()} +let g:airline#extensions#coc#enabled = 0 + +if has('nvim') + lua require('evil_lualine') + lua require('git') +endif + +let g:indentLine_char = '¦' + +let g:vue_pre_processors = ['pug', 'scss'] + +let g:netrw_liststyle=1 + +filetype plugin indent on +set nocompatible + +set showcmd " show commands at bottom + +augroup remember_folds + autocmd! + autocmd BufWinLeave * mkview + autocmd BufWinEnter * silent! loadview +augroup END + +" ------------ +" MAPS +" ----------- +nnoremap j gj +nnoremap k gk + +nnoremap tn :tabnew +nnoremap :ve :Vexplore +nnoremap :rt :RainbowToggle + +" buffers +nnoremap ]b :bnext +nnoremap [b :bprev +nnoremap ,b :Buffers + +" tabs +nnoremap ]t :tabn +nnoremap [t :tabp +nnoremap ,t :tabs + +" only one window +nnoremap ,o :only + + +" mapping fzf commands +" ff = open files explorer +" co = open commits explorer +" gf = open git ls-files +" gs = open git status +nnoremap :ff :Files . +nnoremap :co :Commits +nnoremap :gf :GFiles +nnoremap :gs :GFiles? +nnoremap :gd :Git diff + +nnoremap :pa :set paste +nnoremap :npa :set nopaste + + +nmap :cr :!command cargo r +nmap :EditorConfigReload + + +" Use `[g` and `]g` to navigate diagnostics +nmap [g (coc-diagnostic-prev) +nmap ]g (coc-diagnostic-next) + +" GoTo code navigation. +nmap gd (coc-definition) +nmap gy (coc-type-definition) +nmap gi (coc-implementation) +nmap gr (coc-references) + +"VimDiff shortcuts +if &diff + "Get from remote + nnoremap dr :diffgetRE + "Get from base + nnoremap db :diffgetBA + "Get from local + nnoremap dl :diffgetLO +endif -- cgit v1.2.3-18-g5258