From 10593c3cce23b3592228f335d342e82efe3b226e Mon Sep 17 00:00:00 2001 From: Ben Reilly Date: Wed, 4 Nov 2015 09:48:08 -0800 Subject: Updated README to reflect change to . --- README.rst | 65 +++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 43 insertions(+), 22 deletions(-) diff --git a/README.rst b/README.rst index 4e67fd8..56c84b9 100644 --- a/README.rst +++ b/README.rst @@ -13,25 +13,46 @@ 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. +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. +"word" motions 'iw', 'ib' and 'ie', which select the +"word" (or multiple "words" if a [count] is given) where the cursor is located. Usage ====== -Use the new motions ',w', ',b' and ',e' in normal mode, operator-pending mode (cp. -:help operator), and visual mode. For example, type 'bc,w' to change 'Camel' in -'CamelCase' to something else. + +The new motions are 'w', 'b' and 'e', all of which can +be used in normal mode, operator-pending mode (cp. :help operator), and visual +mode. For example, type 'bcw' to change 'Camel' in 'CamelCase' to +something else. + +The ```` string is defined with the ``mapleader`` variable in vim, and +defaults to the backslash character (``\``). Therefore, the motions defined by +this plugin would resolve to '\\w', '\\b' and '\\e'. Some vim users prefer to use +the comma key (``,``), which you may have already defined in your vimrc. To +check your current mapleader, execute:: + + :let mapleader + +If you get an error, you are still using the default (``\``). If you wish to +define a new mapleader, try:: + + :let mapleader = "your_new_mapleader_string" + +Drop the ``:`` if you are defining the mapleader in your vimrc. For more +information about mapleader, check out:: + + :help mapleader **Motions Example** @@ -45,12 +66,12 @@ 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, +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, ... +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], +e moves to: se[t], scrip[t], 3133[7], pat[h], an[d], nam[e], withou[t], extensio[n], 1[1], dpn[0] **Inner Motions Example** @@ -58,14 +79,14 @@ 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 +v3iw selects script_31337_path_and_[name_without_extension\_]11 -v3i,b selects script_31337_[path_and_name]_without_extension_11 +v3ib selects script_31337_[path_and_name]_without_extension_11 -v3i,e selects script_31337_path_and_[name_without_extension]_11 +v3ie 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. +Instead of visual mode, you can also use c3iw to change, d3iw +to delete, gU3iw to upper-case, and so on. **Source** @@ -102,7 +123,7 @@ your .vimrc). map CamelCaseMotion_e **Example**: Replace the default 'w', 'b' and 'e' mappings instead of defining -additional mappings ',w', ',b' and ',e':: +additional mappings 'w', 'b' and 'e':: map w CamelCaseMotion_w map b CamelCaseMotion_b -- cgit v1.1