diff options
| author | Ben Beltran <ben@freshout.us> | 2012-10-08 11:44:10 -0500 |
|---|---|---|
| committer | Ben Beltran <ben@freshout.us> | 2012-10-08 11:44:10 -0500 |
| commit | 0d23b6e515a01a5782532351821ebfa11f3d6cf2 (patch) | |
| tree | aa395b7e50ccb533d6b48b809016ac06f2d5bc8c /vim/doc/easymotion.txt | |
| parent | a91731eac872b7837c2821341db5888702125cef (diff) | |
Add vim again :)
Diffstat (limited to 'vim/doc/easymotion.txt')
| -rwxr-xr-x | vim/doc/easymotion.txt | 319 |
1 files changed, 319 insertions, 0 deletions
diff --git a/vim/doc/easymotion.txt b/vim/doc/easymotion.txt new file mode 100755 index 0000000..c91a959 --- /dev/null +++ b/vim/doc/easymotion.txt @@ -0,0 +1,319 @@ +*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: |