"sleeper vim", a small but mighty vimrc



If you weren't aware, SpaceVim isn't actually meant to be a permanent mod! okay, maybe it is.

While SpaceVim is great, philisophically it is as odds with the entire spirit of vim. I should state here I am by no means an expert nor even well-versed with vim, but I spend alot of time on the internet, and that means running across alot of rants about vim. For better, for worse, for no reason at all, people have some opinions about what, at first, seems to be something so innocuous it boggles the mind to see the body of work that is related to all things vim.

What I'm trying to say: vim isn't perhaps even a word editor (text editor, sorry) - it's more like a trusty toolbox, the one that isn't bristling with tons of gizmos, or the latest hardware. The toolbox with a big phillips-head, a small one, a hammer that has survived at least one metal barrier, a roll of duct tape, crowbar, and some wd-40. (I'd mention the ratchet but that always depends on if you can find the proper size attachment rolling around in the bottom.)

The beauty of vim is that it can be adjusted to exactly what your needs are. For me, I use it mainly to write these pages. A static site generator converts markdown to HTML, so my vim leans towards being as pleasant as possible when it comes to editing markdown files.

the guts

Without further ado, my vimrc:

" ==============
" Basic Settings
" ==============

set nocompatible                
set backspace=indent,eol,start     
set number                        
set hidden                        
filetype plugin indent on        
set history=100                    
nnoremap ; :
set tabstop=4                
set wrap                    
set linebreak                    
set nolist                        
set textwidth=0                    
set wrapmargin=0
set formatoptions-=t        
set formatoptions+=l

" =============
" vim-plug
" =============

call plug#begin('~/.vim/plugged')
" list plugins below here

Plug 'jeromescuggs/hybrid-operator'
Plug 'jeromescuggs/vim-deus'

Plug 'lilydjwg/colorizer'

" Plug 'tpope/vim-markdown'
Plug 'gabrielelana/vim-markdown'
Plug 'vim-scripts/txt.vim'
Plug 'sheerun/vim-polyglot'
Plug 'tpope/vim-abolish'
Plug 'junegunn/limelight.vim' 
Plug 'junegunn/goyo.vim' 
Plug 'reedes/vim-lexical' 
Plug 'reedes/vim-litecorrect' 

Plug 'scrooloose/nerdtree'
Plug 'ryanoasis/vim-devicons'

Plug 'justinmk/vim-syntax-extra'

Plug 'xolox/vim-misc'
Plug 'xolox/vim-notes'

Plug 'kristijanhusak/vim-carbon-now-sh'

Plug 'reedes/vim-wordy'
Plug 'reedes/vim-pencil'

Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'

" end of plugin list
call plug#end()

" ===========================
" Plugins & Filetype settings
" ===========================

  augroup pencil
   autocmd filetype markdown,mkd call pencil#init()
       \ | call lexical#init()
       \ | call litecorrect#init()
       \ | setl spell spl=en_us fdl=4 noru nonu nornu
       \ | setl fdo+=search
  augroup END
 " Pencil / Writing Controls {{{
   let g:pencil#wrapModeDefault = 'soft'
   let g:pencil#textwidth = 74
   let g:pencil#joinspaces = 0
   let g:pencil#cursorwrap = 1
   let g:pencil#conceallevel = 3
   let g:pencil#concealcursor = 'c'
   let g:pencil#softDetectSample = 20
   let g:pencil#softDetectThreshold = 130
 " }}}

" clear autocmds
" :autocmd!

map <C-n> :NERDTreeToggle<CR>

" ===========
" colorscheme
" ===========

" colo hybrid_operator
colo deus

set background=dark
syntax on
syntax enable 
set t_Co=256

" =========
" misc
" =========
set laststatus=2        " Make airline status bar appear all the time

au BufEnter,BufRead,BufNewFile *.page :setlocal filetype=markdown
" au BufEnter,BufRead,BufNewFile *.page :setlocal filetype=md
:autocmd VimEnter * :AirlineRefresh

Certainly not the most elegant vimrc, but it gets the job done.


There's not a lot of emphasis on strict organization here, but I did aim to divide it up into relatively homogenous chunks based on purpose. The sections are:

TODO: diving into the individual plugins and highlighting their purpose


in progress