Added initial files

+ Added README.md
 + Added LICENSE
 + Added nvim/init.vim
This commit is contained in:
Alexander Schmidt 2016-08-15 19:08:19 -05:00
commit 88843c93cf
3 changed files with 292 additions and 0 deletions

8
LICENSE Normal file
View File

@ -0,0 +1,8 @@
Copyright (c) 2016 Alexander Schmidt
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

3
README.md Normal file
View File

@ -0,0 +1,3 @@
# dotfiles
My personal dotfiles.

281
nvim/init.vim Normal file
View File

@ -0,0 +1,281 @@
" https://github.com/zyeri/dotfiles
call plug#begin('~/.config/nvim/plugged')
" plugins
Plug 'tpope/vim-repeat'
Plug 'tpope/vim-git'
Plug 'tpope/vim-sensible'
Plug 'tpope/vim-fugitive'
Plug 'tpope/vim-unimpaired'
Plug 'tpope/vim-commentary'
Plug 'tpope/vim-surround'
Plug 'tpope/vim-speeddating'
Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' }
Plug 'scrooloose/syntastic'
Plug 'bling/vim-airline' | Plug 'bling/vim-bufferline'
Plug 'Valloric/YouCompleteMe'
Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' }
Plug 'mhinz/vim-startify'
Plug 'mhinz/vim-grepper'
Plug 'godlygeek/tabular'
Plug 'ctrlpvim/ctrlp.vim'
Plug 'tacahiroy/ctrlp-funky'
Plug 'FelikZ/ctrlp-py-matcher'
Plug 'deris/vim-shot-f'
Plug 'mbbill/undotree'
Plug 'majutsushi/tagbar'
Plug 'sheerun/vim-polyglot'
Plug 'rhysd/committia.vim'
Plug 'neovimhaskell/haskell-vim', { 'for': 'haskell' }
Plug 'mtth/scratch.vim'
Plug 'Valloric/ListToggle'
Plug 'junegunn/fzf', { 'do': 'yes \| ./install' }
" colorschemes
Plug 'w0ng/vim-hybrid'
Plug 'chriskempson/base16-vim'
call plug#end()
let mapleader = ','
let maplocalleader = ','
let g:mapleader = ','
let g:maplocalleader = ','
try
" enable 24-bit TRUE COLOR for neovim
let $NVIM_TUI_ENABLE_TRUE_COLOR=1
let g:hybrid_custom_term_colors=1
set background=dark
colorscheme hybrid
catch /:E185:/
" silently ignore colorscheme not found error
endtry
" don't reload a file when it has been edited outside of vim
set noautoread
" never autowrite a file
set noautowrite
set noautowriteall
" don't keep a backup of any files currently being edited
set nobackup
" preserve indent on line breaks
set breakindent
" show a vertical column on the 79th column
set colorcolumn=72
" show a popup menu for insert completion matches
set completeopt=menu,menuone,longest
" copy existing indent when autoindenting a new line
set copyindent
" diff display options
set diffopt=filler,icase,iwhite,vertical
" no error bells
set noerrorbells
" use spaces instead of the tab character
set expandtab
set nofoldenable foldmethod=syntax foldcolumn=0
" use g flag for :s by default
set gdefault
" if available, use ag in place of grep
if executable('ag')
set grepprg=ag\ --nogroup\ --nocolor
endif
" don't destroy hidden buffers
set hidden
" ignore case while searching
set ignorecase
" enable the magic
set magic
" enable line numbering
set number
" preserve insent structure
set preserveindent
" use four spaces for each autoindent
set shiftwidth=4
" jump to matching bracket when inserted
set showmatch
" intelligently ignore case
set smartcase
" autoindent on newline
set smartindent
" number of spaces to use when tabbing during editing operations
set softtabstop=4
" always split new windows to the bottom right
set splitright
set splitbelow
" disable swap file
set noswapfile
" don't highlight past 256 columns
set synmaxcol=256
" number of spaces to use for tabs
set tabstop=4
" where to store undo files
set undodir=$HOME/.config/nvim/undo
" enable persistent undo
set undofile
" keep 2500 changes for undos
set undolevels=2500
" allow cursor to be placed one character after the end of line
set virtualedit=onemore
" disable visualbells
set novisualbell
" ignore certain file patterns
set wildignore+=*./git/*,*.o,*.obj
" disable softwrapping by default; enable via autocommand or modeline
set nowrap
" searches wrap around the end of file
set wrapscan
" commands
" Create bulleted or number lists out of a range of lines
command! -nargs=0 -range=% NumberList <line1>,<line2>s/^\s*\zs/\=(line('.') - line("'<")+1).'. '
command! -nargs=0 -range=% BulletList <line1>,<line2>s/^\s*\zs/*
" bindings
" move between windows
nnoremap <C-h> <C-w><C-h>
nnoremap <C-j> <C-w><C-j>
nnoremap <C-k> <C-w><C-k>
nnoremap <C-l> <C-w><C-l>
" yank to end of line
nnoremap Y y$
" keep visual selecting when tabbing
vnoremap << <gv
vnoremap >> >gv
" toggle folds
nnoremap <silent> <Space> @=(foldlevel('.')?'za':"\<Space>")<CR>
vnoremap <Space> zf
" clear trailing whitespace (http://vi.stackexchange.com/a/2285)
nnoremap <F5> :let _s=@/<Bar>:%s/\s\+$//e<Bar>:let @/=_s<Bar><CR>
nnoremap <F1> :NERDTreeToggle<CR>
nnoremap <F2> :TagbarToggle<CR>
nnoremap <F3> :UndotreeToggle<CR>
nnoremap <silent><C-p> :<C-u>CtrlP<CR>
nnoremap <silent><C-b> :<C-U>CtrlPBuffer<CR>
nnoremap <silent><leader>t :<C-u>CtrlPTag<CR>
" insert #! for current file type
inoreabbrev <expr>#!! '#!/usr/bin/env' . (empty(&filetype) ? '' : ' '.&filetype)
" plugin configuration
" scratch.vim
let g:scratch_autohide = 1
let g:scratch_top = 0
let g:scratch_persistence_file = '/tmp/scratch.vim'
" airline
let g:bufferline_echo = 0
let g:airline_inactive_collapse=1
let g:airline_powerline_fonts=0
if !exists('g:airline_symbols')
let g:airline_symbols = { }
endif
let g:airline_left_sep = ""
let g:airline_right_sep = ""
let g:airline_symbols.branch = ''
let g:airline_symbols.readonly = ''
let g:airline_symbols.linenr = ''
let g:airline_symbols.whitespace = 'Ξ'
" ctrlp
if executable('ag')
let g:ctrlp_user_command = {
\ 'types': {
\ 1: ['.git', 'cd %s && git ls-files . -co --exclude-standard'],
\ },
\ 'fallback': 'ag %s -l -f -S --nocolor --nogroup --hidden -g ""'
\ }
let g:ctrlp_custom_ignore = {
\ 'dir': '\.git$\|\.svn$\',
\ 'file': '\.so$\|'
\ }
let g:ctrlp_use_caching = 0
endif
let g:ctrlp_status_func = { 'main': 'CtrlPStatusFunc1', 'prog': 'CtrlPStatusFunc2' }
let g:ctrlp_match_func = { 'match': 'pymatcher#PyMatch' }
let g:ctrlp_extensions = ['tag', 'line']
let g:ctrlp_working_path_mode = 'ca'
let g:ctrlp_open_new_file = 'h'
let g:ctrlp_match_window = 'bottom,order:btt,min:1,max:10,results:10'
" tagbar
" change focus to tagbar when opening it
let g:tagbar_autofocus = 1
let g:tagbar_autclose = 1
" haskell-vim
let g:haskell_enable_quantification=1
let g:haskell_enable_recursivedo=1
let g:haskell_enable_arrowsyntax=1
let g:haskell_enable_pattern_synonyms=1
let g:haskell_enable_typeroles=1
let g:haskell_enable_static_pointers=1
" polyglot
let g:polyglot_disabled=['haskell']
" vim-plug
let g:plug_threads = 40
" syntastic
let g:syntastic_always_populate_loc_list = 1
" ListToggle
let g:lt_location_list_toggle_map = '<leader>tl'
let g:lt_quickfix_list_toggle_map = '<leader>tq'
" YouCompleteMe
let g:ycm_path_to_python_interpreter = '/usr/bin/python3'