dotfiles/.config/nvim/init.vim

119 lines
3.3 KiB
VimL
Raw Normal View History

2019-03-20 13:27:54 +00:00
" vim: set foldmethod=marker foldlevel=0 nomodeline:
" ================================================================================
" .init.vim / .vimrc of Marty Oehme {{{
" ================================================================================
"
" - stolen from many different sources including
" Steve Losh
" Junegunn Choi
" Tim Pope
" }}}
" PLUGIN INSTALLATION - handled by VIM-PLUG {{{
" ================================================================================
"
" automatically install vim-plug if it does not exist
" Note: this installs it in the neovim folder, not the vim folder
2019-05-15 08:28:12 +00:00
if empty(glob('~/.local/share/nvim/site/autoload/plug.vim'))
silent !curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
2019-05-15 08:28:12 +00:00
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC | q
endif
" automatically install any missing plugins
autocmd VimEnter *
\ if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
\| PlugInstall --sync | q
\| endif
2019-03-13 14:08:39 +00:00
" defines plugin directory
2019-03-04 10:47:17 +00:00
" Install plugins from vim with :PlugInstall
silent! if plug#begin('~/.local/share/nvim/plugged')
2019-03-04 10:47:17 +00:00
" ultimately the only thing left here should be a
runtime! pluglist/**/*.vim
" Plug 'liuchengxu/vim-which-key', { 'on': ['WhichKey', 'WhichKey!'] } ->
" instructions: http://liuchengxu.org/vim-which-key/, needs setup tp become
" useful. TODO enable when setup is more settled down
2019-03-13 14:08:39 +00:00
2019-03-04 10:47:17 +00:00
call plug#end()
endif
2019-03-09 20:27:14 +00:00
2019-11-23 16:52:29 +00:00
colo gruvbox
2019-11-21 17:04:25 +00:00
2019-03-20 13:27:54 +00:00
" }}}
" VIM SETTINGS {{{
" ================================================================================
"
2019-03-13 14:08:39 +00:00
" set truecolor (neovim)
set termguicolors
" sets tabs to be 2 characters, expanded into spaces, but still removable with
2019-03-09 20:27:14 +00:00
" one press of backspace.
" great explanation: http://vimcasts.org/transcripts/2/en/
2019-03-17 18:45:29 +00:00
set tabstop=2
set shiftwidth=2
set softtabstop=2
2019-03-09 20:27:14 +00:00
set expandtab
" set cursor line highlighting, esp useful when using with bracket
" highlighting and you don't know which side of the brace the cursor is on
set cursorline
2019-03-09 20:27:14 +00:00
" shows linenumbers relative to the one you are on, for easy movement and
" dNUMBERd deletions
set number relativenumber
2019-03-09 20:27:14 +00:00
" keeps an undofile next to files so that you can even undo if vim is closed
" in between
set undofile
" ignores case by default but will use case when search is specifically not
" all lowercased
set ignorecase
set smartcase
2019-03-13 14:08:39 +00:00
" whenever vim loses focus, save
au FocusLost * :wa
" disables showing us the current mode in the command line since airline takes
" care of it
set noshowmode
2019-03-17 18:45:29 +00:00
" highlight everything that goes over 80 columns
highlight ColorColumn ctermbg=magenta
call matchadd('ColorColumn', '\%81v', 100)
2019-09-18 14:01:43 +00:00
" Special setting for editing gopass files - make sure nothing leaks outside
" the directories it is supposed to
au BufNewFile,BufRead /dev/shm/gopass.* setlocal noswapfile nobackup noundofile
2019-03-20 13:27:54 +00:00
" }}}
" KEYBINDINGS {{{
" ================================================================================
2019-03-13 14:08:39 +00:00
"
" Begin mapping definitions
runtime! **/maps.vim
" }}}
" ABBREVIATIONS {{{
" Typos
iabbrev adn and
iabbrev waht what
iabbrev tehn then
iabbrev whit with
iabbrev whith with
" Text expansion
iabbrev mo@ marty.oehme@gmail.com
iabbrev mo.me@ <https://martyoeh.me/>
iabbrev mcc@ Copyright 2019 Marty Oehme, all rights reserved.
"
2019-03-20 13:27:54 +00:00
" }}}
" END
" ================================================================================