[vim] reset config

pull/28/head
Alpha Chen 8 years ago
parent 162db2b5f5
commit 686cb54f5e

145
.gitmodules vendored

@ -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

@ -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

@ -1,4 +0,0 @@
setlocal tabstop=4
setlocal softtabstop=4
setlocal shiftwidth=4
setlocal noexpandtab

@ -1 +0,0 @@
setlocal noexpandtab

@ -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"

@ -1,4 +0,0 @@
setlocal tabstop=4
setlocal softtabstop=4
setlocal shiftwidth=4
setlocal noexpandtab

@ -1,5 +0,0 @@
setlocal tabstop=2
setlocal softtabstop=2
setlocal shiftwidth=2
setlocal expandtab
setlocal commentstring=//\ %s

@ -1,4 +0,0 @@
setlocal tabstop=4
setlocal softtabstop=4
setlocal shiftwidth=4
" setlocal nosmartindent

@ -1,2 +1,2 @@
setlocal foldmethod=syntax
setlocal foldlevelstart=5
highlight rubyDefine ctermbg=235
set foldmethod=syntax

@ -1 +0,0 @@
setlocal foldmethod=syntax

@ -1 +0,0 @@
setlocal noexpandtab

@ -1 +0,0 @@
nmap <leader><space> <Plug>VimwikiToggleListItem

@ -1 +0,0 @@
au BufRead,BufNewFile *.applescript setf applescript

@ -1 +0,0 @@
au BufRead,BufNewFile *.bats setf sh

@ -0,0 +1 @@
autocmd BufRead,BufNewFile *.md setlocal spell

@ -1 +0,0 @@
au BufRead,BufNewFile *.scad setf openscad

@ -1 +0,0 @@
au BufRead,BufNewFile *.rl setf ragel

@ -0,0 +1 @@
Subproject commit d5655263af8b3611a2bcb907a9963831a88d154b

@ -0,0 +1 @@
Subproject commit 96510b067e57bbfc9f0da0697f61c7d30ee6477f

@ -1 +0,0 @@
Subproject commit 362e15ab492853ff9582ea5856878e1a5b64ed18

@ -1 +0,0 @@
Subproject commit f3fbe427f7b4ec436416a5816d714dc917dc530b

@ -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')

@ -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 <ingo@karkat.de>
" 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 :

@ -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
<Plug>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 <silent> w <Plug>CamelCaseMotion_w
map <silent> b <Plug>CamelCaseMotion_b
map <silent> e <Plug>CamelCaseMotion_e
sunmap w
sunmap b
sunmap e
EXAMPLE: Replace default|iw|text-object and define|ib|and |ie|motions: >
omap <silent> iw <Plug>CamelCaseMotion_iw
xmap <silent> iw <Plug>CamelCaseMotion_iw
omap <silent> ib <Plug>CamelCaseMotion_ib
xmap <silent> ib <Plug>CamelCaseMotion_ib
omap <silent> ie <Plug>CamelCaseMotion_ie
xmap <silent> ie <Plug>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
<Plug>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 <ingo@karkat.de>
==============================================================================
vim:tw=78:ts=8:ft=help:norl:

@ -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*

@ -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 <ingo@karkat.de>
" 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 <script> from
" mappings.
" 1.40.017 19-May-2008 BF: Now using :normal! to be independent from
" any user mappings. Thanks to Neil Walker for the
" patch.
" 1.40.016 28-Apr-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.015 24-Apr-2008 ENH: Added inner "word" text objects 'i,w' etc.
" that work analogous to the built-in 'iw' text
" object. Thanks to David Kotchan for this
" suggestion.
" 1.30.014 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.
" Now using non-capturing parentheses \%() in the
" patterns.
" 1.30.013 09-Apr-2008 Refactored away s:VisualCamelCaseMotion().
" Allowing users to use mappings different than
" ,w ,b ,e by defining <Plug>CamelCaseMotion_?
" target mappings. This can even be used to
" replace the default 'w', 'b' and 'e' mappings,
" as suggested by Mun Johl.
" Mappings are now created in a generic function.
" Now requires Vim 7.0 or higher.
" 1.20.012 02-Jun-2007 BF: Corrected motions through mixed
" CamelCase_and_UnderScore words by re-ordering
" and narrowing the search patterns.
" 1.20.011 02-Jun-2007 Thanks again to Joseph Barker for discussing the
" complicated visual mode mapping on the vim-dev
" mailing list and coming up with a great
" simplification:
" Removed s:CheckForChangesToTheSelectionSetting().
" Introduced s:VisualCamelCaseMotion(), which
" handles the differences depending on the
" 'selection' setting.
" Visual mode mappings now directly map to the
" s:VisualCamelCaseMotion() function; no mark is
" clobbered, the complex mapping with the inline
" expression has been retired.
" 1.20.010 29-May-2007 BF: The operator-pending and visual mode ,e
" mapping doesn't work properly when it reaches
" the end of line; the final character of the
" moved-over "word" remains. Fixed this problem
" unless the "word" is at the very end of the
" buffer.
" ENH: The visual mode motions now also (mostly)
" work with the (default) setting
" 'set selection=inclusive', instead of selecting
" one character too much.
" ENH: All mappings will check for changes to the
" 'selection' setting and remap the visual mode
" mappings via function
" s:SetupVisualModeMappings(). We cannot rely on
" the setting while sourcing camelcasemotion.vim
" because the mswin.vim script may be sourced
" afterwards, and its 'behave mswin' changes
" 'selection'.
" Refactored the arguments of function
" s:CamelCaseMotion(...).
" 1.10.009 28-May-2007 BF: Degenerate CamelCaseWords that consist of
" only a single uppercase letter (e.g. "P" in
" "MapPRoblem") are skipped by all motions. Thanks
" to Joseph Barker for reporting this.
" BF: In CamelCaseWords that consist of uppercase
" letters followed by decimals (e.g.
" "MyUPPER123Problem", the uppercase "word" is
" skipped by all motions.
" 1.10.008 28-May-2007 Incorporated major improvements and
" simplifications done by Joseph Barker:
" Operator-pending and visual mode motions now
" accept [count] of more than 9.
" Visual selections can now be extended from
" either end.
" Instead of misusing the :[range], the special
" variable v:count1 is used. Custom commands are
" not needed anymore.
" Operator-pending and visual mode mappings are
" now generic: There's only a single mapping for
" ,w that can be repeated, rather than having a
" separate mapping for 1,w 2,w 3,w ...
" 1.00.007 22-May-2007 Added documentation for publication.
" 006 20-May-2007 BF: visual mode [1,2,3],e on pure CamelCase
" mistakenly marks [2,4,6] words. If the cursor is
" on a uppercase letter, the search pattern
" '\u\l\+' doesn't match at the cursor position,
" so another match won. Changed search pattern
" from '\l\+',
" 005 16-May-2007 Added support for underscore notation.
" Added support for "forward to end of word"
" (',e') motion.
" 004 16-May-2007 Improved search pattern so that
" UppercaseWORDSInBetween and digits are handled,
" too.
" 003 15-May-2007 Changed mappings from <Leader>w to ,w;
" other \w mappings interfere here, because it's
" irritating when the cursor jump doesn't happen
" immediately, because Vim waits whether the
" mapping is complete. ,w is faster to type that
" \w (and, because of the left-right touch,
" preferred over gw).
" Added visual mode mappings.
" 0.02 15-Feb-2006 BF: missing <SID> for omaps.
" 0.01 11-Oct-2005 file creation
" Avoid installing twice or when in compatible mode
if exists('g:loaded_camelcasemotion') || (v:version < 700)
finish
endif
let g:loaded_camelcasemotion = 1
"- mappings -------------------------------------------------------------------
" The count is passed into the function through the special variable 'v:count1',
" which is easier than misusing the :[range] that :call supports.
" <C-U> is used to delete the unused range.
" Another option would be to use a custom 'command! -count=1', but that doesn't
" work with the normal mode mapping: When a count is typed before the mapping,
" the ':' will convert a count of 3 into ':.,+2MyCommand', but ':3MyCommand'
" would be required to use -count and <count>.
"
" We do not provide the fourth "backward to end" motion (,E), because it is
" seldomly used.
function! s:CreateMotionMappings()
" Create mappings according to this template:
" (* stands for the mode [nov], ? for the underlying motion [wbe].)
"
" *noremap <Plug>CamelCaseMotion_? :<C-U>call camelcasemotion#Motion('?',v:count1,'*')<CR>
" if ! hasmapto('<Plug>CamelCaseMotion_?', '*')
" *map <silent> ,? <Plug>CamelCaseMotion_?
" endif
for l:mode in ['n', 'o', 'v']
for l:motion in ['w', 'b', 'e']
let l:targetMapping = '<Plug>CamelCaseMotion_' . l:motion
execute l:mode . 'noremap ' . l:targetMapping . ' :<C-U>call camelcasemotion#Motion(''' . l:motion . ''',v:count1,''' . l:mode . ''')<CR>'
if ! hasmapto(l:targetMapping, l:mode)
execute (l:mode ==# 'v' ? 'x' : l:mode) . 'map <silent> ,' . l:motion . ' ' . l:targetMapping
endif
endfor
endfor
endfunction
" To create a text motion, a mapping for operator-pending mode needs to be
" defined. This mapping should move the cursor according to the implemented
" motion, or mark the covered text via a visual selection. As inner text motions
" need to mark both to the left and right of the cursor position, the visual
" selection needs to be used.
"
" Vim's built-in inner text objects also work in visual mode; they have
" different behavior depending on whether visual mode has just been entered or
" whether text has already been selected.
" We deviate from that and always override the existing selection.
function! s:CreateInnerMotionMappings()
" Create mappings according to this template:
" (* stands for the mode [ov], ? for the underlying motion [wbe].)
"
" *noremap <Plug>CamelCaseMotion_i? :<C-U>call camelcasemotion#InnerMotion('?',v:count1)<CR>
" if ! hasmapto('<Plug>CamelCaseInnerMotion_i?', '*')
" *map <silent> i,? <Plug>CamelCaseInnerMotion_i?
" endif
for l:mode in ['o', 'v']
for l:motion in ['w', 'b', 'e']
let l:targetMapping = '<Plug>CamelCaseMotion_i' . l:motion
execute l:mode . 'noremap ' . l:targetMapping . ' :<C-U>call camelcasemotion#InnerMotion(''' . l:motion . ''',v:count1)<CR>'
if ! hasmapto(l:targetMapping, l:mode)
execute (l:mode ==# 'v' ? 'x' : l:mode) . 'map <silent> i,' . l:motion . ' ' . l:targetMapping
endif
endfor
endfor
endfunction
call s:CreateMotionMappings()
call s:CreateInnerMotionMappings()
delfunction s:CreateMotionMappings
delfunction s:CreateInnerMotionMappings
" vim: set sts=4 sw=4 noexpandtab ff=unix fdm=syntax :

@ -1 +0,0 @@
Subproject commit 7fa89fec125ce60a341f7c37dd769a8a31c49359

@ -1 +0,0 @@
Subproject commit b47d013d1fdfecc9e19df8034439b8e379813696

@ -1 +0,0 @@
Subproject commit b4f3624d01ffdfd7bdcd2e19128fffe768fe6262

@ -1 +0,0 @@
../../src/swift/utils/vim

@ -1 +0,0 @@
Subproject commit 00e1e7fcdbc6d753e0bc8043e0d2546fa81bf367

@ -1 +0,0 @@
Subproject commit aace5c23d812a205c93e87ff79df72d9366928df

@ -1 +0,0 @@
Subproject commit 0ed0e734cd58873f842ff581d5c746463788bd4a

@ -1 +0,0 @@
Subproject commit 87c1bda4d5573185a1f79c42a919c4b62bc34c42

@ -1 +0,0 @@
Subproject commit 1d3e4aac0117d57c3e1aaaa7e5a99f1d7553e01b

@ -1 +0,0 @@
Subproject commit cf4f2f013d493ca1bfe612e200ecd77ce51fbd3d

@ -1 +0,0 @@
Subproject commit 82ad45543f0d13dfa7d3f59ca4cd54d0e145417f

@ -1 +0,0 @@
Subproject commit b689ee4276d82feb21b21661a6500755ff6b2fde

@ -1 +0,0 @@
Subproject commit 4a03334baf5be506c01eb441dc0a166cee61c057

@ -1 +0,0 @@
Subproject commit 2e89a6ec2b34d55bf3b85a3df863da5156bce2d5

@ -1 +0,0 @@
Subproject commit 0a78169a33c7ea7718b9fa0fad63c11c04727291

265
.vimrc

@ -1,12 +1,7 @@
set nocompatible
if filereadable(glob("~/.vimrc.before"))
source ~/.vimrc.before
endif
""" mappings
""" Mappings
let mapleader="\<Space>"
noremap <up> <nop>
noremap <down> <nop>
noremap <left> <nop>
@ -14,96 +9,35 @@ noremap <right> <nop>
nnoremap ' `
nnoremap ` '
" nnoremap \ ,
nnoremap Y y$
nnoremap <leader>/ :noh<cr>
" nnoremap gt :exec tabpagenr('$') == 1 ? 'bn' : 'tabnext'<cr>
" nnoremap gT :exec tabpagenr('$') == 1 ? 'bp' : 'tabprevious'<cr>
" nnoremap <C-n> :exec tabpagenr('$') == 1 ? 'bn' : 'tabnext'<cr>
" nnoremap <C-p> :exec tabpagenr('$') == 1 ? 'bp' : 'tabprevious'<cr>
cnoremap w!! w !sudo tee % > /dev/null
" inoremap <bs> <nop>
inoremap <esc> <nop>
inoremap <C-c> <esc>
inoremap <C-[> <esc>
" inoremap jk <esc>
command W w
nnoremap <C-h> <C-w><C-h>
nnoremap <C-j> <C-w><C-j>
nnoremap <C-k> <C-w><C-k>
nnoremap <C-l> <C-w><C-l>
nnoremap <leader>/ :nohlsearch<cr>
" don't unindent lines starting with #
inoremap # X#
" don't change the cursor position when joining lines
" nnoremap J mzJ`z
""" Commands
""" buffers
set undolevels=1000
set wildmode=list:longest,full
set hidden
""" Display
" programming
syntax enable
set number
set ttyfast
set lazyredraw
set modelines=1
" has to go after syntax enable
let g:solarized_termcolors=256
set background=dark
colorscheme solarized
set background=dark
highlight Normal ctermbg=235
highlight rubyDefine ctermbg=235
set noshowmode
" has to go after solarized
highlight LongLine term=reverse cterm=reverse ctermfg=1 guifg=Black guibg=Yellow
match LongLine /\%101v./
" searching
set gdefault
set hlsearch
set ignorecase
set smartcase
" incsearch.vim
augroup incsearch-keymap
autocmd!
autocmd VimEnter * call s:incsearch_keymap()
augroup END
function! s:incsearch_keymap()
IncSearchNoreMap <C-f> <Right>
IncSearchNoreMap <C-b> <Left>
endfunction
let g:incsearch#auto_nohlsearch = 1
let g:incsearch#consistent_n_direction = 1
let g:incsearch#magic = '\v'
let g:incsearch#emacs_like_keymap = 1
map / <Plug>(incsearch-forward)
map ? <Plug>(incsearch-backward)
map g/ <Plug>(incsearch-stay)
map n <Plug>(incsearch-nohl-n)
map N <Plug>(incsearch-nohl-N)
map * <Plug>(incsearch-nohl-*)
map # <Plug>(incsearch-nohl-#)
map g* <Plug>(incsearch-nohl-g*)
map g# <Plug>(incsearch-nohl-g#)
" encoding
set encoding=utf8
set fileencoding=utf8
set fileformat=unix
" highlight LongLine term=reverse cterm=reverse ctermfg=1 guifg=Black guibg=Yellow
" match LongLine /\%101v./
" reading
set foldlevelstart=4
set linebreak
set autoread
" set ttyfast
set list
let &listchars = "tab:\u21e5 ,trail:\u2423,extends:\u21c9,precedes:\u21c7,nbsp:\u00b7"
" autogroups
let &listchars="tab:\u21e5 ,trail:\u2423,extends:\u21c9,precedes:\u21c7,nbsp:\u00b7"
set number
" set ttyfast
set splitbelow
set splitright
augroup CursorLine
au!
@ -111,128 +45,95 @@ augroup CursorLine
au WinLeave * setlocal nocursorline
augroup END
if v:version >= 700
augroup BufferScrolling
au!
au BufLeave * if !&diff | let b:winview = winsaveview() | endif
au BufEnter * if exists('b:winview') && !&diff | call winrestview(b:winview) | unlet! b:winview | endif
augroup END
endif
" folding
" set foldmethod=indent
" set foldlevel=3
" set nofoldenable
" view
set viewdir=$HOME/.vim_view//
" " au BufWinLeave ?* mkview
" au BufWritePost,BufLeave,WinLeave ?* mkview " for tabs
" au BufWinEnter ?* silent loadview
""" Editing
" jump to last cursor position when opening a file
autocmd BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g'\"" |
\ endif
" diffing
set diffopt=filler,context:5
set noesckeys
set virtualedit=block
" command mode
set undolevels=1000
set wildmode=list:longest
function! RestoreCursor()
if line("'\"") <= line("$")
normal! g`"zz
return 1
endif
endfunction
" backup
set nobackup
" set backupdir=$HOME/.vim_backup//
set directory=$HOME/.vim_tmp//
augroup RestoreCursor
autocmd!
autocmd BufWinEnter * call RestoreCursor()
augroup END
" shell
" set title
" set titleold=
""" GUI
" customize syntax highlighting
" highlight MatchParen ctermbg=
" highlight MatchParen cterm=bold ctermbg=none ctermfg=none
" highlight Folded ctermfg=1 ctermbg=NONE
" highlight FoldColumn ctermfg=1 ctermbg=NONE
highlight clear Search
" highlight Search ctermfg=6 ctermbg=9 term=underline cterm=underline gui=underline
if has("gui_running")
set background=light
set wildignore+=*.pyc,*/bower_components/*,*/python2.7/*,*/share/doc/*,*/target/*
" causes flickering in the terminal for some reason
set macligatures
end
set guicursor+=a:blinkon0 " disable blinking
set guifont=Source\ Code\ Pro\ for\ Powerline:h13
set guioptions-=T
set macmeta
set mousehide
" blessed silence
set visualbell
" set t_vb
""" Persistence
" move into blank spaces in visual block mode
set virtualedit=block
set directory=~/.vim_tmp
set encoding=utf8
set fileencoding=utf8
set fileformat=unix
set nobackup
set undodir=~/.vim_undo
set undofile
" splits
set splitbelow
set splitright
""" Search
" http://stackoverflow.com/questions/2158516/delay-before-o-opens-a-new-line
set noesckeys
set gdefault
set hlsearch
set smartcase
" scratch
noremap <leader>s :Scratch<cr>
let g:scratchBackupFile='$HOME/.vim/.scratch'
""" Plugins
" CtrlP
let g:ctrlp_map = '<leader>p'
let g:ctrlp_match_window='bottom,order:btt,min:1,max:20'
let g:ctrlp_working_path_mode='ra'
let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard']
" incsearch
let g:incsearch#auto_nohlsearch = 1
map / <Plug>(incsearch-forward)
map ? <Plug>(incsearch-backward)
map g/ <Plug>(incsearch-stay)
map n <Plug>(incsearch-nohl-n)
map N <Plug>(incsearch-nohl-N)
map * <Plug>(incsearch-nohl-*)
map # <Plug>(incsearch-nohl-#)
map g* <Plug>(incsearch-nohl-g*)
map g# <Plug>(incsearch-nohl-g#)
" Powerline
python from powerline.vim import setup as powerline_setup
python powerline_setup()
python del powerline_setup
" vim-projectionist
nnoremap <leader>a :A<cr>
" rust.vim
" let g:rustfmt_autosave = 1
" vim-markdown
let g:markdown_fenced_languages = ['ruby']
" vim-go
if !empty($GOPATH)
packadd vim-go
endif
" Expand %% into the directory of the current file
cnoremap <expr> %% getcmdtype() == ':' ? expand('%:h').'/' : '%%'
" ripgrep
if executable('rg')
set grepprg=rg\ --no-heading\ --vimgrep
set grepformat=%f:%l:%c:%m
endif
" vim-dispatch
nnoremap <leader>d :Dispatch<CR>
" vim-startify
let g:startify_custom_header = []
if has("gui_running")
set background=light
set guicursor+=a:blinkon0 " disable blinking
set guifont=Source\ Code\ Pro\ for\ Powerline:h13
set guioptions-=T
set macligatures
set macmeta
set mousehide
end
set undofile
set undodir=$HOME/.vim_undo//
""" Selecta
" Run a given vim command on the results of fuzzy selecting from a given shell
" command. See usage below.
function! SelectaCommand(choice_command, selecta_args, vim_command)
try
let selection = system(a:choice_command . " | selecta " . a:selecta_args)
catch /Vim:Interrupt/
" Swallow the ^C so that the redraw below happens; otherwise there will be
" leftovers from selecta on the screen
redraw!
return
endtry
redraw!
exec a:vim_command . " " . selection
endfunction
if filereadable(glob("~/.vimrc.local"))
source ~/.vimrc.local
endif
" Find all files in all non-dot directories starting in the working directory.
" Fuzzy select one of those. Open the selected file with :e.
nnoremap <leader>f :call SelectaCommand("find * -type f", "", ":e")<cr>

@ -1 +0,0 @@
Subproject commit cca7dcab524ea90e85dc3cfae985b3bbb01a5e11
Loading…
Cancel
Save