From c0802c55a3756befd8385dfef6661216c336a1a7 Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Tue, 12 Mar 2019 01:58:05 -0400 Subject: [PATCH] add quickscope and pathogen for vim --- .gitmodules | 3 + Makefile | 1 + vim/.vim/autoload/pathogen.vim | 264 +++++++++++++++++++++++++++++++++ vim/.vim/bundle/quick-scope | 1 + vim/.vimrc | 7 + 5 files changed, 276 insertions(+) create mode 100644 vim/.vim/autoload/pathogen.vim create mode 160000 vim/.vim/bundle/quick-scope diff --git a/.gitmodules b/.gitmodules index 34b4330..b78036e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -5,3 +5,6 @@ [submodule "emacs/.emacs.d/evil"] path = emacs/.emacs.d/evil url = https://github.com/emacs-evil/evil +[submodule "vim/.vim/bundle/quick-scope"] + path = vim/.vim/bundle/quick-scope + url = https://github.com/unblevable/quick-scope diff --git a/Makefile b/Makefile index 9eadeb7..e01aa37 100644 --- a/Makefile +++ b/Makefile @@ -82,6 +82,7 @@ sublime: vim: @printf "$(YELLOW)--- vim ------------------------------------------------\n$(RESET)" + git submodule update --init -- vim/.vim/bundle stow -t "$$HOME" vim vscode: diff --git a/vim/.vim/autoload/pathogen.vim b/vim/.vim/autoload/pathogen.vim new file mode 100644 index 0000000..3582fbf --- /dev/null +++ b/vim/.vim/autoload/pathogen.vim @@ -0,0 +1,264 @@ +" pathogen.vim - path option manipulation +" Maintainer: Tim Pope +" Version: 2.4 + +" Install in ~/.vim/autoload (or ~\vimfiles\autoload). +" +" For management of individually installed plugins in ~/.vim/bundle (or +" ~\vimfiles\bundle), adding `execute pathogen#infect()` to the top of your +" .vimrc is the only other setup necessary. +" +" The API is documented inline below. + +if exists("g:loaded_pathogen") || &cp + finish +endif +let g:loaded_pathogen = 1 + +" Point of entry for basic default usage. Give a relative path to invoke +" pathogen#interpose() or an absolute path to invoke pathogen#surround(). +" Curly braces are expanded with pathogen#expand(): "bundle/{}" finds all +" subdirectories inside "bundle" inside all directories in the runtime path. +" If no arguments are given, defaults "bundle/{}", and also "pack/{}/start/{}" +" on versions of Vim without native package support. +function! pathogen#infect(...) abort + if a:0 + let paths = filter(reverse(copy(a:000)), 'type(v:val) == type("")') + else + let paths = ['bundle/{}', 'pack/{}/start/{}'] + endif + if has('packages') + call filter(paths, 'v:val !~# "^pack/[^/]*/start/[^/]*$"') + endif + let static = '^\%([$~\\/]\|\w:[\\/]\)[^{}*]*$' + for path in filter(copy(paths), 'v:val =~# static') + call pathogen#surround(path) + endfor + for path in filter(copy(paths), 'v:val !~# static') + if path =~# '^\%([$~\\/]\|\w:[\\/]\)' + call pathogen#surround(path) + else + call pathogen#interpose(path) + endif + endfor + call pathogen#cycle_filetype() + if pathogen#is_disabled($MYVIMRC) + return 'finish' + endif + return '' +endfunction + +" Split a path into a list. +function! pathogen#split(path) abort + if type(a:path) == type([]) | return a:path | endif + if empty(a:path) | return [] | endif + let split = split(a:path,'\\\@]','\\&','') + endif +endfunction + +" Like findfile(), but hardcoded to use the runtimepath. +function! pathogen#runtime_findfile(file,count) abort + let rtp = pathogen#join(1,pathogen#split(&rtp)) + let file = findfile(a:file,rtp,a:count) + if file ==# '' + return '' + else + return fnamemodify(file,':p') + endif +endfunction + +" vim:set et sw=2 foldmethod=expr foldexpr=getline(v\:lnum)=~'^\"\ Section\:'?'>1'\:getline(v\:lnum)=~#'^fu'?'a1'\:getline(v\:lnum)=~#'^endf'?'s1'\:'=': diff --git a/vim/.vim/bundle/quick-scope b/vim/.vim/bundle/quick-scope new file mode 160000 index 0000000..1002970 --- /dev/null +++ b/vim/.vim/bundle/quick-scope @@ -0,0 +1 @@ +Subproject commit 10029708ee50d300d4b5e3475610210d4b29c74d diff --git a/vim/.vimrc b/vim/.vimrc index 02b2c40..567a371 100644 --- a/vim/.vimrc +++ b/vim/.vimrc @@ -27,11 +27,18 @@ set autoread set history=1000 set tabpagemax=50 +noremap 0 ^ +noremap ^ 0 + inoremap u cmap w!! w !sudo tee % >/dev/null set rtp+=~/.fzf +execute pathogen#infect() + +let g:qs_highlight_on_keys = ['f', 'F', 't', 'T'] + " vim:set ft=vim et sw=2: