From: Ben Beltran Date: Wed, 5 Jun 2013 14:04:29 +0000 (-0500) Subject: Move EasyMotion and LargeFile to pathogen bundle X-Git-Url: https://git.r.bdr.sh/rbdr/dotfiles/commitdiff_plain/547f6d2a3743174ff385ba239665b5de1964a043 Move EasyMotion and LargeFile to pathogen bundle --- diff --git a/.gitmodules b/.gitmodules index ab37167..c5abb8d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,8 +4,16 @@ [submodule "ctrlp"] path = vim/bundle/ctrlp.vim - url = https://github.com/kien/ctrlp.vim.git + url = git://github.com/kien/ctrlp.vim.git [submodule "vim-json"] path = vim/bundle/vim-json - url = https://github.com/elzr/vim-json.git + url = git://github.com/elzr/vim-json.git + +[submodule "vim-easymotion"] + path = vim/bundle/vim-easymotion + url = git://github.com/Lokaltog/vim-easymotion.git + +[submodule "LargeFile"] + path = vim/bundle/LargeFile + url = git://github.com/vim-scripts/LargeFile.git diff --git a/vim/autoload/EasyMotion.vim b/vim/autoload/EasyMotion.vim deleted file mode 100755 index 7c79dd8..0000000 --- a/vim/autoload/EasyMotion.vim +++ /dev/null @@ -1,573 +0,0 @@ -" EasyMotion - Vim motions on speed! -" -" Author: Kim Silkebækken -" Source repository: https://github.com/Lokaltog/vim-easymotion - -" Default configuration functions {{{ - function! EasyMotion#InitOptions(options) " {{{ - for [key, value] in items(a:options) - if ! exists('g:EasyMotion_' . key) - exec 'let g:EasyMotion_' . key . ' = ' . string(value) - endif - endfor - endfunction " }}} - function! EasyMotion#InitHL(group, colors) " {{{ - let group_default = a:group . 'Default' - - " Prepare highlighting variables - let guihl = printf('guibg=%s guifg=%s gui=%s', a:colors.gui[0], a:colors.gui[1], a:colors.gui[2]) - if !exists('g:CSApprox_loaded') - let ctermhl = &t_Co == 256 - \ ? printf('ctermbg=%s ctermfg=%s cterm=%s', a:colors.cterm256[0], a:colors.cterm256[1], a:colors.cterm256[2]) - \ : printf('ctermbg=%s ctermfg=%s cterm=%s', a:colors.cterm[0], a:colors.cterm[1], a:colors.cterm[2]) - else - let ctermhl = '' - endif - - " Create default highlighting group - execute printf('hi default %s %s %s', group_default, guihl, ctermhl) - - " Check if the hl group exists - if hlexists(a:group) - redir => hlstatus | exec 'silent hi ' . a:group | redir END - - " Return if the group isn't cleared - if hlstatus !~ 'cleared' - return - endif - endif - - " No colors are defined for this group, link to defaults - execute printf('hi default link %s %s', a:group, group_default) - endfunction " }}} - function! EasyMotion#InitMappings(motions) "{{{ - for motion in keys(a:motions) - call EasyMotion#InitOptions({ 'mapping_' . motion : g:EasyMotion_leader_key . motion }) - endfor - - if g:EasyMotion_do_mapping - for [motion, fn] in items(a:motions) - if empty(g:EasyMotion_mapping_{motion}) - continue - endif - - silent exec 'nnoremap ' . g:EasyMotion_mapping_{motion} . ' :call EasyMotion#' . fn.name . '(0, ' . fn.dir . ')' - silent exec 'onoremap ' . g:EasyMotion_mapping_{motion} . ' :call EasyMotion#' . fn.name . '(0, ' . fn.dir . ')' - silent exec 'vnoremap ' . g:EasyMotion_mapping_{motion} . ' :call EasyMotion#' . fn.name . '(1, ' . fn.dir . ')' - endfor - endif - endfunction "}}} -" }}} -" Motion functions {{{ - function! EasyMotion#F(visualmode, direction) " {{{ - let char = s:GetSearchChar(a:visualmode) - - if empty(char) - return - endif - - let re = '\C' . escape(char, '.$^~') - - call s:EasyMotion(re, a:direction, a:visualmode ? visualmode() : '', mode(1)) - endfunction " }}} - function! EasyMotion#T(visualmode, direction) " {{{ - let char = s:GetSearchChar(a:visualmode) - - if empty(char) - return - endif - - if a:direction == 1 - let re = '\C' . escape(char, '.$^~') . '\zs.' - else - let re = '\C.' . escape(char, '.$^~') - endif - - call s:EasyMotion(re, a:direction, a:visualmode ? visualmode() : '', mode(1)) - endfunction " }}} - function! EasyMotion#WB(visualmode, direction) " {{{ - call s:EasyMotion('\(\<.\|^$\)', a:direction, a:visualmode ? visualmode() : '', '') - endfunction " }}} - function! EasyMotion#WBW(visualmode, direction) " {{{ - call s:EasyMotion('\(\(^\|\s\)\@<=\S\|^$\)', a:direction, a:visualmode ? visualmode() : '', '') - endfunction " }}} - function! EasyMotion#E(visualmode, direction) " {{{ - call s:EasyMotion('\(.\>\|^$\)', a:direction, a:visualmode ? visualmode() : '', mode(1)) - endfunction " }}} - function! EasyMotion#EW(visualmode, direction) " {{{ - call s:EasyMotion('\(\S\(\s\|$\)\|^$\)', a:direction, a:visualmode ? visualmode() : '', mode(1)) - endfunction " }}} - function! EasyMotion#JK(visualmode, direction) " {{{ - call s:EasyMotion('^\(\w\|\s*\zs\|$\)', a:direction, a:visualmode ? visualmode() : '', '') - endfunction " }}} - function! EasyMotion#Search(visualmode, direction) " {{{ - call s:EasyMotion(@/, a:direction, a:visualmode ? visualmode() : '', '') - endfunction " }}} -" }}} -" Helper functions {{{ - function! s:Message(message) " {{{ - echo 'EasyMotion: ' . a:message - endfunction " }}} - function! s:Prompt(message) " {{{ - echohl Question - echo a:message . ': ' - echohl None - endfunction " }}} - function! s:VarReset(var, ...) " {{{ - if ! exists('s:var_reset') - let s:var_reset = {} - endif - - let buf = bufname("") - - if a:0 == 0 && has_key(s:var_reset, a:var) - " Reset var to original value - call setbufvar(buf, a:var, s:var_reset[a:var]) - elseif a:0 == 1 - let new_value = a:0 == 1 ? a:1 : '' - - " Store original value - let s:var_reset[a:var] = getbufvar(buf, a:var) - - " Set new var value - call setbufvar(buf, a:var, new_value) - endif - endfunction " }}} - function! s:SetLines(lines, key) " {{{ - try - " Try to join changes with previous undo block - undojoin - catch - endtry - - for [line_num, line] in a:lines - call setline(line_num, line[a:key]) - endfor - endfunction " }}} - function! s:GetChar() " {{{ - let char = getchar() - - if char == 27 - " Escape key pressed - redraw - - call s:Message('Cancelled') - - return '' - endif - - return nr2char(char) - endfunction " }}} - function! s:GetSearchChar(visualmode) " {{{ - call s:Prompt('Search for character') - - let char = s:GetChar() - - " Check that we have an input char - if empty(char) - " Restore selection - if ! empty(a:visualmode) - silent exec 'normal! gv' - endif - - return '' - endif - - return char - endfunction " }}} -" }}} -" Grouping algorithms {{{ - let s:grouping_algorithms = { - \ 1: 'SCTree' - \ , 2: 'Original' - \ } - " Single-key/closest target priority tree {{{ - " This algorithm tries to assign one-key jumps to all the targets closest to the cursor. - " It works recursively and will work correctly with as few keys as two. - function! s:GroupingAlgorithmSCTree(targets, keys) - " Prepare variables for working - let targets_len = len(a:targets) - let keys_len = len(a:keys) - - let groups = {} - - let keys = reverse(copy(a:keys)) - - " Semi-recursively count targets {{{ - " We need to know exactly how many child nodes (targets) this branch will have - " in order to pass the correct amount of targets to the recursive function. - - " Prepare sorted target count list {{{ - " This is horrible, I know. But dicts aren't sorted in vim, so we need to - " work around that. That is done by having one sorted list with key counts, - " and a dict which connects the key with the keys_count list. - - let keys_count = [] - let keys_count_keys = {} - - let i = 0 - for key in keys - call add(keys_count, 0) - - let keys_count_keys[key] = i - - let i += 1 - endfor - " }}} - - let targets_left = targets_len - let level = 0 - let i = 0 - - while targets_left > 0 - " Calculate the amount of child nodes based on the current level - let childs_len = (level == 0 ? 1 : (keys_len - 1) ) - - for key in keys - " Add child node count to the keys_count array - let keys_count[keys_count_keys[key]] += childs_len - - " Subtract the child node count - let targets_left -= childs_len - - if targets_left <= 0 - " Subtract the targets left if we added too many too - " many child nodes to the key count - let keys_count[keys_count_keys[key]] += targets_left - - break - endif - - let i += 1 - endfor - - let level += 1 - endwhile - " }}} - " Create group tree {{{ - let i = 0 - let key = 0 - - call reverse(keys_count) - - for key_count in keys_count - if key_count > 1 - " We need to create a subgroup - " Recurse one level deeper - let groups[a:keys[key]] = s:GroupingAlgorithmSCTree(a:targets[i : i + key_count - 1], a:keys) - elseif key_count == 1 - " Assign single target key - let groups[a:keys[key]] = a:targets[i] - else - " No target - continue - endif - - let key += 1 - let i += key_count - endfor - " }}} - - " Finally! - return groups - endfunction - " }}} - " Original {{{ - function! s:GroupingAlgorithmOriginal(targets, keys) - " Split targets into groups (1 level) - let targets_len = len(a:targets) - let keys_len = len(a:keys) - - let groups = {} - - let i = 0 - let root_group = 0 - try - while root_group < targets_len - let groups[a:keys[root_group]] = {} - - for key in a:keys - let groups[a:keys[root_group]][key] = a:targets[i] - - let i += 1 - endfor - - let root_group += 1 - endwhile - catch | endtry - - " Flatten the group array - if len(groups) == 1 - let groups = groups[a:keys[0]] - endif - - return groups - endfunction - " }}} - " Coord/key dictionary creation {{{ - function! s:CreateCoordKeyDict(groups, ...) - " Dict structure: - " 1,2 : a - " 2,3 : b - let sort_list = [] - let coord_keys = {} - let group_key = a:0 == 1 ? a:1 : '' - - for [key, item] in items(a:groups) - let key = ( ! empty(group_key) ? group_key : key) - - if type(item) == 3 - " Destination coords - - " The key needs to be zero-padded in order to - " sort correctly - let dict_key = printf('%05d,%05d', item[0], item[1]) - let coord_keys[dict_key] = key - - " We need a sorting list to loop correctly in - " PromptUser, dicts are unsorted - call add(sort_list, dict_key) - else - " Item is a dict (has children) - let coord_key_dict = s:CreateCoordKeyDict(item, key) - - " Make sure to extend both the sort list and the - " coord key dict - call extend(sort_list, coord_key_dict[0]) - call extend(coord_keys, coord_key_dict[1]) - endif - - unlet item - endfor - - return [sort_list, coord_keys] - endfunction - " }}} -" }}} -" Core functions {{{ - function! s:PromptUser(groups) "{{{ - " If only one possible match, jump directly to it {{{ - let group_values = values(a:groups) - - if len(group_values) == 1 - redraw - - return group_values[0] - endif - " }}} - " Prepare marker lines {{{ - let lines = {} - let hl_coords = [] - let coord_key_dict = s:CreateCoordKeyDict(a:groups) - - for dict_key in sort(coord_key_dict[0]) - let target_key = coord_key_dict[1][dict_key] - let [line_num, col_num] = split(dict_key, ',') - - let line_num = str2nr(line_num) - let col_num = str2nr(col_num) - - " Add original line and marker line - if ! has_key(lines, line_num) - let current_line = getline(line_num) - - let lines[line_num] = { 'orig': current_line, 'marker': current_line, 'mb_compensation': 0 } - endif - - " Compensate for byte difference between marker - " character and target character - " - " This has to be done in order to match the correct - " column; \%c matches the byte column and not display - " column. - let target_char_len = strlen(matchstr(lines[line_num]['marker'], '\%' . col_num . 'c.')) - let target_key_len = strlen(target_key) - - " Solve multibyte issues by matching the byte column - " number instead of the visual column - let col_num -= lines[line_num]['mb_compensation'] - - if strlen(lines[line_num]['marker']) > 0 - " Substitute marker character if line length > 0 - let lines[line_num]['marker'] = substitute(lines[line_num]['marker'], '\%' . col_num . 'c.', target_key, '') - else - " Set the line to the marker character if the line is empty - let lines[line_num]['marker'] = target_key - endif - - " Add highlighting coordinates - call add(hl_coords, '\%' . line_num . 'l\%' . col_num . 'c') - - " Add marker/target lenght difference for multibyte - " compensation - let lines[line_num]['mb_compensation'] += (target_char_len - target_key_len) - endfor - - let lines_items = items(lines) - " }}} - " Highlight targets {{{ - let target_hl_id = matchadd(g:EasyMotion_hl_group_target, join(hl_coords, '\|'), 1) - " }}} - - try - " Set lines with markers - call s:SetLines(lines_items, 'marker') - - redraw - - " Get target character {{{ - call s:Prompt('Target key') - - let char = s:GetChar() - " }}} - finally - " Restore original lines - call s:SetLines(lines_items, 'orig') - - " Un-highlight targets {{{ - if exists('target_hl_id') - call matchdelete(target_hl_id) - endif - " }}} - - redraw - endtry - - " Check if we have an input char {{{ - if empty(char) - throw 'Cancelled' - endif - " }}} - " Check if the input char is valid {{{ - if ! has_key(a:groups, char) - throw 'Invalid target' - endif - " }}} - - let target = a:groups[char] - - if type(target) == 3 - " Return target coordinates - return target - else - " Prompt for new target character - return s:PromptUser(target) - endif - endfunction "}}} - function! s:EasyMotion(regexp, direction, visualmode, mode) " {{{ - let orig_pos = [line('.'), col('.')] - let targets = [] - - try - " Reset properties {{{ - call s:VarReset('&scrolloff', 0) - call s:VarReset('&modified', 0) - call s:VarReset('&modifiable', 1) - call s:VarReset('&readonly', 0) - call s:VarReset('&spell', 0) - call s:VarReset('&virtualedit', '') - " }}} - " Find motion targets {{{ - let search_direction = (a:direction == 1 ? 'b' : '') - let search_stopline = line(a:direction == 1 ? 'w0' : 'w$') - - while 1 - let pos = searchpos(a:regexp, search_direction, search_stopline) - - " Reached end of search range - if pos == [0, 0] - break - endif - - " Skip folded lines - if foldclosed(pos[0]) != -1 - continue - endif - - call add(targets, pos) - endwhile - - let targets_len = len(targets) - if targets_len == 0 - throw 'No matches' - endif - " }}} - - let GroupingFn = function('s:GroupingAlgorithm' . s:grouping_algorithms[g:EasyMotion_grouping]) - let groups = GroupingFn(targets, split(g:EasyMotion_keys, '\zs')) - - " Shade inactive source {{{ - if g:EasyMotion_do_shade - let shade_hl_pos = '\%' . orig_pos[0] . 'l\%'. orig_pos[1] .'c' - - if a:direction == 1 - " Backward - let shade_hl_re = '\%'. line('w0') .'l\_.*' . shade_hl_pos - else - " Forward - let shade_hl_re = shade_hl_pos . '\_.*\%'. line('w$') .'l' - endif - - let shade_hl_id = matchadd(g:EasyMotion_hl_group_shade, shade_hl_re, 0) - endif - " }}} - - " Prompt user for target group/character - let coords = s:PromptUser(groups) - - " Update selection {{{ - if ! empty(a:visualmode) - keepjumps call cursor(orig_pos[0], orig_pos[1]) - - exec 'normal! ' . a:visualmode - endif - " }}} - " Handle operator-pending mode {{{ - if a:mode == 'no' - " This mode requires that we eat one more - " character to the right if we're using - " a forward motion - if a:direction != 1 - let coords[1] += 1 - endif - endif - " }}} - - " Update cursor position - call cursor(orig_pos[0], orig_pos[1]) - mark ' - call cursor(coords[0], coords[1]) - - call s:Message('Jumping to [' . coords[0] . ', ' . coords[1] . ']') - catch - redraw - - " Show exception message - call s:Message(v:exception) - - " Restore original cursor position/selection {{{ - if ! empty(a:visualmode) - silent exec 'normal! gv' - else - keepjumps call cursor(orig_pos[0], orig_pos[1]) - endif - " }}} - finally - " Restore properties {{{ - call s:VarReset('&scrolloff') - call s:VarReset('&modified') - call s:VarReset('&modifiable') - call s:VarReset('&readonly') - call s:VarReset('&spell') - call s:VarReset('&virtualedit') - " }}} - " Remove shading {{{ - if g:EasyMotion_do_shade && exists('shade_hl_id') - call matchdelete(shade_hl_id) - endif - " }}} - endtry - endfunction " }}} -" }}} - -" vim: fdm=marker:noet:ts=4:sw=4:sts=4 diff --git a/vim/doc/easymotion.txt b/vim/doc/easymotion.txt deleted file mode 100755 index c91a959..0000000 --- a/vim/doc/easymotion.txt +++ /dev/null @@ -1,319 +0,0 @@ -*easymotion.txt* Version 1.3. Last change: 2011 Nov 7 - - - ______ __ ___ __ _ - / ____/____ ________ __/ |/ /____ / /_(_)____ ____ - / __/ / __ `/ ___/ / / / /|_/ // __ \/ __/ // __ \/ __ \ - / /___ / /_/ (__ ) /_/ / / / // /_/ / /_/ // /_/ / / / / - /_____/ \__,_/____/\__, /_/ /_/ \____/\__/_/ \____/_/ /_/ - /____/ - - Vim motions on speed! - - -============================================================================== -CONTENTS *easymotion-contents* - - 1. Introduction ....................... |easymotion-introduction| - 2. Usage .............................. |easymotion-usage| - 2.1 Default mappings ............... |easymotion-default-mappings| - 3. Requirements ....................... |easymotion-requirements| - 4. Configuration ...................... |easymotion-configuration| - 4.1 EasyMotion_keys ................ |EasyMotion_keys| - 4.2 EasyMotion_do_shade ............ |EasyMotion_do_shade| - 4.3 EasyMotion_do_mapping .......... |EasyMotion_do_mapping| - 4.4 EasyMotion_grouping ............ |EasyMotion_grouping| - 4.5 Custom highlighting ............ |easymotion-custom-hl| - 4.6 Custom mappings ................ |easymotion-custom-mappings| - 4.6.1 Leader key ............... |easymotion-leader-key| - 4.6.2 Custom keys .............. |easymotion-custom-keys| - 5. License ............................ |easymotion-license| - 6. Known bugs ......................... |easymotion-known-bugs| - 7. Contributing ....................... |easymotion-contributing| - 8. Credits ............................ |easymotion-credits| - -============================================================================== -1. Introduction *easymotion* *easymotion-introduction* - -EasyMotion provides a much simpler way to use some motions in vim. It takes -the out of w or f{char} by highlighting all possible -choices and allowing you to press one key to jump directly to the target. - -When one of the available motions is triggered, all visible text preceding or -following the cursor is faded, and motion targets are highlighted. - -============================================================================== -2. Usage *easymotion-usage* - -EasyMotion is triggered by one of the provided mappings (see -|easymotion-default-mappings| for details). - -Example: > - - Lorem ipsum dolor sit amet. - -Type w to trigger the word motion |w|. See -|easymotion-leader-key| for details about the leader key. When the -motion is triggered, the text is updated (no braces are actually added, -the text is highlighted in red by default): > - - Lorem {a}psum {b}olor {c}it {d}met. - -Press "c" to jump to the beginning of the word "sit": > - - Lorem ipsum dolor sit amet. - -Similarly, if you're looking for an "o", you can use the |f| motion. -Type fo, and all "o" characters are highlighted: > - - L{a}rem ipsum d{b}l{c}r sit amet. - -Press "b" to jump to the second "o": > - - Lorem ipsum dolor sit amet. - -And that's it! - ------------------------------------------------------------------------------- -2.1 Default mappings *easymotion-default-mappings* - -The default configuration defines the following mappings in normal, -visual and operator-pending mode: - - Mapping | Details - ------------------|---------------------------------------------- - f{char} | Find {char} to the right. See |f|. - F{char} | Find {char} to the left. See |F|. - t{char} | Till before the {char} to the right. See |t|. - T{char} | Till after the {char} to the left. See |T|. - w | Beginning of word forward. See |w|. - W | Beginning of WORD forward. See |W|. - b | Beginning of word backward. See |b|. - B | Beginning of WORD backward. See |B|. - e | End of word forward. See |e|. - E | End of WORD forward. See |E|. - ge | End of word backward. See |ge|. - gE | End of WORD backward. See |gE|. - j | Line downward. See |j|. - k | Line upward. See |k|. - n | Jump to latest "/" or "?" forward. See |n|. - N | Jump to latest "/" or "?" backward. See |N|. - -See |easymotion-leader-key| and |mapleader| for details about the leader key. -See |easymotion-custom-mappings| for customizing the default mappings. - -============================================================================== -3. Requirements *easymotion-requirements* - -EasyMotion has been developed and tested in vim 7.3, but it should run without -any problems in vim 7.2. - -Vi-compatible mode must be disabled. - -============================================================================== -4. Configuration *easymotion-configuration* - -EasyMotion will work fine without any configuration, but you can override the -default behavior by setting configuration variables globally in your |vimrc| -file. - -Example (this will change the target keys and disable shading): > - - let g:EasyMotion_keys = '1234567890' - let g:EasyMotion_do_shade = 0 - ------------------------------------------------------------------------------- -4.1 EasyMotion_keys *EasyMotion_keys* - -Set the keys which will be used for motion targets. Add as many keys as you -want. There's a lower chance that the motion targets will be grouped if many -keys are available. - -Default: 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' - ------------------------------------------------------------------------------- -4.2 EasyMotion_do_shade *EasyMotion_do_shade* - -The default behavior is to shade the text following the cursor (forward -motions) or preceding the cursor (backward motions) to make the motion targets -more visible. Set this option to 0 if you want to disable text shading. - -Default: 1 - ------------------------------------------------------------------------------- -4.3 EasyMotion_do_mapping *EasyMotion_do_mapping* - -Set this option to 0 if you want to disable the default mappings. See -|easymotion-default-mappings| for details about the default mappings. - -Note: If you disable this option, you'll have to map the motions yourself. See -the plugin source code for mapping details. You usually shouldn't need to do -this, see |easymotion-custom-mappings| for customizing the default mappings. - -Default: 1 - ------------------------------------------------------------------------------- -4.4 EasyMotion_grouping *EasyMotion_grouping* - -When there are too many possible targets on the screen, the results have to be -grouped. This configuration option lets you change which grouping algorithm -you want to use. There are two grouping algorithms available: - - * Single-key priority (value: 1) - ------------------- - - This algorithm prioritizes single-key jumps for the targets closest to - the cursor and only groups the last jump targets to maximize the amount - of single-key jumps. - - This algorithm works recursively and will work with as few keys as two. - - Example (with |EasyMotion_keys| = "abcdef"): > - - x x x x x x x x x -< - The |w| motion is triggered: > - - a b c d e f f f f - ^ ^ ^ ^ ^ Direct jump to target - ^ ^ ^ ^ Enter group "f" -< - * Original (value: 2) - -------- - - This is the original algorithm which always groups all targets if there - are too many possible motion targets. - - Example (with |EasyMotion_keys| = "abcdef"): > - - x x x x x x x x x -< - The |w| motion is triggered: > - - a a a a a a b b b - ^ ^ ^ ^ ^ ^ Enter group "a" - ^ ^ ^ Enter group "b" - -Default: 1 - ------------------------------------------------------------------------------- -4.5 Custom highlighting *easymotion-custom-hl* - -The default EasyMotion configuration uses two highlighting groups that link -to groups with default values. The highlighting groups are: - - * EasyMotionTarget - - Highlights motion targets, the default value is bold red - - * EasyMotionShade - - Highlights shaded text, the default value is dark gray - -There are two ways to override the default colors: - - 1) Set the highlighting in your color scheme - - This will only affect a single color scheme. The default red/gray colors - will be used if you change the color scheme to one that doesn't assign - any EasyMotion colors. - - Example: > - - hi EasyMotionTarget ctermbg=none ctermfg=green - hi EasyMotionShade ctermbg=none ctermfg=blue -< - 2) Set the highlighting in your vimrc - - This is ideal if you want to link the colors to highlighting groups that - are available in almost every color scheme, e.g. |ErrorMsg| (usually - bright red) and Comment (usually faded). You can be sure that the - color scheme's colors will be used instead of the default red/gray - if you choose this option. - - Example: > - - hi link EasyMotionTarget ErrorMsg - hi link EasyMotionShade Comment -< ------------------------------------------------------------------------------- -4.6 Custom mappings *easymotion-custom-mappings* - -EasyMotion allows you to customize all default mappings to avoid conflicts -with existing mappings. It is possible to change the default leader key -of all mappings to another key or sequence. It is also possible to fine -tune the plugin to your need by changing every single sequence. - -4.6.1 Leader key *EasyMotion_leader_key* *easymotion-leader-key* - -The default leader key can be changed with the configuration option -|EasyMotion_leader_key|. - -Set this option to the key sequence to use as the prefix of the mappings -described in |easymotion-default-mappings|. - -Note: The default leader key has been changed to '' to -avoid conflicts with other plugins. You can revert to the original -leader by setting this option in your vimrc: > - - let g:EasyMotion_leader_key = '' -< -Default: '' - -4.6.2 Custom Keys *easymotion-custom-keys* - -All custom mappings follow the same variable format: > - - EasyMotion_mapping_{motion} = {mapping} -< -Example: > - - let g:EasyMotion_mapping_f = '_f' - let g:EasyMotion_mapping_T = '' -< -See |easymotion-default-mappings| for a table of motions that can be mapped -and their default values. - -Note: The leader key defined by |EasyMotion_leader_key| is not prepended to -your customized mappings! You have to provide full key sequences when setting -these options. - -============================================================================== -5. License *easymotion-license* - -Creative Commons Attribution-ShareAlike 3.0 Unported - -http://creativecommons.org/licenses/by-sa/3.0/ - -============================================================================== -6. Known bugs *easymotion-known-bugs* - -None. - -============================================================================== -7. Contributing *easymotion-contributing* - -If you experience any bugs or have feature requests, please open an issue on -GitHub. Fork the source repository on GitHub and send a pull request if you -have any code improvements. - -Author: Kim Silkebækken -Source repository: https://github.com/Lokaltog/vim-easymotion - -============================================================================== -8. Credits *easymotion-credits* - -- Ben Boeckel: ge and WORD motions -- Drew Neil: operator-pending mappings -- Rob O'Dwyer: customizable mappings without giving up all defaults -- Michel D'Hooge: customizable leader -- Maxime Bourget: search motion, improved JK motion behavior -- Kearn Holliday: fix jumplist issues -- Shougo Matsushita: fix CSApprox issue - -EasyMotion is based on Bartlomiej Podolak's great PreciseJump script, which -can be downloaded here: - -http://www.vim.org/scripts/script.php?script_id=3437 - -============================================================================== -vim:tw=78:sw=4:ts=8:ft=help:norl: diff --git a/vim/plugin/EasyMotion.vim b/vim/plugin/EasyMotion.vim deleted file mode 100755 index fff29dc..0000000 --- a/vim/plugin/EasyMotion.vim +++ /dev/null @@ -1,73 +0,0 @@ -" EasyMotion - Vim motions on speed! -" -" Author: Kim Silkebækken -" Source repository: https://github.com/Lokaltog/vim-easymotion - -" Script initialization {{{ - if exists('g:EasyMotion_loaded') || &compatible || version < 702 - finish - endif - - let g:EasyMotion_loaded = 1 -" }}} -" Default configuration {{{ - " Default options {{{ - call EasyMotion#InitOptions({ - \ 'leader_key' : '' - \ , 'keys' : 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' - \ , 'do_shade' : 1 - \ , 'do_mapping' : 1 - \ , 'grouping' : 1 - \ - \ , 'hl_group_target' : 'EasyMotionTarget' - \ , 'hl_group_shade' : 'EasyMotionShade' - \ }) - " }}} - " Default highlighting {{{ - let s:target_hl_defaults = { - \ 'gui' : ['NONE', '#ff0000' , 'bold'] - \ , 'cterm256': ['NONE', '196' , 'bold'] - \ , 'cterm' : ['NONE', 'red' , 'bold'] - \ } - - let s:shade_hl_defaults = { - \ 'gui' : ['NONE', '#777777' , 'NONE'] - \ , 'cterm256': ['NONE', '242' , 'NONE'] - \ , 'cterm' : ['NONE', 'grey' , 'NONE'] - \ } - - call EasyMotion#InitHL(g:EasyMotion_hl_group_target, s:target_hl_defaults) - call EasyMotion#InitHL(g:EasyMotion_hl_group_shade, s:shade_hl_defaults) - - " Reset highlighting after loading a new color scheme {{{ - augroup EasyMotionInitHL - autocmd! - - autocmd ColorScheme * call EasyMotion#InitHL(g:EasyMotion_hl_group_target, s:target_hl_defaults) - autocmd ColorScheme * call EasyMotion#InitHL(g:EasyMotion_hl_group_shade, s:shade_hl_defaults) - augroup end - " }}} - " }}} - " Default key mapping {{{ - call EasyMotion#InitMappings({ - \ 'f' : { 'name': 'F' , 'dir': 0 } - \ , 'F' : { 'name': 'F' , 'dir': 1 } - \ , 't' : { 'name': 'T' , 'dir': 0 } - \ , 'T' : { 'name': 'T' , 'dir': 1 } - \ , 'w' : { 'name': 'WB' , 'dir': 0 } - \ , 'W' : { 'name': 'WBW', 'dir': 0 } - \ , 'b' : { 'name': 'WB' , 'dir': 1 } - \ , 'B' : { 'name': 'WBW', 'dir': 1 } - \ , 'e' : { 'name': 'E' , 'dir': 0 } - \ , 'E' : { 'name': 'EW' , 'dir': 0 } - \ , 'ge': { 'name': 'E' , 'dir': 1 } - \ , 'gE': { 'name': 'EW' , 'dir': 1 } - \ , 'j' : { 'name': 'JK' , 'dir': 0 } - \ , 'k' : { 'name': 'JK' , 'dir': 1 } - \ , 'n' : { 'name': 'Search' , 'dir': 0 } - \ , 'N' : { 'name': 'Search' , 'dir': 1 } - \ }) - " }}} -" }}} - -" vim: fdm=marker:noet:ts=4:sw=4:sts=4 diff --git a/vim/plugin/LargeFile.vim b/vim/plugin/LargeFile.vim deleted file mode 100644 index 9f6551e..0000000 --- a/vim/plugin/LargeFile.vim +++ /dev/null @@ -1,80 +0,0 @@ -" LargeFile: Sets up an autocmd to make editing large files work with celerity -" Author: Charles E. Campbell, Jr. -" Date: Sep 23, 2008 -" Version: 4 -" GetLatestVimScripts: 1506 1 :AutoInstall: LargeFile.vim - -" --------------------------------------------------------------------- -" Load Once: {{{1 -if exists("g:loaded_LargeFile") || &cp - finish -endif -let g:loaded_LargeFile = "v4" -let s:keepcpo = &cpo -set cpo&vim - -" --------------------------------------------------------------------- -" Commands: {{{1 -com! Unlarge call s:Unlarge() -com! -bang Large call s:LargeFile(0,expand("%")) - -" --------------------------------------------------------------------- -" Options: {{{1 -if !exists("g:LargeFile") - let g:LargeFile= 20 " in megabytes -endif - -" --------------------------------------------------------------------- -" LargeFile Autocmd: {{{1 -" for large files: turns undo, syntax highlighting, undo off etc -" (based on vimtip#611) -augroup LargeFile - au! - au BufReadPre * call LargeFile(0,expand("")) - au BufReadPost * - \ if &ch < 2 && (getfsize(expand("")) >= g:LargeFile*1024*1024 || getfsize(expand("")) == -2) - \| echomsg "***note*** handling a large file" - \| endif -augroup END - -" --------------------------------------------------------------------- -" s:LargeFile: {{{2 -fun! s:LargeFile(force,fname) -" call Dfunc("LargeFile(force=".a:force." fname<".a:fname.">)") - if a:force || getfsize(a:fname) >= g:LargeFile*1024*1024 || getfsize(a:fname) <= -2 - syn clear - let b:eikeep = &ei - let b:ulkeep = &ul - let b:bhkeep = &bh - let b:fdmkeep= &fdm - let b:swfkeep= &swf - set ei=FileType - setlocal noswf bh=unload fdm=manual ul=-1 - let fname=escape(substitute(a:fname,'\','/','g'),' ') - exe "au LargeFile BufEnter ".fname." set ul=-1" - exe "au LargeFile BufLeave ".fname." let &ul=".b:ulkeep."|set ei=".b:eikeep - exe "au LargeFile BufUnload ".fname." au! LargeFile * ". fname - echomsg "***note*** handling a large file" - endif -" call Dret("s:LargeFile") -endfun - -" --------------------------------------------------------------------- -" s:Unlarge: this function will undo what the LargeFile autocmd does {{{2 -fun! s:Unlarge() -" call Dfunc("s:Unlarge()") - if exists("b:eikeep") |let &ei = b:eikeep |endif - if exists("b:ulkeep") |let &ul = b:ulkeep |endif - if exists("b:bhkeep") |let &bh = b:bhkeep |endif - if exists("b:fdmkeep")|let &fdm = b:fdmkeep|endif - if exists("b:swfkeep")|let &swf = b:swfkeep|endif - syn on - doau FileType -" call Dret("s:Unlarge") -endfun - -" --------------------------------------------------------------------- -" Restore: {{{1 -let &cpo= s:keepcpo -unlet s:keepcpo -" vim: ts=4 fdm=marker