Initial commit, vimrc
Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
202
vimrc
Normal file
202
vimrc
Normal file
@@ -0,0 +1,202 @@
|
|||||||
|
filetype off
|
||||||
|
set nocompatible
|
||||||
|
|
||||||
|
call plug#begin('~/.vim/plugged')
|
||||||
|
" General vim stuff
|
||||||
|
Plug 'wincent/terminus'
|
||||||
|
Plug 'godlygeek/tabular'
|
||||||
|
|
||||||
|
" F#
|
||||||
|
Plug 'fsharp/vim-fsharp'
|
||||||
|
|
||||||
|
" Perl6/Raku
|
||||||
|
Plug 'vim-perl/vim-perl6', { 'for': 'perl6' }
|
||||||
|
|
||||||
|
" Rust
|
||||||
|
Plug 'rust-lang/rust.vim', { 'for': 'rust' }
|
||||||
|
|
||||||
|
" Fish shell
|
||||||
|
Plug 'dag/vim-fish'
|
||||||
|
|
||||||
|
" Rusty Object Notation
|
||||||
|
Plug 'ron-rs/ron.vim'
|
||||||
|
|
||||||
|
" HJSON
|
||||||
|
Plug 'hjson/vim-hjson'
|
||||||
|
|
||||||
|
" Dhall
|
||||||
|
Plug 'vmchale/dhall-vim'
|
||||||
|
|
||||||
|
" Vimwiki
|
||||||
|
Plug 'vimwiki/vimwiki'
|
||||||
|
|
||||||
|
" Godotscript v3
|
||||||
|
Plug 'clktmr/vim-gdscript3'
|
||||||
|
|
||||||
|
" Python
|
||||||
|
Plug 'ambv/black'
|
||||||
|
Plug 'vim-scripts/indentpython.vim'
|
||||||
|
|
||||||
|
" TOML
|
||||||
|
Plug 'cespare/vim-toml'
|
||||||
|
|
||||||
|
" Elixir
|
||||||
|
Plug 'elixir-editors/vim-elixir'
|
||||||
|
|
||||||
|
" Jinja + HTML templating
|
||||||
|
Plug 'lepture/vim-jinja'
|
||||||
|
|
||||||
|
" Haskell
|
||||||
|
Plug 'neovimhaskell/haskell-vim'
|
||||||
|
Plug 'alx741/vim-hindent'
|
||||||
|
|
||||||
|
call plug#end()
|
||||||
|
|
||||||
|
filetype plugin indent on
|
||||||
|
let python_highlight_all=1
|
||||||
|
"let g:rustfmt_options = '--edition 2018'
|
||||||
|
"let c_no_curly_error=1
|
||||||
|
syntax enable " syntax highlighting
|
||||||
|
colorscheme badwolf2
|
||||||
|
|
||||||
|
"let g:cargo_makeprg_params = '--color=never'
|
||||||
|
let g:hindent_on_save = 0
|
||||||
|
|
||||||
|
"set statusline+=%#warningmsg#
|
||||||
|
"set statusline+=%{SyntasticStatuslineFlag()}
|
||||||
|
"set statusline+=%*
|
||||||
|
|
||||||
|
au BufRead,BufNewFile *.hj setlocal filetype=hjson
|
||||||
|
au BufRead,BufNewFile *.md setlocal textwidth=100
|
||||||
|
au BufRead,BufNewFile *.yaml,*.yml setlocal shiftwidth=2 tabstop=2
|
||||||
|
"au BufRead,BufNewFile *.rs setlocal textwidth=100 colorcolumn=100
|
||||||
|
au BufRead,BufNewFile /tmp/jrnl*.txt setlocal textwidth=100 colorcolumn=100 formatoptions-=t columns=100 wrap
|
||||||
|
au BufRead,BufNewFile *.py setlocal colorcolumn=100 textwidth=100
|
||||||
|
au BufRead,BufNewFile *.adoc setlocal colorcolumn=100 textwidth=100
|
||||||
|
au FileType make setlocal noexpandtab shiftwidth=4 tabstop=4
|
||||||
|
au FileType haskell setlocal shiftwidth=2 tabstop=2
|
||||||
|
|
||||||
|
au FileType rust compiler cargo
|
||||||
|
au FileType rust nnoremap cc :make check<cr>
|
||||||
|
au FileType rust nnoremap cn :cn<cr>
|
||||||
|
au FileType rust nnoremap cp :cp<cr>
|
||||||
|
au FileType rust nnoremap co :copen<cr>
|
||||||
|
au FileType rust nnoremap cq :cclose<cr>
|
||||||
|
au BufRead,BufNewFile *.lalrpop setlocal ft=rust
|
||||||
|
au BufRead,BufNewFile *html,*.j2 setlocal ft=jinja
|
||||||
|
|
||||||
|
" Help navigation
|
||||||
|
" Enter to go to the topic under cursor
|
||||||
|
au Filetype help nnoremap <buffer> <cr> <c-]>
|
||||||
|
" Backspace to go to the previous topic
|
||||||
|
au Filetype help nnoremap <buffer> <bs> <c-t>
|
||||||
|
" S for the next subject
|
||||||
|
au Filetype help nnoremap <buffer> s /\|\zs\S\+\ze\|<cr>
|
||||||
|
au Filetype help nnoremap <buffer> S ?\|\zs\S\+\ze\|<cr>
|
||||||
|
" Doesn't cause statements after `case: {` to be crazy-indented
|
||||||
|
au Filetype cpp setlocal cinoptions=l1g0
|
||||||
|
|
||||||
|
" Store swapfiles in ~/.vim/swap/
|
||||||
|
set directory=$HOME/.vim/swap/
|
||||||
|
" Store wiki in ~/.vim/wiki
|
||||||
|
let g:vimwiki_list = [{'path': '~/.vim/wiki', 'syntax': 'markdown'}]
|
||||||
|
|
||||||
|
" Tabbing/indenting
|
||||||
|
set nu " line numbers
|
||||||
|
set relativenumber
|
||||||
|
set shiftwidth=4 " 4 space tabs
|
||||||
|
set tabstop=4 " tabs print as 4 spaces
|
||||||
|
set ruler
|
||||||
|
set expandtab " spaces > tabs
|
||||||
|
set smarttab
|
||||||
|
set autoindent
|
||||||
|
set smartindent
|
||||||
|
set nowrap
|
||||||
|
set cursorline
|
||||||
|
set wildmenu " tab menu for files
|
||||||
|
set lazyredraw " redraw only when we need to - useful for macros
|
||||||
|
highlight clear CursorLineNr " For some reason, the line number column(s) of the current line sometimes get underlined and it's distracting
|
||||||
|
"set showmatch " jumps to matching [({})]
|
||||||
|
set incsearch " search as characters are entered
|
||||||
|
set hlsearch " highlight matches
|
||||||
|
set mouse=a
|
||||||
|
set scrolloff=10
|
||||||
|
set timeoutlen=175 ttimeoutlen=175
|
||||||
|
set modeline modelines=5
|
||||||
|
|
||||||
|
set linebreak " If the line goes off the screen, break the line at the `breakat` characters
|
||||||
|
set showbreak=+++ " Use this string to show that the line was broken at the end of the line
|
||||||
|
|
||||||
|
" Move vertically by visual line
|
||||||
|
nnoremap j gj
|
||||||
|
nnoremap k gk
|
||||||
|
" Hack to fix the # character insert
|
||||||
|
inoremap # X<BS>#
|
||||||
|
nnoremap 4i i
|
||||||
|
|
||||||
|
" Color stuff
|
||||||
|
set t_Co=256 " 256 colors support
|
||||||
|
set colorcolumn=100,120 " 100, and 120 character markers
|
||||||
|
" This sets up 24-bit true color support - don't fuck these up
|
||||||
|
set t_8f=[38;2;%lu;%lu;%lum
|
||||||
|
set t_8b=[48;2;%lu;%lu;%lum
|
||||||
|
set termguicolors
|
||||||
|
|
||||||
|
"
|
||||||
|
" Keymappings
|
||||||
|
"
|
||||||
|
let mapleader = "-"
|
||||||
|
inoremap <c-d> <esc>ddi
|
||||||
|
" Upper/lower case keymaps
|
||||||
|
inoremap <c-u> <esc>wbvwU<esc>i
|
||||||
|
inoremap <c-l> <esc>wbvwu<esc>i
|
||||||
|
nnoremap <c-u> <esc>wbvwU<esc>
|
||||||
|
nnoremap <c-l> <esc>wbvwu<esc>
|
||||||
|
vnoremap <s-k> k
|
||||||
|
" Set up paste-replacement to yank into the blackhole register
|
||||||
|
vnoremap p "_dP
|
||||||
|
|
||||||
|
"=====[ Correct common mistypings in-the-fly ]=======================
|
||||||
|
|
||||||
|
iab retrun return
|
||||||
|
iab pritn print
|
||||||
|
iab teh the
|
||||||
|
iab liek like
|
||||||
|
iab liekwise likewise
|
||||||
|
iab Pelr Perl
|
||||||
|
iab pelr perl
|
||||||
|
iab ;t 't
|
||||||
|
iab moer more
|
||||||
|
iab previosu previous
|
||||||
|
iab virutal virtual
|
||||||
|
iab unwarp unwrap
|
||||||
|
iab unrwap unwrap
|
||||||
|
iab compilie compile
|
||||||
|
iab compilier compiler
|
||||||
|
|
||||||
|
" Clear a line
|
||||||
|
nnoremap <leader>c ddO
|
||||||
|
" Edit vimrc file
|
||||||
|
nnoremap <leader>ev :tabnew $HOME/.vimrc<cr>
|
||||||
|
" Source vimrc file
|
||||||
|
nnoremap <leader>sv :source $HOME/.vimrc<cr>
|
||||||
|
" Tabular extension
|
||||||
|
nnoremap <leader>t :Tab /<C-R>=getline('.')[col('.')-1]<cr><cr>
|
||||||
|
|
||||||
|
" Tab control
|
||||||
|
nnoremap tt :tabnew<cr>
|
||||||
|
nnoremap <c-h> :tabp<cr>
|
||||||
|
nnoremap <c-l> :tabn<cr>
|
||||||
|
|
||||||
|
nnoremap Q @@
|
||||||
|
|
||||||
|
" Quicksave
|
||||||
|
nnoremap <leader>w :update<cr>
|
||||||
|
nnoremap <leader>s :update<cr>
|
||||||
|
|
||||||
|
"
|
||||||
|
" Code folding
|
||||||
|
"
|
||||||
|
set foldlevelstart=4
|
||||||
|
set foldmethod=manual
|
||||||
|
nnoremap <leader>f za
|
||||||
Reference in New Issue
Block a user