Basic Vim, Building up from scratch

This commit is contained in:
John Mertz 2022-04-16 15:21:45 -04:00
parent 517a1a2628
commit 1fa665a33c
5 changed files with 1550 additions and 0 deletions

View File

@ -0,0 +1,5 @@
" codingAbbreviations.vim
:ab #!p #!/usr/bin/env perl
:ab #!3 #!/usr/bin/env python3
:ab #!b #!/usr/bin/env bash
:ab hh ################################################################################<CR>#<CR>################################################################################<Up>

View File

@ -0,0 +1 @@
/home/jpm/.private-scripts/personalAbbreviations.vim

1
vim/autoload Symbolic link
View File

@ -0,0 +1 @@
/home/jpm/.config/vim/autoload

1419
vim/colors/gruvbox-oled.vim Normal file

File diff suppressed because it is too large Load Diff

124
vim/vimrc Normal file
View File

@ -0,0 +1,124 @@
set nocompatible " iMproved only, no vi compatibility
set sessionoptions-=options " stop sessions from messing with 'runtimepath'
" Load plugins with Pathogen
execute pathogen#infect('bundle/{}', '~/.config/vim/bundle/{}')
syntax on
filetype plugin indent on
" get defaults
"source $VIMRUNTIME/defaults.vim
set backspace=indent,eol,start
set incsearch
set scrolloff=1000 " Center cursor, unless near edge
" other usability enhancements
set backupdir=~/.config/vim/backup/,.
set directory=~/.config/vim/swp/,.
set undodir=~/.config/vim/undo/,.
" Colorize and theme
set t_Co=16
let g:gruvbox_contrast_dark="hard"
let g:gruvbox_italic=1
let g:gruvbox_bold=1
let g:gruvbox_underline=1
let g:gruvbox_undercurl=1
let g:gruvbox_termcolors=256
set background=dark
colorscheme gruvbox-oled
" autocmd vimenter * colorscheme gruvbox
"autocmd vimenter * colorscheme gruvbox-oled
"theme autoload/airline/themes/gruvbox-oled.vim
" colorscheme autoload/lightline/colorscheme/gruvbox-oled.vim
" colorscheme base16-gruvbox-dark-hard
set ttyfast
set termguicolors
set laststatus=2
set guioptions-=e
set encoding=utf-8
set autoread
set autoindent
set hlsearch
set number
set noswapfile
set title
syn on se title
set ts=8
set softtabstop=8
set shiftwidth=8
set expandtab
" Show tabs and trailing spaces
set list listchars=tab:»\ ,trail
set spelllang=en_ca
" Strip whitespace on save
fun! <SID>StripTrailingWhitespaces()
" Preparation: save last search, and cursor position.
let _s=@/
let l = line(".")
let c = col(".")
" Do the business:
%s/\s\+$//e
" Clean up: restore previous search history, and cursor position
let @/=_s
call cursor(l, c)
endfun
"command -nargs=0 Stripwhitespace :call <SID>StripTrailingWhitespaces()
" Fix indentation in file
map <leader>i mmgg=G`m<CR>
" Toggle highlighting of search results
nnoremap <leader><space> :nohlsearch<cr>
" Unsmart Quotes
nnoremap guq :%s/\v[“”]/"/g<cr>
if has("autocmd")
" StripTrailingWhitespaces
" TODO: autocmd BufWritePre * DeleteTrailingWhitespace
" To spell check all git commit messages
au BufNewFile,BufRead COMMIT_EDITMSG set spell nonumber nolist wrap linebreak
" Set filetype tab settings
autocmd FileType python,doctest set ai ts=8 sw=8 sts=8 et
autocmd BufReadPost *
\ if line("'\"") > 1 && line("'\"") <= line("$") |
\ exe "normal! g`\"" |
\ endif
endif
" 80 characters line
set colorcolumn=81
"execute "set colorcolumn=" . join(range(81,335), ',')
highlight ColorColumn ctermbg=Black ctermfg=DarkRed
" Highlight trailing spaces
" http://vim.wikia.com/wiki/Highlight_unwanted_spaces
highlight ExtraWhitespace ctermbg=red guibg=red
match ExtraWhitespace /\s\+$/
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches()
" Configure tabline
set showtabline=2
let g:tablabel =
\ "%N%{flagship#tabmodified()} %{flagship#tabcwds('shorten',',')}"
" Python
au FileType python set ts=8 sts=4 et sw=4 smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
source /home/jpm/.dotfiles/vim/abbreviations/personalAbbreviations.vim
source /home/jpm/.dotfiles/vim/abbreviations/codingAbbreviations.vim