192 lines
4.8 KiB
VimL
192 lines
4.8 KiB
VimL
"Don't try to be vi compatible
|
|
set nocompatible
|
|
|
|
" Disable folding
|
|
set nofoldenable
|
|
let g:markdown_folding=0
|
|
|
|
" Turn on syntax highlighting
|
|
syntax on
|
|
|
|
" mouse
|
|
set mouse=a
|
|
|
|
let base16colorspace=256
|
|
|
|
" Utility Functions
|
|
|
|
function! WordCount()
|
|
let currentmode = mode()
|
|
if !exists("g:lastmode_wc")
|
|
let g:lastmode_wc = currentmode
|
|
endif
|
|
" if we modify file, open a new buffer, be in visual ever, or switch modes
|
|
" since last run, we recompute.
|
|
if &modified || !exists("b:wordcount") || currentmode =~? '\c.*v' || currentmode != g:lastmode_wc
|
|
let g:lastmode_wc = currentmode
|
|
let l:old_position = getpos('.')
|
|
let l:old_status = v:statusmsg
|
|
execute "silent normal g\<c-g>"
|
|
if v:statusmsg == "--No lines in buffer--"
|
|
let b:wordcount = 0
|
|
else
|
|
let s:split_wc = split(v:statusmsg)
|
|
if index(s:split_wc, "Selected") < 0
|
|
let b:wordcount = str2nr(s:split_wc[11])
|
|
else
|
|
let b:wordcount = str2nr(s:split_wc[5])
|
|
endif
|
|
let v:statusmsg = l:old_status
|
|
endif
|
|
call setpos('.', l:old_position)
|
|
return b:wordcount
|
|
else
|
|
return b:wordcount
|
|
endif
|
|
endfunction
|
|
|
|
function! LightlineWordCount()
|
|
return &filetype =~# '\v^(markdown|txt|vimwiki)' ? WordCount() . ' Words' : ''
|
|
endfunction
|
|
|
|
" Plugins
|
|
|
|
call plug#begin("~/.config/nvim/plugged")
|
|
|
|
Plug 'vimwiki/vimwiki', { 'branch': 'dev' }
|
|
Plug 'chriskempson/base16-vim'
|
|
Plug 'tpope/vim-fugitive'
|
|
Plug 'Olical/conjure'
|
|
"Plug 'dhruvasagar/vim-table-mode'
|
|
Plug 'cespare/vim-toml'
|
|
Plug 'luochen1990/rainbow'
|
|
Plug 'skywind3000/asyncrun.vim'
|
|
Plug 'guns/vim-sexp'
|
|
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
|
|
Plug 'deoplete-plugins/deoplete-jedi'
|
|
Plug 'tidalcycles/vim-tidal'
|
|
Plug 'ledger/vim-ledger'
|
|
Plug 'junegunn/fzf'
|
|
Plug 'junegunn/goyo.vim'
|
|
Plug 'https://tildegit.org/sloum/gemini-vim-syntax'
|
|
Plug 'itchyny/lightline.vim'
|
|
Plug 'junegunn/fzf.vim'
|
|
Plug '~/projects/improviz-vim'
|
|
Plug 'davidgranstrom/scnvim'
|
|
|
|
call plug#end()
|
|
|
|
au BufNewFile *vimwiki/*.wiki :0r !fragment-vimwiki-header '%'
|
|
au BufNewFile *gmi :set includeexpr=substitute(v:fname,'^/','','')
|
|
au BufRead *gmi :set includeexpr=substitute(v:fname,'^/','','')
|
|
|
|
" function! VimwikiLinkHandler(link)
|
|
" let link = a:link
|
|
" if link =~# '^file'
|
|
" let cmd = 'rifle ' . strcharpart(link, 5)
|
|
" echo cmd
|
|
" call system(cmd)
|
|
" return 0
|
|
" endif
|
|
" endfunction
|
|
|
|
let g:limelight_conceal_ctermfg = 'grey'
|
|
let g:vimwiki_global_ext = 0
|
|
let g:vimwiki_folding = ''
|
|
let g:vimwiki_markdown_link_ext = 1
|
|
let g:table_mode_corner = '|'
|
|
let g:rainbow_active = 0
|
|
let g:ledger_bin="hledger"
|
|
let g:sexp_filetypes= 'clojure,scheme,lisp,timl,janet'
|
|
let g:deoplete#enable_at_startup = 1
|
|
let mapleader = ","
|
|
let maplocalleader = ","
|
|
let g:taskwiki_markup_syntax = "markdown"
|
|
|
|
let g:tidal_target = "terminal"
|
|
|
|
let g:vimwiki_list = [{'path': '~/vimwiki', 'syntax': 'markdown', 'ext': '.wiki', 'links_space_char': '_' },
|
|
\ {'path': '~/website/wiki/vimwiki', 'syntax': 'markdown', 'ext': '.md', 'links_space_char': '_' , 'diary_rel_path' : 'blog', 'diary_index' : 'index', 'diary_header': 'Blog' }]
|
|
|
|
let g:lightline = {
|
|
\ 'colorscheme': 'Tomorrow_Night',
|
|
\ 'active': {
|
|
\ 'left': [ [ 'mode', 'paste' ],
|
|
\ [ 'gitbranch', 'readonly', 'filename', 'modified' ] ],
|
|
\
|
|
\ 'right': [ [ 'lineinfo' ],
|
|
\ [ 'percent' ],
|
|
\ [ 'wordcount', 'fileformat', 'fileencoding', 'filetype'] ]
|
|
\ },
|
|
\ 'mode_map': {
|
|
\ 'n' : 'N',
|
|
\ 'i' : 'I',
|
|
\ 'R' : 'R',
|
|
\ 'v' : 'V',
|
|
\ 'V' : 'VL',
|
|
\ "\<C-v>": 'VB',
|
|
\ 'c' : 'C',
|
|
\ 's' : 'S',
|
|
\ 'S' : 'SL',
|
|
\ "\<C-s>": 'SB',
|
|
\ 't': 'T',
|
|
\ },
|
|
\ 'component_function': {
|
|
\ 'gitbranch': 'FugitiveHead',
|
|
\ 'wordcount': 'LightlineWordCount'
|
|
\ },
|
|
\ }
|
|
|
|
set modelines=0
|
|
|
|
" Map semicolon for quicker command access
|
|
nnoremap ; :
|
|
|
|
"Pandoc Simple Build
|
|
nnoremap <leader>ps :AsyncRun pandoc --pdf-engine xelatex % -o %.pdf<Enter>
|
|
"Pandoc w/ Citations
|
|
nnoremap <leader>pc :AsyncRun pandoc --csl ~/Documents/08-Bibliography/ieee.csl --filter pandoc-citeproc --pdf-engine xelatex % -o %.pdf<Enter>
|
|
"Using makedoc script
|
|
nnoremap <leader>pd :AsyncRun makedoc %<Enter>
|
|
|
|
" Remind
|
|
" nnoremap <leader>r :!remind ~/vimwiki/calendar.rem<Enter>
|
|
|
|
set number relativenumber
|
|
set ruler
|
|
|
|
set visualbell
|
|
|
|
set encoding=utf-8
|
|
|
|
set tabstop=4
|
|
set softtabstop=0
|
|
set shiftwidth=4
|
|
set expandtab
|
|
|
|
|
|
set scrolloff=3
|
|
set backspace=indent,eol,start
|
|
set matchpairs+=<:>
|
|
|
|
|
|
set hidden
|
|
|
|
set ttyfast
|
|
|
|
set laststatus=2
|
|
|
|
set noshowmode
|
|
set showcmd
|
|
|
|
set hlsearch
|
|
set incsearch
|
|
set ignorecase
|
|
set smartcase
|
|
set showmatch
|
|
|
|
colors base16-tomorrow
|
|
hi Normal ctermbg=Black
|
|
hi LineNr ctermbg=Black
|
|
hi CursorLineNr ctermbg=Black ctermfg=Grey
|