aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Reilly <ben.reilly@arrayinteractive.com>2015-11-04 09:48:08 -0800
committerBen Reilly <ben.reilly@arrayinteractive.com>2015-11-04 09:48:08 -0800
commit10593c3cce23b3592228f335d342e82efe3b226e (patch)
treefd96d238e4f9292524c9036f31b122840918d657
parent98370fa86fc34625533b58195cc2987d1f8e18e1 (diff)
Updated README to reflect change to <leader>.
-rw-r--r--README.rst65
1 files 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 '<leader>w', '<leader>b' and '<leader>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 'i<leader>w', 'i<leader>b' and 'i<leader>e', 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 '<leader>w', '<leader>b' and '<leader>e', all of which can
+be used in normal mode, operator-pending mode (cp. :help operator), and visual
+mode. For example, type 'bc<leader>w' to change 'Camel' in 'CamelCase' to
+something else.
+
+The ``<leader>`` 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,
+<leader>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, ...
+<leader>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],
+<leader>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
+v3i<leader>w selects script_31337_path_and_[name_without_extension\_]11
-v3i,b selects script_31337_[path_and_name]_without_extension_11
+v3i<leader>b selects script_31337_[path_and_name]_without_extension_11
-v3i,e selects script_31337_path_and_[name_without_extension]_11
+v3i<leader>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.
+Instead of visual mode, you can also use c3i<leader>w to change, d3i<leader>w
+to delete, gU3i<leader>w to upper-case, and so on.
**Source**
@@ -102,7 +123,7 @@ your .vimrc).
map <S-E> <Plug>CamelCaseMotion_e
**Example**: Replace the default 'w', 'b' and 'e' mappings instead of defining
-additional mappings ',w', ',b' and ',e'::
+additional mappings '<leader>w', '<leader>b' and '<leader>e'::
map <silent> w <Plug>CamelCaseMotion_w
map <silent> b <Plug>CamelCaseMotion_b