summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzlg <zlg@zlg.space>2020-05-02 11:19:30 -0700
committerzlg <zlg@zlg.space>2020-05-02 11:19:30 -0700
commit526106d592d7203c108e72c2d30eacb70dd7a9d7 (patch)
tree54eeda96861726fec8be60402d89830a41232f1f
parentcolors/zlg.vim: Remove Trailing group (diff)
downloadvimrc-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--vimrc21
-rw-r--r--zlglib.vim (renamed from functions.vim)23
2 files changed, 28 insertions, 16 deletions
diff --git a/vimrc b/vimrc
index 504d205..ed219d1 100644
--- a/vimrc
+++ b/vimrc
@@ -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