Sanchayan Maity
467a660409
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>
102 lines
4.1 KiB
VimL
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
|