Cleaned up .vimrc
Re-arranged things to make it easier to see if I'm over-writing keybindings. Added comments to areas that didn't have any. Reverted some keybindings I found I wasn't using. Also changed the Banner template to use double-quotes instead of hash marks since I only ever use it in my .vimrc
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
# ---------------------------------------------------------------------------------------------------------------------
|
||||
# ==>
|
||||
#
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==>
|
||||
"
|
||||
|
||||
218
.vimrc
218
.vimrc
@@ -1,21 +1,66 @@
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==> .vimrc
|
||||
|
||||
set nocompatible " be iMproved, required
|
||||
set number " turn on line numbers
|
||||
set relativenumber " lines are numbered relative to current line
|
||||
set scrolloff=10 " number of lines to keep above and below the cursor
|
||||
set belloff=all " no sound/flash on errors
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==> Some settings from Vim Zero: https://www.oliversherouse.com/posts/vim_zero.html
|
||||
"
|
||||
syntax enable
|
||||
filetype plugin on
|
||||
|
||||
" General
|
||||
let mapleader = '\'
|
||||
set autoread " set to auto read when a file is changed from the outside
|
||||
set belloff=all " no sound/flash on errors
|
||||
set cursorcolumn " highlight current column
|
||||
set cursorline " highlight current row
|
||||
set incsearch " make search act like search in modern browsers
|
||||
set showmatch " show matching brackets when text indicator is over them
|
||||
|
||||
set term=xterm-256color " LOTS of colors
|
||||
set formatoptions-=ro " Turn off autoinsert of comment char on newline
|
||||
set hidden " Allow background buffers without saving
|
||||
set nolist " do not show invisible characters
|
||||
set nocompatible " be iMproved, required
|
||||
set number " turn on line numbers
|
||||
set path+=** " Search Globally
|
||||
set wildmenu
|
||||
set relativenumber " lines are numbered relative to current line
|
||||
set ruler " show cursor poition
|
||||
set scrolloff=10 " number of lines to keep above and below the cursor
|
||||
set showmatch " show matching brackets when text indicator is over them
|
||||
set splitright " Split to right by default
|
||||
set term=xterm-256color " LOTS of colors
|
||||
set wildmenu " enhanced command line completion
|
||||
|
||||
" Text Wrapping
|
||||
set textwidth=120 " Set textwidth
|
||||
set colorcolumn= " disable colorzing <textwidth> column
|
||||
set nowrap " turn off word wrapping at <textwidth>
|
||||
|
||||
" Search and Substitute
|
||||
set gdefault " use global flag by default in s: commands
|
||||
set hlsearch " highlight searches
|
||||
set ignorecase " ignore case in searches
|
||||
set incsearch " make search act like search in modern browsers
|
||||
set smartcase " don't ignore capitals in searches
|
||||
|
||||
" Tabs
|
||||
set tabstop=4
|
||||
set softtabstop=4
|
||||
set shiftwidth=4
|
||||
set expandtab
|
||||
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" => Statusline
|
||||
" Ideas from http://got-ravings.blogspot.com/2008/08/vim-pr0n-making-statuslines-that-own.html
|
||||
|
||||
set laststatus=2 " always show statusline
|
||||
set statusline= " clear on reload
|
||||
set statusline+=[\ b%n\ ] " buffer number
|
||||
set statusline+=\ %f " filename
|
||||
set statusline+=\ [%{strlen(&fenc)?&fenc:'none'}, " file encoding
|
||||
set statusline+=\ %{&ff}] " file format
|
||||
set statusline+=\ %y " filetype
|
||||
set statusline+=\ %H\ %m\ %r\ %W " flags
|
||||
set statusline+=%= " left/right separator
|
||||
set statusline+=l:%l/%L " cursor line/total lines
|
||||
set statusline+=\ c:%c " cursor column
|
||||
set statusline+=\ %P " percent through file
|
||||
|
||||
autocmd! bufwritepost .vimrc source ~/.vimrc " When vimrc is edited, reload it
|
||||
|
||||
@@ -28,15 +73,17 @@ augroup BgHighlight
|
||||
autocmd WinLeave * set norelativenumber
|
||||
augroup end
|
||||
|
||||
syntax enable
|
||||
filetype plugin on
|
||||
" Toggle invisible characters with <F5>
|
||||
set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
|
||||
noremap <F5> :set list!<CR>
|
||||
inoremap <F5> <C-o>:set list!<CR>
|
||||
cnoremap <F5> <C-c>:set list!<CR>
|
||||
|
||||
" Enable Omnicomplete features
|
||||
set omnifunc=syntaxcomplete#Complete
|
||||
|
||||
" Personal Notes settings
|
||||
" export NOTES_DIR=<your notes directory>
|
||||
" before use
|
||||
" export NOTES_DIR=<your notes directory> before use
|
||||
|
||||
" Go to index of notes and set working directory to my notes
|
||||
nnoremap <leader>ww :e $NOTES_DIR/Index.md<CR>:cd $NOTES_DIR<CR>
|
||||
@@ -47,32 +94,6 @@ nnoremap <leader>ww :e $NOTES_DIR/Index.md<CR>:cd $NOTES_DIR<CR>
|
||||
command! -nargs=1 Ngrep vimgrep "<args>" $NOTES_DIR/**/*.md | copen
|
||||
nnoremap <leader>[ :Ngrep
|
||||
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==> From Vim Zero: https://www.oliversherouse.com/2017/08/21/vim_zero.html
|
||||
|
||||
" General
|
||||
let mapleader = '\'
|
||||
set hidden " Allow background buffers without saving
|
||||
set splitright " Split to right by default
|
||||
set formatoptions-=ro " Turn off autoinsert of comment char on newline
|
||||
|
||||
" Text Wrapping
|
||||
set textwidth=120 " Set textwidth
|
||||
set colorcolumn= " disable colorzing <textwidth> column
|
||||
set nowrap " turn off word wrapping at <textwidth>
|
||||
|
||||
" Search and Substitute
|
||||
set gdefault " use global flag by default in s: commands
|
||||
set hlsearch " highlight searches
|
||||
set ignorecase " ignore case in searches
|
||||
set smartcase " don't ignore capitals in searches
|
||||
|
||||
" Tabs
|
||||
set tabstop=4
|
||||
set softtabstop=4
|
||||
set shiftwidth=4
|
||||
set expandtab
|
||||
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==> Plugins with VimPlug
|
||||
" A minimalist Vim plugin manager
|
||||
@@ -102,10 +123,6 @@ Plug 'junegunn/fzf.vim'
|
||||
" https://github.com/tpope/vim-fugitive
|
||||
Plug 'tpope/vim-fugitive'
|
||||
|
||||
" ALE displays warnings and errors in files being edited before being saved back to the filesystem
|
||||
" https://github.com/dense-analysis/ale
|
||||
"Plug 'dense-analysis/ale'
|
||||
|
||||
" Vim surround
|
||||
" I tried to do this from scratch, but it seems this is the best alternative
|
||||
" https://github.com/tpope/vim-surround
|
||||
@@ -128,41 +145,41 @@ call plug#end()
|
||||
" ==> Plugin Options
|
||||
" Options and overrides for installed plugins
|
||||
|
||||
" Vim Markdown
|
||||
" Markdown syntax highlighting for specified languages
|
||||
" = Vim Markdown
|
||||
" = Markdown syntax highlighting for specified languages
|
||||
let g:markdown_fenced_languages = ['html', 'python', 'ini', 'vim', 'bash', 'yaml']
|
||||
" Set default conceallevel to hide links and some formatting
|
||||
" = Set default conceallevel to hide links and some formatting
|
||||
set conceallevel=0
|
||||
" strikethrough
|
||||
" = strikethrough
|
||||
let g:vim_markdown_strikethrough = 1
|
||||
" follow anchors - allow <ge> to follow anchors just like links
|
||||
" = follow anchors - allow <ge> to follow anchors just like links
|
||||
let g:vim_markdown_follow_anchor = 1
|
||||
" multi-line bullets in markdown
|
||||
" [Reference](https://vimdoc.sourceforge.net/htmldoc/change.html#fo-table)
|
||||
" j - remove a comment leader when joining lines.
|
||||
" l - long lines are not broken in insert mode
|
||||
" n - Recognize numbered lists
|
||||
" r - Continue comments when pressing Enter
|
||||
" t - autowrap lines using text width value
|
||||
" = multi-line bullets in markdown
|
||||
" = [Reference](https://vimdoc.sourceforge.net/htmldoc/change.html#fo-table)
|
||||
" j - remove a comment leader when joining lines.
|
||||
" l - long lines are not broken in insert mode
|
||||
" n - Recognize numbered lists
|
||||
" r - Continue comments when pressing Enter
|
||||
" t - autowrap lines using text width value
|
||||
autocmd FileType markdown set formatoptions=jlnrt
|
||||
" Open folds by default
|
||||
" = Open folds by default
|
||||
au BufWinEnter * normal zR
|
||||
|
||||
" ALE
|
||||
"let b:ale_linters = ['markdownlint', 'vale']
|
||||
"let b:ale_fixers = ['prettier']
|
||||
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==> Colors
|
||||
" Term GUI Colors
|
||||
" Testing different colorschemes
|
||||
" Only the last uncommented colorscheme will be used
|
||||
" This is typically a history of the schemes I've used
|
||||
"colorscheme slate
|
||||
"colorscheme marklar
|
||||
colorscheme automation
|
||||
"colorscheme automation
|
||||
"colorscheme advantage
|
||||
colorscheme industry
|
||||
|
||||
" cursorcolumn
|
||||
hi cursorcolumn cterm=NONE ctermbg=black ctermfg=white
|
||||
" visual mode colors
|
||||
hi visual cterm=NONE ctermbg=darkyellow ctermfg=white
|
||||
|
||||
set fillchars=vert:│,fold:┈,diff:┈
|
||||
@@ -170,27 +187,10 @@ set fillchars=vert:│,fold:┈,diff:┈
|
||||
hi StatusLine ctermfg=white ctermbg=darkgreen cterm=bold
|
||||
hi StatusLineNC ctermfg=white ctermbg=darkyellow cterm=none
|
||||
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" => Statusline
|
||||
" Ideas from http://got-ravings.blogspot.com/2008/08/vim-pr0n-making-statuslines-that-own.html
|
||||
|
||||
set laststatus=2 " always show statusline
|
||||
set statusline= " clear on reload
|
||||
set statusline+=[\ b%n\ ] " buffer number
|
||||
set statusline+=\ %f " filename
|
||||
set statusline+=\ [%{strlen(&fenc)?&fenc:'none'}, " file encoding
|
||||
set statusline+=\ %{&ff}] " file format
|
||||
set statusline+=\ %y " filetype
|
||||
set statusline+=\ %H\ %m\ %r\ %W " flags
|
||||
set statusline+=%= " left/right separator
|
||||
set statusline+=l:%l/%L " cursor line/total lines
|
||||
set statusline+=\ c:%c " cursor column
|
||||
set statusline+=\ %P " percent through file
|
||||
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" => Keymaps: Highlights
|
||||
|
||||
" <leader><leader> to turn off search highlight
|
||||
" <leader><space> to turn off search highlight
|
||||
nnoremap <leader><space> :nohls <enter>
|
||||
|
||||
" <leader>C to toggle row/column highlight
|
||||
@@ -198,43 +198,34 @@ nnoremap <leader>C :set cursorline! cursorcolumn!<CR>
|
||||
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==> Keymaps: Buffers & Panes
|
||||
" BUFFERS with ctrl
|
||||
" PANES with <leader>
|
||||
" when possible
|
||||
|
||||
" <c-h/l> to navigate BUFFERS
|
||||
nnoremap <c-h> :bp <enter>
|
||||
nnoremap <c-l> :bn <enter>
|
||||
|
||||
" <c-b> to open FZF buffers
|
||||
map <c-b> :Buffers<CR>
|
||||
" <leader>b to open FZF buffers
|
||||
map <leader>b :Buffers<CR>
|
||||
|
||||
" <leader>a to abandon buffer
|
||||
nnoremap <leader>a :bd! <enter>
|
||||
|
||||
" <leader>c to close buffer
|
||||
nnoremap <leader>c :bd <enter>
|
||||
|
||||
" <c-s> to save buffer
|
||||
nnoremap <c-s> :w <enter>
|
||||
|
||||
" <c-q> to quit vim
|
||||
nnoremap <c-q> :q <enter>
|
||||
|
||||
" <c-a> to abandon buffer
|
||||
nnoremap <c-a> :bd! <enter>
|
||||
|
||||
" <c-c>c to close buffer
|
||||
nnoremap <c-c> :bd <enter>
|
||||
nnoremap <c-s> :w<CR>
|
||||
|
||||
" <c-x> to bring up the copy buffer
|
||||
noremap <c-x> "+
|
||||
|
||||
" <F5> to refresh buffer
|
||||
nnoremap <F5> <c-r>:checktime <CR>
|
||||
|
||||
" <leader>h/j/k/l to navigate PANES
|
||||
nnoremap <leader>h <c-w><c-h>
|
||||
nnoremap <leader>l <c-w><c-l>
|
||||
nnoremap <leader>j <c-w><c-j>
|
||||
nnoremap <leader>k <c-w><c-k>
|
||||
|
||||
" <leader>c to close pane
|
||||
nnoremap <leader>c <c-w>q
|
||||
" <leader>x to close pane
|
||||
nnoremap <leader>x <c-w>q
|
||||
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==> Keymaps
|
||||
@@ -268,21 +259,8 @@ nnoremap k gk
|
||||
|
||||
imap <F2> <C-R>=strftime("%Y-%m-%d %H:%M:%S")<CR>
|
||||
imap <F3> <C-R>=strftime("%Y-%m-%d %a")<CR>
|
||||
imap <F4> <C-R>=strftime("%H:%M")<CR>
|
||||
imap <F4> <C-R>=strftime("%Y-%m-%d")<CR>
|
||||
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==> Keymaps: Autoclosing
|
||||
" Autoclose brackets, parens...etc
|
||||
" from: https://stackoverflow.com/a/34992101
|
||||
"inoremap " ""<left>
|
||||
"inoremap ' ''<left>
|
||||
"inoremap ( ()<left>
|
||||
"inoremap [ []<left>
|
||||
"inoremap { {}<left>
|
||||
"inoremap {<CR> {<CR>}<ESC>O
|
||||
"inoremap {;<CR> {<CR>};<ESC>O
|
||||
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==> Spellcheck
|
||||
|
||||
@@ -318,11 +296,12 @@ autocmd BufRead,BufNewFile *.txt setlocal spell
|
||||
" Vim Colors: (http://alvinalexander.com/linux/vi-vim-editor-color-scheme-syntax)
|
||||
hi clear SpellBad
|
||||
hi clear SpellCap
|
||||
hi clear SpellErrors
|
||||
hi clear SpellLocal
|
||||
hi clear SpellRare
|
||||
hi SpellBad cterm=underline ctermbg=black ctermfg=red
|
||||
hi SpellCap cterm=underline ctermbg=black ctermfg=red
|
||||
hi SpellCap cterm=underline ctermbg=black ctermfg=magenta
|
||||
hi SpellLocal cterm=underline ctermbg=black ctermfg=gray
|
||||
hi SpellRare cterm=underline ctermbg=black ctermfg=gray
|
||||
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==> Templates: markdown documents (.md)
|
||||
@@ -331,10 +310,9 @@ autocmd BufNewFile *.md so $HOME/.vim/templates/md
|
||||
autocmd BufNewFile *.md %s/filename/\=expand('%:t:r')/g
|
||||
autocmd BufNewFile *.md exe "g/^- Created :.*/s//- Created : " .strftime("%Y-%m-%d")
|
||||
autocmd BufNewFile *.md exe "normal Go"
|
||||
autocmd BufWritePre,filewritepre *.md execute "normal ma"
|
||||
autocmd BufWritePre,filewritepre *.md exe "g/^- Updated :.*/s//- Updated : " .strftime("%Y-%m-%d %H:%M")
|
||||
autocmd bufWritePost,filewritepost *.md execute "normal `a"
|
||||
|
||||
autocmd BufWritePre,filewritepre *.md execute "normal! ma"
|
||||
"autocmd BufWritePre,filewritepre *.md exe "g/^- Updated :.*/s//- Updated : " .strftime("%Y-%m-%d %H:%M")
|
||||
autocmd BufWritePost,filewritepost *.md execute "normal! `a"
|
||||
" ---------------------------------------------------------------------------------------------------------------------
|
||||
" ==> Templates: shell scripts (.sh)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user