Created
April 18, 2017 00:25
-
-
Save atondwal/1e819a304abebd967588fe5c330ec684 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
" vim: fdm=marker foldenable sw=4 ts=4 sts=4 | |
" "zo" to open folds, "zc" to close, "zn" to disable. | |
" {{{ Plugins | |
" {{{ Plug setup | |
se nocompatible | |
let doinstall=0 | |
if has("nvim") | |
let path=$HOME."/.config/nvim/autoload/plug.vim" | |
else | |
let path=$HOME."/.vim/autoload/plug.vim" | |
endif | |
if !filereadable(path) | |
echo "Installing Plug..." | |
echo "" | |
silent exec "!curl -fLo ".path." --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" | |
let doinstall=1 | |
endif | |
call plug#begin('~/.config/nvim/autoload/plugged') | |
" }}} | |
" {{{ Make | |
Plug 'neomake/neomake' "| Plug 'dojoteef/neomake-autolint' | |
autocmd! BufWritePost * Neomake | |
" }}} | |
" {{{ Completion & Snippets | |
Plug 'Shougo/vimproc.vim', { 'do': 'make' } | |
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' } | |
Plug 'SirVer/ultisnips' | |
Plug 'honza/vim-snippets' | |
Plug 'SuperTab' | |
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } | |
Plug 'junegunn/fzf.vim' | |
" }}} | |
" {{{ Tweaks | |
Plug 'surround.vim' | |
Plug 'unimpaired.vim' | |
Plug 'repeat.vim' | |
"Plug 'vim-indent-object' | |
Plug 'matchit.zip' | |
Plug 'argtextobj.vim' | |
Plug 'kana/vim-niceblock' | |
Plug 'zirrostig/vim-schlepp' | |
Plug 'vim-fetch' | |
Plug 'machakann/vim-swap' | |
"Plug 'RelOps' | |
" }}} | |
" {{{ Features | |
Plug 'dyng/ctrlsf.vim' | |
"Plug 'vimwiki/vimwiki' | |
Plug 'loremipsum' | |
"Plug 'FredKSchott/CoVim' | |
Plug 'simnalamburt/vim-mundo' | |
"Plug 'godlygeek/tabular' | |
Plug 'metakirby5/codi.vim' | |
" }}} | |
" {{{ Languages | |
" {{{ Haskell | |
" https://github.com/ucsd-progsys/liquid-types.vim | |
" Plug 'glittershark/vim-hare' | |
Plug 'eagletmt/ghcmod-vim' | |
Plug 'eagletmt/neco-ghc' | |
" Plug 'bitc/vim-hdevtools' " Used with syntastic | |
" Plug 'myfreeweb/intero.nvim' | |
" Plug 'mpickering/hlint-refactor-vim' | |
" }}} | |
" {{{ Coq | |
Plug 'epdtry/neovim-coq' | |
Plug 'idris-hackers/idris-vim' | |
" Plug 'the-lambda-church/coquille' | |
" Plug 'def-lkb/vimbufsync' | |
" }}} | |
" {{{ HTML | |
Plug 'mattn/emmet-vim' | |
let g:user_zen_mode='a' | |
" }}} | |
" {{{ English | |
Plug 'LanguageTool' | |
" }}} | |
" {{{ orgmode | |
Plug 'Detegr/vim-orgmode' | |
let g:org_agenda_files = ['~/org/*.org'] | |
Plug 'dhruvasagar/vim-table-mode' | |
Plug 'utl.vim' | |
Plug 'calendar.vim' | |
Plug 'SyntaxRange' | |
Plug 'speeddating.vim' | |
" }}} | |
" {{{ git | |
Plug 'vimagit' | Plug 'airblade/vim-gitgutter' | |
Plug 'tpope/vim-fugitive' "for fzf | |
Plug 'tweekmonster/gitbusy.vim' | |
" }}} | |
"}}} | |
" {{{ Colors | |
"Plug 'jasonlong/lavalamp' | |
Plug 'vim-airline' | |
" set laststatus=2 | |
let g:airline_powerline_fonts = 1 | |
let g:airline#extensions#tabline#enabled = 1 | |
" }}} | |
" All of your Plugs must be added before the following line | |
call plug#end() " required | |
if doinstall | |
PlugInstall | |
endif | |
" }}} | |
" {{{ Options | |
syntax enable | |
set hidden | |
set showcmd | |
"set number | |
set numberwidth=2 | |
set pastetoggle=<F7> | |
set so=7 | |
set ruler | |
set wildmenu | |
set wildmode=list:longest,full | |
set path+=** | |
set list | |
set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+ | |
set fillchars+=vert:│ | |
set dictionary+=/usr/share/dict/words | |
set smarttab | |
set expandtab | |
set shiftwidth=2 | |
set tabstop=2 | |
let mapleader = "\<Space>" | |
set undofile " Save undo's after file closes | |
set undodir=$HOME/.vim/undo " where to save undo histories | |
set undolevels=10000 " How many undos | |
set undoreload=100000 " number of lines to save for undo | |
" }}} | |
" {{{ Complete and snippets | |
let g:SuperTabDefaultCompletionType = '<c-x><c-o>' | |
inoremap <Nul> <c-j>=SuperTabAlternateCompletion("\<lt>c-x>\<lt>c-o>")<cr> | |
set omnifunc=syntaxcomplete#Complete | |
autocmd FileType haskell setlocal omnifunc=necoghc#omnifunc | |
let g:deoplete#enable_at_startup = 1 | |
call deoplete#custom#set('ultisnips', 'matchers', ['matcher_fuzzy']) | |
"let g:deoplete#sources = {} | |
"let g:deoplete#sources._ = ['buffer', 'ultisnips'] | |
"let g:deoplete#sources.haskell = ['buffer', 'ultisnips', 'omni'] | |
let g:UltiSnipsExpandTrigger="<c-e>" | |
"inoremap <expr><c-e> pumvisible() ? "<C-R>=UltiSnips#ExpandSnippetOrJump()<CR>" : "\<CR>" | |
" }}} | |
" {{{ Windows and Tabs | |
" let terminal resize scale the internal windows | |
autocmd VimResized * :wincmd = | |
" Window Navigation with Alt | |
if has("nvim") | |
tnoremap <A-h> <C-\><C-n><C-w>h | |
tnoremap <A-j> <C-\><C-n><C-w>j | |
tnoremap <A-k> <C-\><C-n><C-w>k | |
tnoremap <A-l> <C-\><C-n><C-w>l | |
endif | |
nnoremap <A-h> <C-w>h | |
nnoremap <A-j> <C-w>j | |
nnoremap <A-k> <C-w>k | |
nnoremap <A-l> <C-w>l | |
inoremap <A-h> <C-w>h | |
inoremap <A-j> <C-w>j | |
inoremap <A-k> <C-w>k | |
inoremap <A-l> <C-w>l | |
" Tab navigation with Ctrl-Shift | |
if has("nvim") | |
tnoremap <A-S-h> <C-\><C-n>:tabprev<CR> | |
tnoremap <A-S-l> <C-\><C-n>:tabnext<CR> | |
tnoremap <A-S-n> <C-\><C-n>:tabnew term://zsh<CR> | |
tnoremap | |
endif | |
nnoremap <A-S-h> :tabprev<CR> | |
nnoremap <A-S-l> :tabnext<CR> | |
nnoremap <A-S-n> :tabnew term://zsh<CR> | |
inoremap <A-S-h> :tabprev<CR> | |
inoremap <A-S-l> :tabnext<CR> | |
inoremap <A-S-n> :tabnew term://zsh<CR> | |
" Automatically enter insert mode on terminals | |
" autocmd BufWinEnter,WinEnter term://* startinsert | |
autocmd WinEnter term://* startinsert | |
" }}} | |
" {{{ Coq | |
" noremap <F5> :CoqLaunch<CR> | |
" au FileType coq call coquille#FNMapping() | |
" }}}} | |
" Haskell {{{ | |
" map <silent> <leader>o :call hlintRefactorVim#ApplyOneSuggestion()<CR> | |
" map <silent> <leader>a :call hlintRefactorVim#ApplyAllSuggestions()<CR> | |
map <silent> <leader>g :GhcModSigCodegen<CR> | |
map <silent> <leader>s :GhcModSplitFunCase<CR> | |
map <silent> <leader>t :GhcModTypeInsert<CR> | |
"map <silent> <leader>r :Hrename | |
" }}} | |
" orgmode {{{ | |
nmap <localleader>cc | |
" }}} | |
" Automatically source vimrc on save. | |
autocmd! bufwritepost $MYVIMRC source $MYVIMRC | |
vmap <up> <Plug>SchleppUp | |
vmap <down> <Plug>SchleppDown | |
vmap <left> <Plug>SchleppLeft | |
vmap <right> <Plug>SchleppRight | |
nmap <leader><tab> <plug>(fzf-maps-n) | |
xmap <leader><tab> <plug>(fzf-maps-x) | |
omap <leader><tab> <plug>(fzf-maps-o) | |
nmap [<Space> <Plug>unimpairedBlankUpk | |
nmap ]<Space> <Plug>unimpairedBlankDownj | |
nnoremap :CtrlSF | |
nmap <silent> <leader>u :MundoToggle<CR> | |
nmap <leader>gb :GitBusy | |
vnoremap <Leader>y "+y | |
vnoremap <Leader>d "+d | |
nnoremap <Leader>p "+p | |
nnoremap <Leader>P "+P | |
vnoremap <Leader>p "+p | |
vnoremap <Leader>P "+P | |
nmap <leader>e :vsp ~/.config/nvim/init.vim<CR> | |
nnoremap <Leader><Leader>s :set spell<CR> | |
nnoremap <Leader>z 1z= | |
nnoremap <Leader>v :w<CR> | |
nnoremap <Leader>r :w<CR>:make<CR> | |
imap <F9> <Esc>:w<CR>:make<CR> | |
nnoremap <Leader>c :set cursorline! cursorcolumn!<CR> | |
nnoremap <leader><cr> :noh<cr> | |
map Y y$ | |
" Reselect visual block after indent | |
vnoremap < <gv | |
vnoremap > >gv | |
" colors desert | |
hi Search cterm=NONE ctermfg=grey ctermbg=blue | |
hi Folded cterm=NONE ctermfg=3 ctermbg=234 | |
hi VertSplit cterm=NONE | |
" au FileType org color desert | |
autocmd BufCreate term://* set readonly | |
let g:airline_theme='raven' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment