Files
dotfiles/.vimrc
2019-02-06 17:12:59 -08:00

225 lines
5.6 KiB
VimL

set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath = &runtimepath
"/usr/share/vim/vim81/defaults.vim, normally sourced in default arch linux vim
source ~/.config/nvim/defaults.vim
"https://wiki.archlinux.org/index.php/Neovim
"ln -s ~/.vimrc ~/.config/nvim/init.vim
"set rtp^=/usr/share/vim/vimfiles/
if &t_Co > 2 || has("gui_running")
" Switch on highlighting the last used search pattern.
set hlsearch
endif
" Only do this part when compiled with support for autocommands.
if has("autocmd")
" Put these in an autocmd group, so that we can delete them easily.
augroup vimrcEx
au!
" For all text files set 'textwidth' to 78 characters.
autocmd FileType text setlocal textwidth=78
augroup END
else
set autoindent " always set autoindenting on
endif " has("autocmd")
" Setup vim-plugin
if empty(glob('~/.vim/autoload/plug.vim'))
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
call plug#begin('~/.vim/plugged')
Plug '/usr/bin/fzf'
Plug 'junegunn/fzf.vim'
Plug 'tpope/vim-sensible'
Plug 'chriskempson/base16-vim'
" Comments
"Plug 'tpope/vim-commentary'
"Plug 'tpope/surround'
"use \cc \cl c<space>, \cm \ci for commenting lines blocks in vis, norm modes
"use ,c<space> to comment out line(s)
Plug 'scrooloose/nerdcommenter'
Plug 'majutsushi/tagbar'
" Plug 'vimwiki/vimwiki'
"Plug 'jedi-vim'
"Plug 'bling/vim-airline'
"Plug 'vim-airline/vim-airline-themes'
" Denite, like emacs 'Helm' app
"Plug 'Shougo/denite.nvim'
" Search
"Plug 'ctrlpvim/ctrlp.vim'
"Plug 'vim-grepper'
"Plug 'vim-netranger'
" Git integration
"Plug 'tpope/vim-fugitive'
"Plug 'airblade/vim-gitgutter'
" Linting
" Plug 'neomake/neomake'
" Plug 'w0rp/ale'
" Syntax
"Plug 'sheerun/vim-polyglot'
"Plug 'matthewbdaly/vim-filetype-settings'
"Plug 'rhysd/vim-grammarous' "cmd :GrammarousCheck, req java
" External languages
" Plug 'Vigemus/iron.nvim'
" Plug 'bfredl/nvim-ipy'
" Plug 'jalvesaq/Nvim-R'
"Plug 'python-mode/python-mode', { 'branch': 'develop' }
"latex
"Plug 'lervag/vimtex'
"Plug 'vim-pandoc'
" Markdown
"Plug 'suan/vim-instant-markdown' " Markdown preview instant-markdown-d
"next one uses a rust lib for fast async md, requires rust/cargo install
"Plug 'euclio/vim-markdown-composer'
"Plug 'aaren/notedown'
"https://github.com/iamcco/markdown-preview.nvim
" if have nodejs and yarn, this is markdown-it js lib based
" Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app & yarn install' }
call plug#end()
filetype plugin indent on
"Syntax highlighting in Markdown
"au BufNewFile,BufReadPost *.md set filetype=markdown
"let g:polyglot_disabled = ['markdown']
let g:markdown_fenced_languages = ['html','r', 'javascript', 'python', 'sh', 'bash=sh', 'css', 'js=javascript', 'json=javascript']
let g:tagbar_type_markdown = {
\ 'ctagstype' : 'markdown',
\ 'kinds' : [
\ 'h:Heading_L1',
\ 'i:Heading_L2',
\ 'k:Heading_L3'
\ ]
\ }
let g:tagbar_type_bib = {
\ 'ctagstype' : 'bib',
\ 'kinds' : [
\ 'a:Articles',
\ 'b:Books',
\ 'L:Booklets',
\ 'c:Conferences',
\ 'B:Inbook',
\ 'C:Incollection',
\ 'P:Inproceedings',
\ 'm:Manuals',
\ 'T:Masterstheses',
\ 'M:Misc',
\ 't:Phdtheses',
\ 'p:Proceedings',
\ 'r:Techreports',
\ 'u:Unpublished',
\ ]
\ }
let g:python_host_prog = '/usr/bin/python3'
let g:loaded_python3_provider = 1
":vertical terminal ipython
"set updatetime=100
"nnoremap yr :IronRepl<cr>
"nmap ,r <Plug>(iron-send-motion)
"xmap ,r <Plug>(iron-send-motion)
"nmap yR V,r
" Neomake config
" Full config: when writing or reading a buffer, and on changes in insert and
" normal mode (after 1s; no delay when writing).
"call neomake#configure#automake('nrwi', 500)
set tabstop=4
set shiftwidth=4
set expandtab
" set number
" set relativenumber
" set hlsearch
" set spell
" set mouse=a "already set by defaults.vim
set mouse=n
" OR try set mouse=r mouse=&
" shortcuts for next or prev file like after vim *.py
" :map v :n<enter>
" :map V :N<enter>
" or just use :n or :N followed by the dot . cmd!
" quick save from insert mode if any changes
imap jjw <ESC>:update<enter>
"<CR> vs <enter> and running code
imap jk <ESC>`^
":imap kj <ESC>
" Two semicolons are easy to type. The `^ fixes the cursor position.
" imap ;; <ESC>`^
inoremap <Tab> <Esc>`^
"imap ;; i
" Just press Space to enter insert mode.
nmap <Space> i
" On gvim and Linux console Vim, you can also use ctrl-Space.
" :imap <C-Space> <>
"copy with ctrl-c in visual highlight mode
vmap <C-c> "+y
"use system clipboard: Now yank y, delete d, or paste p work to/from system
set clipboard=unnamedplus
"auto fix common sp errors
:ab teh the
:ab Teh The
:ab adn and
:ab Adn And
let mapleader = ','
nmap <F8> :TagbarToggle<CR>
if filereadable(expand("~/.vimrc_background"))
let base16colorspace=256
source ~/.vimrc_background
endif
augroup resCur
autocmd!
autocmd BufReadPost * call setpos(".", getpos("'\""))
augroup END
set title
" latex settings
"let g:tex_flavor="latex"
"let g:Tex_DefaultTargetFormat =" pdf"
"let g:Tex_IgnoredWarnings =''
" make vimtex work with neovim
"let g:vimtex_compiler_progname='nvr'
"let g:vimtex_view_use_temp_files=2
"let g:vimtex_view_method='zathura'
"let g:vimtex_quickfix_mode=0 " do not open the quickfix window automatically
" Allow commenting and inverting empty lines (useful when commenting a region
let g:NERDCommentEmptyLines = 1
" Add spaces after comment delimiters by default
let g:NERDSpaceDelims = 1
" Use compact syntax for prettified multi-line comments
let g:NERDCompactSexyComs = 1