diff --git a/.gitmodules b/.gitmodules index 876669a..dd12f32 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,90 +1,9 @@ -[submodule ".vim/bundle/vim-textobj-user"] - path = .vim/pack/kejadlen/start/vim-textobj-user - url = git://github.com/kana/vim-textobj-user.git -[submodule ".vim/bundle/vim-textobj-line"] - path = .vim/pack/kejadlen/start/vim-textobj-line - url = git://github.com/kana/vim-textobj-line.git -[submodule ".vim/bundle/argtextobj.vim"] - path = .vim/pack/kejadlen/start/argtextobj.vim - url = git://github.com/vim-scripts/argtextobj.vim.git -[submodule ".vim/bundle/vim-textobj-rubyblock"] - path = .vim/pack/kejadlen/start/vim-textobj-rubyblock - url = git://github.com/nelstrom/vim-textobj-rubyblock.git -[submodule ".vim/bundle/vim-indent-object"] - path = .vim/pack/kejadlen/start/vim-indent-object - url = git://github.com/michaeljsmith/vim-indent-object.git -[submodule ".vim/bundle/vim-colors-solarized"] - path = .vim/pack/kejadlen/start/vim-colors-solarized - url = git://github.com/altercation/vim-colors-solarized.git -[submodule ".vim/bundle/vim-repeat"] - path = .vim/pack/kejadlen/start/vim-repeat - url = git://github.com/tpope/vim-repeat.git -[submodule ".vim/bundle/vim-surround"] - path = .vim/pack/kejadlen/start/vim-surround - url = git://github.com/tpope/vim-surround.git -[submodule ".vim/bundle/tabular"] - path = .vim/pack/kejadlen/start/tabular - url = git://github.com/godlygeek/tabular.git -[submodule ".vim/bundle/vim-ruby"] - path = .vim/pack/kejadlen/start/vim-ruby - url = git://github.com/vim-ruby/vim-ruby.git -[submodule ".vim/bundle/vim-coffee-script"] - path = .vim/pack/kejadlen/start/vim-coffee-script - url = git://github.com/kchmck/vim-coffee-script.git -[submodule ".vim/bundle/gundo"] - path = .vim/pack/kejadlen/start/gundo - url = git://github.com/sjl/gundo.vim.git -[submodule ".vim/bundle/vim-dispatch"] - path = .vim/pack/kejadlen/start/vim-dispatch - url = git://github.com/tpope/vim-dispatch.git -[submodule ".vim/bundle/ctrlp"] - path = .vim/pack/kejadlen/start/ctrlp - url = git://github.com/ctrlpvim/ctrlp.vim.git -[submodule ".vim/bundle/vinegar"] - path = .vim/pack/kejadlen/start/vinegar - url = git://github.com/tpope/vim-vinegar.git -[submodule ".vim/bundle/go"] - path = .vim/pack/kejadlen/opt/vim-go - url = git://github.com/fatih/vim-go.git -[submodule ".vim/bundle/vim-tmux-navigator"] - path = .vim/pack/kejadlen/start/vim-tmux-navigator - url = git://github.com/christoomey/vim-tmux-navigator.git [submodule "src/powerline"] path = src/powerline - url = git://github.com/powerline/powerline.git + url = https://github.com/powerline/powerline.git [submodule "src/prezto"] path = src/prezto - url = git://github.com/kejadlen/prezto.git -[submodule ".vim/bundle/vim-endwise"] - path = .vim/pack/kejadlen/start/vim-endwise - url = git://github.com/tpope/vim-endwise.git -[submodule ".vim/bundle/vim-sleuth"] - path = .vim/pack/kejadlen/start/vim-sleuth - url = git://github.com/tpope/vim-sleuth.git -[submodule ".vim/bundle/vim-rsi"] - path = .vim/pack/kejadlen/start/vim-rsi - url = git://github.com/tpope/vim-rsi.git -[submodule ".vim/bundle/vim-sensible"] - path = .vim/pack/kejadlen/start/vim-sensible - url = git://github.com/tpope/vim-sensible.git -[submodule ".vim/bundle/vim-unimpaired"] - path = .vim/pack/kejadlen/start/vim-unimpaired - url = git://github.com/tpope/vim-unimpaired.git -[submodule ".vim/bundle/incsearch.vim"] - path = .vim/pack/kejadlen/start/incsearch.vim - url = git://github.com/haya14busa/incsearch.vim -[submodule ".vim/bundle/vim-commentary"] - path = .vim/pack/kejadlen/start/vim-commentary - url = git://github.com/tpope/vim-commentary.git -[submodule ".vim/bundle/rust.vim"] - path = .vim/pack/kejadlen/start/rust.vim - url = git://github.com/rust-lang/rust.vim.git -[submodule ".vim/bundle/vim-projectionist"] - path = .vim/pack/kejadlen/start/vim-projectionist - url = git://github.com/tpope/vim-projectionist.git -[submodule ".vim/bundle/vim-rake"] - path = .vim/pack/kejadlen/start/vim-rake - url = git@github.com:tpope/vim-rake.git + url = https://github.com/kejadlen/prezto.git [submodule "Alfred.alfredpreferences/workflows/emoji.alfredworkflow"] path = Alfred.alfredpreferences/workflows/emoji.alfredworkflow url = git@github.com:kejadlen/emoji.alfredworkflow @@ -100,15 +19,51 @@ [submodule "Alfred.alfredpreferences/workflows/alphred.alfredworkflow"] path = Alfred.alfredpreferences/workflows/alphred.alfredworkflow url = git@github.com:kejadlen/alphred.alfredworkflow.git -[submodule "src/swift"] - path = src/swift - url = git@github.com:apple/swift.git -[submodule ".vim/bundle/vim-fugitive"] - path = .vim/pack/kejadlen/start/vim-fugitive - url = git@github.com:tpope/vim-fugitive.git -[submodule ".vim/pack/kejadlen/start/elm-vim"] - path = .vim/pack/kejadlen/start/elm-vim - url = git@github.com:ElmCast/elm-vim.git -[submodule ".vim/pack/kejadlen/start/vim-startify"] - path = .vim/pack/kejadlen/start/vim-startify - url = git@github.com:mhinz/vim-startify.git +[submodule ".vim/pack/alpha/start/vim-commentary"] + path = .vim/pack/alpha/start/vim-commentary + url = https://github.com/tpope/vim-commentary.git +[submodule ".vim/pack/alpha/start/vim-sensible"] + path = .vim/pack/alpha/start/vim-sensible + url = https://github.com/tpope/vim-sensible.git +[submodule ".vim/pack/alpha/start/vim-surround"] + path = .vim/pack/alpha/start/vim-surround + url = https://github.com/tpope/vim-surround.git +[submodule ".vim/pack/alpha/start/vim-sleuth"] + path = .vim/pack/alpha/start/vim-sleuth + url = https://github.com/tpope/vim-sleuth.git +[submodule ".vim/pack/alpha/start/vim-tmux-navigator"] + path = .vim/pack/alpha/start/vim-tmux-navigator + url = https://github.com/christoomey/vim-tmux-navigator.git +[submodule ".vim/pack/alpha/start/vim-unimpaired"] + path = .vim/pack/alpha/start/vim-unimpaired + url = https://github.com/tpope/vim-unimpaired.git +[submodule ".vim/pack/alpha/start/vim-colors-solarized"] + path = .vim/pack/alpha/start/vim-colors-solarized + url = https://github.com/altercation/vim-colors-solarized.git +[submodule ".vim/pack/alpha/start/rust.vim"] + path = .vim/pack/alpha/start/rust.vim + url = https://github.com/rust-lang/rust.vim.git +[submodule ".vim/pack/alpha/start/incsearch.vim"] + path = .vim/pack/alpha/start/incsearch.vim + url = https://github.com/haya14busa/incsearch.vim.git +[submodule ".vim/pack/alpha/start/vim-vinegar"] + path = .vim/pack/alpha/start/vim-vinegar + url = https://github.com/tpope/vim-vinegar.git +[submodule ".vim/pack/alpha/start/vim-dispatch"] + path = .vim/pack/alpha/start/vim-dispatch + url = https://github.com/tpope/vim-dispatch.git +[submodule ".vim/pack/alpha/start/vim-endwise"] + path = .vim/pack/alpha/start/vim-endwise + url = https://github.com/tpope/vim-endwise.git +[submodule ".vim/pack/alpha/start/vim-ruby"] + path = .vim/pack/alpha/start/vim-ruby + url = https://github.com/vim-ruby/vim-ruby.git +[submodule ".vim/pack/alpha/start/vim-repeat"] + path = .vim/pack/alpha/start/vim-repeat + url = https://github.com/tpope/vim-repeat.git +[submodule ".vim/pack/alpha/start/vim-textobj-user"] + path = .vim/pack/alpha/start/vim-textobj-user + url = https://github.com/kana/vim-textobj-user.git +[submodule ".vim/pack/alpha/start/vim-textobj-rubyblock"] + path = .vim/pack/alpha/start/vim-textobj-rubyblock + url = https://github.com/nelstrom/vim-textobj-rubyblock.git diff --git a/.tmux.conf b/.tmux.conf index 9b24653..b21e4d2 100644 --- a/.tmux.conf +++ b/.tmux.conf @@ -51,13 +51,13 @@ bind C-c new-window -c '#{pane_current_path}'; bind v split-window -h -c '#{pane_current_path}'; bind s split-window -v -c '#{pane_current_path}'; -# Smart pane switching with awareness of vim splits -bind -n C-h run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-h) || tmux select-pane -L" -bind -n C-j run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-j) || tmux select-pane -D" -bind -n C-k run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-k) || tmux select-pane -U" -bind -n C-l run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys C-l) || tmux select-pane -R" -bind -n C-\ run "(tmux display-message -p '#{pane_current_command}' | grep -iqE '(^|\/)vim(diff)?$' && tmux send-keys 'C-\\') || tmux select-pane -l" -bind C-l send-keys 'C-l' +is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ + | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" +bind-key -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L" +bind-key -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D" +bind-key -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U" +bind-key -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R" +bind-key -n C-\ if-shell "$is_vim" "send-keys C-\\" "select-pane -l" bind -r < resize-pane -L 3 bind -r > resize-pane -R 3 diff --git a/.vim/after/ftplugin/cpp.vim b/.vim/after/ftplugin/cpp.vim deleted file mode 100644 index 938afbc..0000000 --- a/.vim/after/ftplugin/cpp.vim +++ /dev/null @@ -1,4 +0,0 @@ -setlocal tabstop=4 -setlocal softtabstop=4 -setlocal shiftwidth=4 -setlocal noexpandtab diff --git a/.vim/after/ftplugin/gitconfig.vim b/.vim/after/ftplugin/gitconfig.vim deleted file mode 100644 index bbd8967..0000000 --- a/.vim/after/ftplugin/gitconfig.vim +++ /dev/null @@ -1 +0,0 @@ -setlocal noexpandtab diff --git a/.vim/after/ftplugin/go.vim b/.vim/after/ftplugin/go.vim deleted file mode 100644 index d6a1ebb..0000000 --- a/.vim/after/ftplugin/go.vim +++ /dev/null @@ -1,8 +0,0 @@ -setlocal tabstop=4 -setlocal softtabstop=4 -setlocal shiftwidth=4 -setlocal noexpandtab -setlocal commentstring=//\ %s -setlocal foldmethod=syntax -compiler go -let b:dispatch="go test -v" diff --git a/.vim/after/ftplugin/objc.vim b/.vim/after/ftplugin/objc.vim deleted file mode 100644 index 938afbc..0000000 --- a/.vim/after/ftplugin/objc.vim +++ /dev/null @@ -1,4 +0,0 @@ -setlocal tabstop=4 -setlocal softtabstop=4 -setlocal shiftwidth=4 -setlocal noexpandtab diff --git a/.vim/after/ftplugin/openscad.vim b/.vim/after/ftplugin/openscad.vim deleted file mode 100644 index 6b79341..0000000 --- a/.vim/after/ftplugin/openscad.vim +++ /dev/null @@ -1,5 +0,0 @@ -setlocal tabstop=2 -setlocal softtabstop=2 -setlocal shiftwidth=2 -setlocal expandtab -setlocal commentstring=//\ %s diff --git a/.vim/after/ftplugin/python.vim b/.vim/after/ftplugin/python.vim deleted file mode 100644 index 3776f28..0000000 --- a/.vim/after/ftplugin/python.vim +++ /dev/null @@ -1,4 +0,0 @@ -setlocal tabstop=4 -setlocal softtabstop=4 -setlocal shiftwidth=4 -" setlocal nosmartindent diff --git a/.vim/after/ftplugin/ruby.vim b/.vim/after/ftplugin/ruby.vim index 59dcb5a..ce07d87 100644 --- a/.vim/after/ftplugin/ruby.vim +++ b/.vim/after/ftplugin/ruby.vim @@ -1,2 +1,2 @@ -setlocal foldmethod=syntax -setlocal foldlevelstart=5 +highlight rubyDefine ctermbg=235 +set foldmethod=syntax diff --git a/.vim/after/ftplugin/rust.vim b/.vim/after/ftplugin/rust.vim deleted file mode 100644 index 16ffc97..0000000 --- a/.vim/after/ftplugin/rust.vim +++ /dev/null @@ -1 +0,0 @@ -setlocal foldmethod=syntax diff --git a/.vim/after/ftplugin/taskpaper.vim b/.vim/after/ftplugin/taskpaper.vim deleted file mode 100644 index bbd8967..0000000 --- a/.vim/after/ftplugin/taskpaper.vim +++ /dev/null @@ -1 +0,0 @@ -setlocal noexpandtab diff --git a/.vim/after/ftplugin/vimwiki.vim b/.vim/after/ftplugin/vimwiki.vim deleted file mode 100644 index 0161d6f..0000000 --- a/.vim/after/ftplugin/vimwiki.vim +++ /dev/null @@ -1 +0,0 @@ -nmap VimwikiToggleListItem diff --git a/.vim/ftdetect/applescript.vim b/.vim/ftdetect/applescript.vim deleted file mode 100644 index 3949e9a..0000000 --- a/.vim/ftdetect/applescript.vim +++ /dev/null @@ -1 +0,0 @@ -au BufRead,BufNewFile *.applescript setf applescript diff --git a/.vim/ftdetect/bats.vim b/.vim/ftdetect/bats.vim deleted file mode 100644 index ddabe33..0000000 --- a/.vim/ftdetect/bats.vim +++ /dev/null @@ -1 +0,0 @@ -au BufRead,BufNewFile *.bats setf sh diff --git a/.vim/ftdetect/markdown.vim b/.vim/ftdetect/markdown.vim new file mode 100644 index 0000000..ad2e510 --- /dev/null +++ b/.vim/ftdetect/markdown.vim @@ -0,0 +1 @@ +autocmd BufRead,BufNewFile *.md setlocal spell diff --git a/.vim/ftdetect/openscad.vim b/.vim/ftdetect/openscad.vim deleted file mode 100644 index e5ee332..0000000 --- a/.vim/ftdetect/openscad.vim +++ /dev/null @@ -1 +0,0 @@ -au BufRead,BufNewFile *.scad setf openscad diff --git a/.vim/ftdetect/ragel.vim b/.vim/ftdetect/ragel.vim deleted file mode 100644 index 957f960..0000000 --- a/.vim/ftdetect/ragel.vim +++ /dev/null @@ -1 +0,0 @@ -au BufRead,BufNewFile *.rl setf ragel diff --git a/.vim/pack/kejadlen/start/incsearch.vim b/.vim/pack/alpha/start/incsearch.vim similarity index 100% rename from .vim/pack/kejadlen/start/incsearch.vim rename to .vim/pack/alpha/start/incsearch.vim diff --git a/.vim/pack/kejadlen/start/rust.vim b/.vim/pack/alpha/start/rust.vim similarity index 100% rename from .vim/pack/kejadlen/start/rust.vim rename to .vim/pack/alpha/start/rust.vim diff --git a/.vim/pack/kejadlen/start/vim-colors-solarized b/.vim/pack/alpha/start/vim-colors-solarized similarity index 100% rename from .vim/pack/kejadlen/start/vim-colors-solarized rename to .vim/pack/alpha/start/vim-colors-solarized diff --git a/.vim/pack/kejadlen/start/vim-commentary b/.vim/pack/alpha/start/vim-commentary similarity index 100% rename from .vim/pack/kejadlen/start/vim-commentary rename to .vim/pack/alpha/start/vim-commentary diff --git a/.vim/pack/kejadlen/start/vim-dispatch b/.vim/pack/alpha/start/vim-dispatch similarity index 100% rename from .vim/pack/kejadlen/start/vim-dispatch rename to .vim/pack/alpha/start/vim-dispatch diff --git a/.vim/pack/alpha/start/vim-endwise b/.vim/pack/alpha/start/vim-endwise new file mode 160000 index 0000000..d565526 --- /dev/null +++ b/.vim/pack/alpha/start/vim-endwise @@ -0,0 +1 @@ +Subproject commit d5655263af8b3611a2bcb907a9963831a88d154b diff --git a/.vim/pack/kejadlen/start/vim-repeat b/.vim/pack/alpha/start/vim-repeat similarity index 100% rename from .vim/pack/kejadlen/start/vim-repeat rename to .vim/pack/alpha/start/vim-repeat diff --git a/.vim/pack/alpha/start/vim-ruby b/.vim/pack/alpha/start/vim-ruby new file mode 160000 index 0000000..96510b0 --- /dev/null +++ b/.vim/pack/alpha/start/vim-ruby @@ -0,0 +1 @@ +Subproject commit 96510b067e57bbfc9f0da0697f61c7d30ee6477f diff --git a/.vim/pack/kejadlen/start/vim-sensible b/.vim/pack/alpha/start/vim-sensible similarity index 100% rename from .vim/pack/kejadlen/start/vim-sensible rename to .vim/pack/alpha/start/vim-sensible diff --git a/.vim/pack/kejadlen/start/vim-sleuth b/.vim/pack/alpha/start/vim-sleuth similarity index 100% rename from .vim/pack/kejadlen/start/vim-sleuth rename to .vim/pack/alpha/start/vim-sleuth diff --git a/.vim/pack/kejadlen/start/vim-surround b/.vim/pack/alpha/start/vim-surround similarity index 100% rename from .vim/pack/kejadlen/start/vim-surround rename to .vim/pack/alpha/start/vim-surround diff --git a/.vim/pack/kejadlen/start/vim-textobj-rubyblock b/.vim/pack/alpha/start/vim-textobj-rubyblock similarity index 100% rename from .vim/pack/kejadlen/start/vim-textobj-rubyblock rename to .vim/pack/alpha/start/vim-textobj-rubyblock diff --git a/.vim/pack/kejadlen/start/vim-textobj-user b/.vim/pack/alpha/start/vim-textobj-user similarity index 100% rename from .vim/pack/kejadlen/start/vim-textobj-user rename to .vim/pack/alpha/start/vim-textobj-user diff --git a/.vim/pack/kejadlen/start/vim-tmux-navigator b/.vim/pack/alpha/start/vim-tmux-navigator similarity index 100% rename from .vim/pack/kejadlen/start/vim-tmux-navigator rename to .vim/pack/alpha/start/vim-tmux-navigator diff --git a/.vim/pack/kejadlen/start/vim-unimpaired b/.vim/pack/alpha/start/vim-unimpaired similarity index 100% rename from .vim/pack/kejadlen/start/vim-unimpaired rename to .vim/pack/alpha/start/vim-unimpaired diff --git a/.vim/pack/kejadlen/start/vinegar b/.vim/pack/alpha/start/vim-vinegar similarity index 100% rename from .vim/pack/kejadlen/start/vinegar rename to .vim/pack/alpha/start/vim-vinegar diff --git a/.vim/pack/kejadlen/opt/vim-go b/.vim/pack/kejadlen/opt/vim-go deleted file mode 160000 index 362e15a..0000000 --- a/.vim/pack/kejadlen/opt/vim-go +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 362e15ab492853ff9582ea5856878e1a5b64ed18 diff --git a/.vim/pack/kejadlen/start/argtextobj.vim b/.vim/pack/kejadlen/start/argtextobj.vim deleted file mode 160000 index f3fbe42..0000000 --- a/.vim/pack/kejadlen/start/argtextobj.vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f3fbe427f7b4ec436416a5816d714dc917dc530b diff --git a/.vim/pack/kejadlen/start/camelcasemotion/.VimballRecord b/.vim/pack/kejadlen/start/camelcasemotion/.VimballRecord deleted file mode 100644 index bed3bef..0000000 --- a/.vim/pack/kejadlen/start/camelcasemotion/.VimballRecord +++ /dev/null @@ -1 +0,0 @@ -camelcasemotion.vba: call delete('/Users/alpha/.vim/bundle/camelcasemotion//autoload/camelcasemotion.vim')|call delete('/Users/alpha/.vim/bundle/camelcasemotion//plugin/camelcasemotion.vim')|call delete('/Users/alpha/.vim/bundle/camelcasemotion//doc/camelcasemotion.txt') diff --git a/.vim/pack/kejadlen/start/camelcasemotion/autoload/camelcasemotion.vim b/.vim/pack/kejadlen/start/camelcasemotion/autoload/camelcasemotion.vim deleted file mode 100644 index 41e26c9..0000000 --- a/.vim/pack/kejadlen/start/camelcasemotion/autoload/camelcasemotion.vim +++ /dev/null @@ -1,173 +0,0 @@ -" camelcasemotion.vim: Motion through CamelCaseWords and underscore_notation. -" -" DEPENDENCIES: -" - Requires Vim 7.0 or higher. -" -" Copyright: (C) 2007-2009 by Ingo Karkat -" The VIM LICENSE applies to this script; see ':help copyright'. -" -" Maintainer: Ingo Karkat -" REVISION DATE REMARKS -" 1.50.001 05-May-2009 Do not create mappings for select mode; -" according to|Select-mode|, printable character -" commands should delete the selection and insert -" the typed characters. -" Moved functions from plugin to separate autoload -" script. -" file creation - -"- functions ------------------------------------------------------------------" -function! s:Move( direction, count, mode ) - " Note: There is no inversion of the regular expression character class - " 'keyword character' (\k). We need an inversion "non-keyword" defined as - " "any non-whitespace character that is not a keyword character" (e.g. - " [!@#$%^&*()]). This can be specified via a non-whitespace character in - " whose place no keyword character matches (\k\@!\S). - - "echo "count is " . a:count - let l:i = 0 - while l:i < a:count - if a:direction == 'e' - " "Forward to end" motion. - "call search( '\>\|\(\a\|\d\)\+\ze_', 'We' ) - " end of ... - " number | ACRONYM followed by CamelCase or number | CamelCase | underscore_notation | non-keyword | word - call search( '\d\+\|\u\+\ze\%(\u\l\|\d\)\|\u\l\+\|\%(\a\|\d\)\+\ze_\|\%(\k\@!\S\)\+\|\%(_\@!\k\)\+\>', 'We' ) - " Note: word must be defined as '\k\>'; '\>' on its own somehow - " dominates over the previous branch. Plus, \k must exclude the - " underscore, or a trailing one will be incorrectly moved over: - " '\%(_\@!\k\)'. - if a:mode == 'o' - " Note: Special additional treatment for operator-pending mode - " "forward to end" motion. - " The difference between normal mode, operator-pending and visual - " mode is that in the latter two, the motion must go _past_ the - " final "word" character, so that all characters of the "word" are - " selected. This is done by appending a 'l' motion after the - " search for the next "word". - " - " In operator-pending mode, the 'l' motion only works properly - " at the end of the line (i.e. when the moved-over "word" is at - " the end of the line) when the 'l' motion is allowed to move - " over to the next line. Thus, the 'l' motion is added - " temporarily to the global 'whichwrap' setting. - " Without this, the motion would leave out the last character in - " the line. I've also experimented with temporarily setting - " "set virtualedit=onemore" , but that didn't work. - let l:save_ww = &whichwrap - set whichwrap+=l - normal! l - let &whichwrap = l:save_ww - endif - else - " Forward (a:direction == '') and backward (a:direction == 'b') - " motion. - - let l:direction = (a:direction == 'w' ? '' : a:direction) - - " CamelCase: Jump to beginning of either (start of word, Word, WORD, - " 123). - " Underscore_notation: Jump to the beginning of an underscore-separated - " word or number. - "call search( '\<\|\u', 'W' . l:direction ) - "call search( '\<\|\u\(\l\+\|\u\+\ze\u\)\|\d\+', 'W' . l:direction ) - "call search( '\<\|\u\(\l\+\|\u\+\ze\u\)\|\d\+\|_\zs\(\a\|\d\)\+', 'W' . l:direction ) - " beginning of ... - " word | empty line | non-keyword after whitespaces | non-whitespace after word | number | ACRONYM followed by CamelCase or number | CamelCase | underscore followed by ACRONYM, Camel, lowercase or number - call search( '\<\D\|^$\|\%(^\|\s\)\+\zs\k\@!\S\|\>\S\|\d\+\|\u\+\ze\%(\u\l\|\d\)\|\u\l\+\|_\zs\%(\u\+\|\u\l\+\|\l\+\|\d\+\)', 'W' . l:direction ) - " Note: word must be defined as '\<\D' to avoid that a word like - " 1234Test is moved over as [1][2]34[T]est instead of [1]234[T]est - " because \< matches with zero width, and \d\+ will then start - " matching '234'. To fix that, we make \d\+ be solely responsible - " for numbers by taken this away from \< via \<\D. (An alternative - " would be to replace \d\+ with \D\%#\zs\d\+, but that one is more - " complex.) All other branches are not affected, because they match - " multiple characters and not the same character multiple times. - endif - let l:i = l:i + 1 - endwhile -endfunction - -function! camelcasemotion#Motion( direction, count, mode ) -"******************************************************************************* -"* PURPOSE: -" Perform the motion over CamelCaseWords or underscore_notation. -"* ASSUMPTIONS / PRECONDITIONS: -" none -"* EFFECTS / POSTCONDITIONS: -" Move cursor / change selection. -"* INPUTS: -" a:direction one of 'w', 'b', 'e' -" a:count number of "words" to move over -" a:mode one of 'n', 'o', 'v', 'iv' (latter one is a special visual mode -" when inside the inner "word" text objects. -"* RETURN VALUES: -" none -"******************************************************************************* - " Visual mode needs special preparations and postprocessing; - " normal and operator-pending mode breeze through to s:Move(). - - if a:mode == 'v' - " Visual mode was left when calling this function. Reselecting the current - " selection returns to visual mode and allows to call search() and issue - " normal mode motions while staying in visual mode. - normal! gv - endif - if a:mode == 'v' || a:mode == 'iv' - - " Note_1a: - if &selection != 'exclusive' && a:direction == 'w' - normal! l - endif - endif - - call s:Move( a:direction, a:count, a:mode ) - - if a:mode == 'v' || a:mode == 'iv' - " Note: 'selection' setting. - if &selection == 'exclusive' && a:direction == 'e' - " When set to 'exclusive', the "forward to end" motion (',e') does not - " include the last character of the moved-over "word". To include that, an - " additional 'l' motion is appended to the motion; similar to the - " special treatment in operator-pending mode. - normal! l - elseif &selection != 'exclusive' && a:direction != 'e' - " Note_1b: - " The forward and backward motions move to the beginning of the next "word". - " When 'selection' is set to 'inclusive' or 'old', this is one character too far. - " The appended 'h' motion undoes this. Because of this backward step, - " though, the forward motion finds the current "word" again, and would - " be stuck on the current "word". An 'l' motion before the CamelCase - " motion (see Note_1a) fixes that. - normal! h - endif - endif -endfunction - -function! camelcasemotion#InnerMotion( direction, count ) - " If the cursor is positioned on the first character of a CamelWord, the - " backward motion would move to the previous word, which would result in a - " wrong selection. To fix this, first move the cursor to the right, so that - " the backward motion definitely will cover the current "word" under the - " cursor. - normal! l - - " Move "word" backwards, enter visual mode, then move "word" forward. This - " selects the inner "word" in visual mode; the operator-pending mode takes - " this selection as the area covered by the motion. - if a:direction == 'b' - " Do not do the selection backwards, because the backwards "word" motion - " in visual mode + selection=inclusive has an off-by-one error. - call camelcasemotion#Motion( 'b', a:count, 'n' ) - normal! v - " We decree that 'b' is the opposite of 'e', not 'w'. This makes more - " sense at the end of a line and for underscore_notation. - call camelcasemotion#Motion( 'e', a:count, 'iv' ) - else - call camelcasemotion#Motion( 'b', 1, 'n' ) - normal! v - call camelcasemotion#Motion( a:direction, a:count, 'iv' ) - endif -endfunction - -" vim: set sts=4 sw=4 noexpandtab ff=unix fdm=syntax : diff --git a/.vim/pack/kejadlen/start/camelcasemotion/doc/camelcasemotion.txt b/.vim/pack/kejadlen/start/camelcasemotion/doc/camelcasemotion.txt deleted file mode 100644 index 4fdf612..0000000 --- a/.vim/pack/kejadlen/start/camelcasemotion/doc/camelcasemotion.txt +++ /dev/null @@ -1,183 +0,0 @@ -*camelcasemotion.txt* Motion through CamelCaseWords and underscore_notation. - - CAMEL CASE MOTION by Ingo Karkat - *camelcasemotion.vim* -description |camelcasemotion-description| -usage |camelcasemotion-usage| -installation |camelcasemotion-installation| -configuration |camelcasemotion-configuration| -known problems |camelcasemotion-known-problems| -todo |camelcasemotion-todo| -history |camelcasemotion-history| - -============================================================================== -DESCRIPTION *camelcasemotion-description* - -Vim provides many built-in motions, e.g. to move to the next word, or end of -the current word. Most programming languages use either CamelCase -("anIdentifier") or underscore_notation ("an_identifier") naming conventions -for identifiers. The best way to navigate inside those identifiers using Vim -built-in motions is the [count]f{char} motion, i.e. f{uppercase-char} or f_, -respectively. But we can make this easier: - -This script defines motions|,w|,|,b| and|,e|(similar to |w|,|b|,|e|), which do -not move word-wise (forward/backward), but Camel-wise; i.e. to word boundaries -and uppercase letters. The motions also work on underscore notation, where -words are delimited by underscore ('_') characters. From here on, both -CamelCase and underscore_notation entities are referred to as "words" (in -double quotes). Just like with the regular motions, a [count] can be prepended -to move over multiple "words" at once. Outside of "words" (e.g. in non-keyword -characters like // or ;), the new motions move just like the regular motions. - -Vim provides a built-in|iw|text object called 'inner word', which works in -operator-pending and visual mode. Analog to that, this script defines inner -"word" motions |i,w|,|i,b| and|i,e|, which select the "word" (or multiple -"words" if a [count] is given) where the cursor is located. - -============================================================================== -USAGE *camelcasemotion-usage* - *,w* *,b* *,e* -Use the new motions|,w|,|,b| and|,e| in normal mode, operator-pending mode -(cp.|operator|), and visual mode. For example, type 'bc,w' to change 'Camel' -in 'CamelCase' to something else. - - -EXAMPLE: motions -Given the following CamelCase identifiers in a source code fragment: - set Script31337PathAndNameWithoutExtension11=%~dpn0 ~ - set Script31337PathANDNameWITHOUTExtension11=%~dpn0 ~ -and the corresponding identifiers in underscore_notation: - set script_31337_path_and_name_without_extension_11=%~dpn0 ~ - set SCRIPT_31337_PATH_AND_NAME_WITHOUT_EXTENSION_11=%~dpn0 ~ - -,w moves to ([x] is cursor position): [s]et, [s]cript, [3]1337, [p]ath, - [a]nd, [n]ame, [w]ithout, [e]xtension, [1]1, [d]pn0, dpn[0], [s]et -,b moves to: [d]pn0, [1]1, [e]xtension, [w]ithout, ... -,e moves to: se[t], scrip[t], 3133[7], pat[h], an[d], nam[e], withou[t], - extensio[n], 1[1], dpn[0] - - -EXAMPLE: inner motions -Given the following identifier, with the cursor positioned at [x]: - script_31337_path_and_na[m]e_without_extension_11 ~ - -v3i,w selects script_31337_path_and_[name_without_extension_]11 -v3i,b selects script_31337_[path_and_name]_without_extension_11 -v3i,e selects script_31337_path_and_[name_without_extension]_11 -Instead of visual mode, you can also use c3i,w to change, d3i,w to delete, -gU3i,w to upper-case, and so on. - -============================================================================== -INSTALLATION *camelcasemotion-installation* - -This script is packaged as a|vimball|. If you have the "gunzip" decompressor -in your PATH, simply edit the *.vba.gz package in Vim; otherwise, decompress -the archive first, e.g. using WinZip. Inside Vim, install by sourcing the -vimball or via the|:UseVimball|command. > - vim camelcasemotion.vba.gz - :so % -To uninstall, use the|:RmVimball|command. - -DEPENDENCIES *camelcasemotion-dependencies* - -- Requires Vim 7.0 or higher. - -============================================================================== -CONFIGURATION *camelcasemotion-configuration* - -If you want to use different mappings, map your keys to the -CamelCaseMotion_? mapping targets _before_ sourcing this script (e.g. in -your|vimrc|). - -EXAMPLE: Replace the default|w|,|b| and|e| mappings instead of defining -additional mappings|,w|,|,b| and|,e|: > - map w CamelCaseMotion_w - map b CamelCaseMotion_b - map e CamelCaseMotion_e - sunmap w - sunmap b - sunmap e - -EXAMPLE: Replace default|iw|text-object and define|ib|and |ie|motions: > - omap iw CamelCaseMotion_iw - xmap iw CamelCaseMotion_iw - omap ib CamelCaseMotion_ib - xmap ib CamelCaseMotion_ib - omap ie CamelCaseMotion_ie - xmap ie CamelCaseMotion_ie - -============================================================================== -KNOWN PROBLEMS *camelcasemotion-known-problems* - -- A degenerate CamelCaseWord containing '\U\u\d' (e.g. "MaP1Roblem") confuses - the operator-pending and visual mode ,e mapping if 'selection' is not set to - "exclusive". It'll skip "P" and select "P1" in one step. As a workaround, - use ',w' instead of ',e'; those two mappings have the same effect inside - CamelCaseWords, anyway. -- The operator-pending and visual mode ,e mapping doesn't work properly when - it reaches the end of the buffer; the final character of the moved-over - "word" remains. As a workaround, use the default 'e' motion instead of ',e'. -- When the Vim setting 'selection' is not set to "exclusive", a - forward-backward combination in visual mode (e.g. 'v,w,b') selects one - additional character to the left, instead of only the character where the - motion started. Likewise, extension of the visual selection from the front - end is off by one additional character. - -============================================================================== -TODO *camelcasemotion-todo* - -============================================================================== -HISTORY *camelcasemotion-history* - -1.50 05-May-2009 -- Do not create mappings for select mode; according to|Select-mode|, printable - character commands should delete the selection and insert the typed - characters. Now using :xmap to only target visual mode. -- Moved functions from plugin to separate autoload script. -- Split off documentation into separate help file. - -1.40 30-Jun-2008 -BF: Now using :normal! to be independent from any user mappings. Thanks to -Neil Walker for the patch. - -1.40 19-May-2008 -BF: Wrong forward motion stop at the second digit if a word starts with -multiple numbers (e.g. 1234.56789). Thanks to Wasim Ahmed for reporting this. - -1.40 24-Apr-2008 -ENH: Added inner "word" text objects 'i,w' etc. that work analoguous to the -built-in |iw| text object. Thanks to David Kotchan for this suggestion. - -1.30 20-Apr-2008 -The motions now also stop at non-keyword boundaries, just like the regular -motions. This has no effect inside a CamelCaseWord or inside -underscore_notation, but it makes the motions behave like the regular motions -(which is important if you replace the default motions). Thanks to Mun Johl -for reporting this. - -1.30 09-Apr-2008 -- Allowing users to use mappings different than ,w ,b ,e by defining - CamelCaseMotion_? target mappings. This can even be used to replace - the default 'w', 'b' and 'e' mappings, as suggested by Mun Johl. -- Now requires VIM 7.0 or higher. - -1.20 29-May-2007 -ENH: The visual mode motions now also (mostly) work with the (default) setting -'set selection=inclusive', instead of selecting one character too much. - -1.10 28-May-2007 -Incorporated major improvements and simplifications done by Joseph Barker. - -1.00 22-May-2007 -First published version. - -0.01 11-Oct-2005 -Started development based on vimtip #1016 by Anthony Van Ham. - -============================================================================== -Copyright: (C) 2007-2009 by Ingo Karkat -The VIM LICENSE applies to this script; see|copyright|. - -Maintainer: Ingo Karkat -============================================================================== - vim:tw=78:ts=8:ft=help:norl: diff --git a/.vim/pack/kejadlen/start/camelcasemotion/doc/tags b/.vim/pack/kejadlen/start/camelcasemotion/doc/tags deleted file mode 100644 index 5d466c1..0000000 --- a/.vim/pack/kejadlen/start/camelcasemotion/doc/tags +++ /dev/null @@ -1,13 +0,0 @@ -,b camelcasemotion.txt /*,b* -,e camelcasemotion.txt /*,e* -,w camelcasemotion.txt /*,w* -camelcasemotion-configuration camelcasemotion.txt /*camelcasemotion-configuration* -camelcasemotion-dependencies camelcasemotion.txt /*camelcasemotion-dependencies* -camelcasemotion-description camelcasemotion.txt /*camelcasemotion-description* -camelcasemotion-history camelcasemotion.txt /*camelcasemotion-history* -camelcasemotion-installation camelcasemotion.txt /*camelcasemotion-installation* -camelcasemotion-known-problems camelcasemotion.txt /*camelcasemotion-known-problems* -camelcasemotion-todo camelcasemotion.txt /*camelcasemotion-todo* -camelcasemotion-usage camelcasemotion.txt /*camelcasemotion-usage* -camelcasemotion.txt camelcasemotion.txt /*camelcasemotion.txt* -camelcasemotion.vim camelcasemotion.txt /*camelcasemotion.vim* diff --git a/.vim/pack/kejadlen/start/camelcasemotion/plugin/camelcasemotion.vim b/.vim/pack/kejadlen/start/camelcasemotion/plugin/camelcasemotion.vim deleted file mode 100644 index b996af2..0000000 --- a/.vim/pack/kejadlen/start/camelcasemotion/plugin/camelcasemotion.vim +++ /dev/null @@ -1,204 +0,0 @@ -" camelcasemotion.vim: Motion through CamelCaseWords and underscore_notation. -" -" DEPENDENCIES: -" - Requires Vim 7.0 or higher. -" -" Copyright: (C) 2007-2009 by Ingo Karkat -" The VIM LICENSE applies to this script; see ':help copyright'. -" -" Source: Based on vimtip #1016 by Anthony Van Ham. -" Maintainer: Ingo Karkat -" REVISION DATE REMARKS -" 1.50.019 05-May-2009 Do not create mappings for select mode; -" according to|Select-mode|, printable character -" commands should delete the selection and insert -" the typed characters. -" Moved functions from plugin to separate autoload -" script. -" Split off documentation into separate help file. -" Now cleaning up Create...Mappings functions. -" 1.40.018 30-Jun-2008 Minor: Removed unnecessary