diff options
author | zlg <zlg@zlg.space> | 2020-05-02 11:19:30 -0700 |
---|---|---|
committer | zlg <zlg@zlg.space> | 2020-05-02 11:19:30 -0700 |
commit | 526106d592d7203c108e72c2d30eacb70dd7a9d7 (patch) | |
tree | 54eeda96861726fec8be60402d89830a41232f1f | |
parent | colors/zlg.vim: Remove Trailing group (diff) | |
download | vimrc-526106d592d7203c108e72c2d30eacb70dd7a9d7.tar.gz vimrc-526106d592d7203c108e72c2d30eacb70dd7a9d7.tar.bz2 vimrc-526106d592d7203c108e72c2d30eacb70dd7a9d7.tar.xz vimrc-526106d592d7203c108e72c2d30eacb70dd7a9d7.zip |
Reintegrate personal library as autoload script
Functions that I've built up over time were squirreled away in a
separate file for a while, but they were subtly broken and some didn't
work. All functions in the library should now work as expected, and
are easy to integrate into other installations of Vim.
Diffstat (limited to '')
-rw-r--r-- | vimrc | 21 | ||||
-rw-r--r-- | zlglib.vim (renamed from functions.vim) | 23 |
2 files changed, 28 insertions, 16 deletions
@@ -8,17 +8,18 @@ set fileformats=unix,dos,mac set spelllang=en_us set switchbuf=useopen -" Outsourced functions file -runtime functions.vim - " Colors and Syntax {{{1 set t_Co=16 set background=dark -colorscheme solarized +colorscheme zlg if has('syntax') && !exists('g:syntax_on') syntax enable endif +" General purpose syntax useful in all files +highlight TrailingWhitespace ctermbg=magenta term=underline +syntax match TrailingWhitespace /\s\+$/ + " Plugin-Specific {{{1 " Use vim-plug call plug#begin('~/.vim/bundle') @@ -116,16 +117,16 @@ if has("autocmd") endif " Key Bindings {{{1 -nnoremap <leader>i :call <SID>SynStack()<CR> +nnoremap <leader>i :call zlg#SynStack()<CR> nnoremap <leader>l :set list!<CR> nnoremap <leader>n :set number!<CR> nnoremap <leader>t :setfiletype text<CR> nnoremap <leader>s :set spell!<CR> -nnoremap <leader>c :call <SID>CountCodeLines()<CR> -nnoremap <leader>d :call <SID>InsertDOW()<CR> +nnoremap <leader>c :call zlg#CountCodeLines()<CR> +nnoremap <leader>d :call zlg#InsertDOW()<CR> nnoremap <leader>D "=strftime("%Y-%m-%d %H:%M", localtime())<CR>p nnoremap <Space> za -nnoremap <silent> <F5> :call <SID>StripTrailingWhitespaces()<CR> +nnoremap <silent> <F5> :call zlg#StripTrailingWhitespaces()<CR> " Thanks to /u/spupy for these short and sweet mappings that replace the " simpler functions of tpope's surround.vim plugin. Each of these will @@ -140,12 +141,12 @@ noremap <Leader>w< <ESC>`>a><ESC>`<i<<ESC> noremap <Leader>w` <ESC>`>a`<ESC>`<i`<ESC> " super handy over SSH -noremap <Leader>q :call SwapKeys()<CR> +noremap <Leader>q :call zlg#SwapKeys()<CR> " Dvorak Hackery {{{1 if exists("g:use_dvorak") && g:use_dvorak == 1 - silent call SetKeyMap() + silent call zlg#SetKeyMap() endif " vim: foldmethod=marker diff --git a/functions.vim b/zlglib.vim index 5264701..0e280ff 100644 --- a/functions.vim +++ b/zlglib.vim @@ -1,5 +1,15 @@ +" Name: zlglib.vim +" Author: zlg <zlg+vim@zlg.space> +" License: Vim +" +" Integrate by symlinking to this file inside the 'autoload' directory: +" cd $HOME/.vim/autoload +" ln -s /path/to/zlglib.vim zlg.vim +" +" Next, hook things up as you wish via something like :call zlg#foo() + " StripTrailingWhitespaces, by Drew Neil of vimcasts.org {{{1 -function! <SID>StripTrailingWhitespaces() +function! zlg#StripTrailingWhitespaces() " Save last search and cursor position let _s=@/ let l = line(".") @@ -12,7 +22,7 @@ function! <SID>StripTrailingWhitespaces() endfunction " SynStack, by Drew Neil of vimcasts.org {{{1 -function! <SID>SynStack() +function! zlg#SynStack() if !exists("*synstack") return endif @@ -20,7 +30,7 @@ function! <SID>SynStack() endfunction " CountCodeLines, by zlg {{{1 -function! <SID>CountCodeLines() +function! zlg#CountCodeLines() let code_count = 0 for line in getbufline("%", 1, "$") if (len(line) > 0 && match(line, '\S\+') > -1) @@ -58,7 +68,7 @@ function! s:IsCommentLine(line) endfunction " InsertDOW, by zlg {{{1 -function! <SID>InsertDOW() +function! zlg#InsertDOW() " Let's backup a random register let tmpx = @x let @x = system("date +\"%a \" -d" . strftime("%Y") . "-" . substitute(expand("<cWORD>"), ":", "", "")) @@ -117,7 +127,7 @@ endfunction " SwapKeys, by zlg {{{1 " This function isn't that fancy; it just flips a variable and calls the " mapping function. -function! SwapKeys() +function! zlg#SwapKeys() if (exists("g:use_dvorak") && (g:use_dvorak == 1 || g:use_dvorak == 0)) let g:use_dvorak = (!g:use_dvorak) call SetKeyMap() @@ -139,7 +149,7 @@ endfunction " a global variable. In this case, it's g:use_dvorak, to swap between Dvorak " and QWERTY layouts. It can be extended to use any number of key mappings " that you need. -function! SetKeyMap() +function! zlg#SetKeyMap() if g:use_dvorak == 1 " I use a Dvorak keyboard, so standard vim movement keys are a hassle. " Since mnemonics are helpful all around, I need a mapping that gives me @@ -206,6 +216,7 @@ function! SetKeyMap() " Fold-related keybindings noremap zh zj noremap zt zk + echomsg "Bindings set to Dvorak" else " set qwerty keys; basically just resetting things |