dotfiles/nvim/.config/nvim/config.vim
Sanchayan Maity 467a660409 nvim: Drop neomake, QFGrep and vim-grepper
Profiling with below
nvim -c 'profile start vim.log' -c 'profile func *' -c 'q'

shows that neomake adds to the start up time. Currently we only use it
for two tasks. Running hlint for Haskell and stack build asynchronously.

Use asyncdo and define a generic wrapper command for running makeprg
asynchronously. This can be used for anything as long as makeprg is
set correctly.

vim-grepper also adds somewhat to the startup time though not much. We
do not need the functionality of switching between grep tools. Here
again just use asyncdo and define a generic command for running grepprg
asynchronously.

Drop QFGrep as we can use in built Cfilter plugin for filtering the
quickfix list.

Note that all start times mentioned above are a few milliseconds not
even more than 5ms. However, we would like to be as fast as possible
and use in built functions.

Signed-off-by: Sanchayan Maity <maitysanchayan@gmail.com>
2020-05-21 16:39:06 +05:30

102 lines
4.1 KiB
VimL

" Set up leaders
let mapleader="\<SPACE>"
let maplocalleader=","
set shada="NONE" " Prevent SHADA files from being generated or read
set colorcolumn=80 " Highlight 80th column
set laststatus=2 " Always show status bar
set updatetime=100 " Let plugins show effects after 100ms
set mouse-=a " Disable mouse click to go to position
set encoding=utf-8
set exrc " Allow loading local .nvimrc files
set secure " Disallow use of autocmd, shell and write in local rc
set showcmd " Show (partial) command in status line.
set showmatch " Show matching brackets.
set ruler " Show the line and column numbers of the cursor.
set formatoptions+=o " Continue comment marker in new lines.
set formatoptions+=j " Delete comment character when joining commented lines
set textwidth=78 " Hard-wrap long lines as you type them.
set autoindent " Copy indent from current line when starting a new line
set noerrorbells " No beeps.
set modeline " Enable modeline.
set linespace=0 " Set line-spacing to minimum.
set nojoinspaces " Prevents inserting two spaces after punctuation on a join (J)
set noshowmode " Because of neovim's cursor shape
set splitbelow " Horizontal split below current.
set splitright " Vertical split to right of current.
set nobackup " no backup files
set nowritebackup " only in case you don't want a backup file while editing
set noswapfile " no swap files
set nofoldenable " Open folds by default
set undofile " Enable undo persistence across sessions
set hidden
set noautochdir
set hlsearch
set relativenumber
" Wild menu
set wildmenu
set wildmode=list:longest,full
set wildoptions=pum
set pumblend=30
set wildignore+=.hg,.git,.svn " Version control
set wildignore+=*.aux,*.out,*.toc " LaTeX intermediate files
set wildignore+=*.jpg,*.bmp,*.gif,*.png,*.jpeg " binary images
set wildignore+=*.o " compiled object files
set wildignore+=*.sw? " Vim swap files
set wildignore+=*.luac " Lua byte code
set wildignore+=*.pyc " Python byte code
set wildignore+=*.orig " Merge resolution files
set wildignore+=**/node_modules/** " Ignore garbage node_modules
set wildignore+=**/output/** " Ignore Purescript output directory
if !&scrolloff
set scrolloff=3 " Show next 3 lines while scrolling.
endif
if !&sidescrolloff
set sidescrolloff=5 " Show next 5 columns while side-scrolling.
endif
set nostartofline " Do not jump to first character with page commands.
set ignorecase " Make searching case insensitive
set smartcase " ... unless the query has capital letters.
set magic " Use 'magic' patterns (extended regular expressions).
set autoread " Autoload file if it changes on disk
set termguicolors " Enable colors for terminal
set fileformat=unix
set inccommand=split
set switchbuf=useopen
set backspace=indent,eol,start
set completeopt=menu,noselect,preview,noinsert
" Required for vim-workspace
" See https://github.com/thaerkh/vim-workspace/issues/11
set sessionoptions-=blank
" Disable providers we do not give a shit about
let g:loaded_python_provider = 0
let g:loaded_ruby_provider = 0
let g:loaded_perl_provider = 0
let g:loaded_node_provider = 0
let g:python3_host_prog = '/usr/bin/python3'
" Disable some in built plugins completely
let g:loaded_netrw = 1
let g:loaded_netrwPlugin = 1
let g:loaded_matchparen = 1
let g:loaded_2html_plugin = 1
let g:loaded_getscriptPlugin = 1
let g:loaded_gzip = 1
let g:loaded_logipat = 1
let g:loaded_rrhelper = 1
let g:loaded_spellfile_plugin = 1
let g:loaded_tarPlugin = 1
let g:loaded_vimballPlugin = 1
let g:loaded_zipPlugin = 1
" Add the in built Cfilter plugin. Replaces QFGrep.
packadd cfilter
" Colorscheme
colorscheme molokai