Browse Source

delete easymotion.vim

raylu 12 years ago
parent
commit
76d27933a5
3 changed files with 0 additions and 965 deletions
  1. 0 573
      vim/autoload/EasyMotion.vim
  2. 0 319
      vim/doc/easymotion.txt
  3. 0 73
      vim/plugin/EasyMotion.vim

+ 0 - 573
vim/autoload/EasyMotion.vim

@@ -1,573 +0,0 @@
-" EasyMotion - Vim motions on speed!
-"
-" Author: Kim Silkebækken <kim.silkebaekken+vim@gmail.com>
-" 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 <silent> ' . g:EasyMotion_mapping_{motion} . '      :call EasyMotion#' . fn.name . '(0, ' . fn.dir . ')<CR>'
-				silent exec 'onoremap <silent> ' . g:EasyMotion_mapping_{motion} . '      :call EasyMotion#' . fn.name . '(0, ' . fn.dir . ')<CR>'
-				silent exec 'vnoremap <silent> ' . g:EasyMotion_mapping_{motion} . ' :<C-U>call EasyMotion#' . fn.name . '(1, ' . fn.dir . ')<CR>'
-			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

+ 0 - 319
vim/doc/easymotion.txt

@@ -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 <number> out of <number>w or <number>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: >
-
-    <cursor>Lorem ipsum dolor sit amet.
-
-Type <Leader><Leader>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): >
-
-    <cursor>Lorem {a}psum {b}olor {c}it {d}met.
-
-Press "c" to jump to the beginning of the word "sit": >
-
-    Lorem ipsum dolor <cursor>sit amet.
-
-Similarly, if you're looking for an "o", you can use the |f| motion.
-Type <Leader><Leader>fo, and all "o" characters are highlighted: >
-
-    <cursor>L{a}rem ipsum d{b}l{c}r sit amet.
-
-Press "b" to jump to the second "o": >
-
-    Lorem ipsum d<cursor>olor 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
-    ------------------|----------------------------------------------
-    <Leader>f{char}   | Find {char} to the right. See |f|.
-    <Leader>F{char}   | Find {char} to the left. See |F|.
-    <Leader>t{char}   | Till before the {char} to the right. See |t|.
-    <Leader>T{char}   | Till after the {char} to the left. See |T|.
-    <Leader>w         | Beginning of word forward. See |w|.
-    <Leader>W         | Beginning of WORD forward. See |W|.
-    <Leader>b         | Beginning of word backward. See |b|.
-    <Leader>B         | Beginning of WORD backward. See |B|.
-    <Leader>e         | End of word forward. See |e|.
-    <Leader>E         | End of WORD forward. See |E|.
-    <Leader>ge        | End of word backward. See |ge|.
-    <Leader>gE        | End of WORD backward. See |gE|.
-    <Leader>j         | Line downward. See |j|.
-    <Leader>k         | Line upward. See |k|.
-    <Leader>n         | Jump to latest "/" or "?" forward. See |n|.
-    <Leader>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 '<Leader><Leader>' 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 = '<Leader>'
-<
-Default: '<Leader><Leader>'
-
-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 = '<C-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 <kim.silkebaekken+vim@gmail.com>
-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:

+ 0 - 73
vim/plugin/EasyMotion.vim

@@ -1,73 +0,0 @@
-" EasyMotion - Vim motions on speed!
-"
-" Author: Kim Silkebækken <kim.silkebaekken+vim@gmail.com>
-" 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'      : '<Leader><Leader>'
-		\ , '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