summaryrefslogtreecommitdiffstats
path: root/.vim/bundle/vim-multiple-cursors/doc/multiple_cursors.txt
diff options
context:
space:
mode:
Diffstat (limited to '.vim/bundle/vim-multiple-cursors/doc/multiple_cursors.txt')
-rw-r--r--.vim/bundle/vim-multiple-cursors/doc/multiple_cursors.txt253
1 files changed, 253 insertions, 0 deletions
diff --git a/.vim/bundle/vim-multiple-cursors/doc/multiple_cursors.txt b/.vim/bundle/vim-multiple-cursors/doc/multiple_cursors.txt
new file mode 100644
index 0000000..422d5cf
--- /dev/null
+++ b/.vim/bundle/vim-multiple-cursors/doc/multiple_cursors.txt
@@ -0,0 +1,253 @@
+*vim-multiple-cursors.txt* True Sublime Text multiple selection in Vim
+
+ ____ _ __
+ ____ ___ __ __/ / /_(_)___ / /__ _______ ________________ __________
+ / __ `__ \/ / / / / __/ / __ \/ / _ \ / ___/ / / / ___/ ___/ __ \/ ___/ ___/
+ / / / / / / /_/ / / /_/ / /_/ / / __/ / /__/ /_/ / / (__ ) /_/ / / (__ )
+/_/ /_/ /_/\__,_/_/\__/_/ .___/_/\___/ \___/\__,_/_/ /____/\____/_/ /____/
+ /_/
+
+
+ Reference Manual~
+
+
+==============================================================================
+
+CONTENTS *multiple-cursors-contents*
+ 1.Intro...................................|multiple-cursors-intro|
+ 2.Usage...................................|multiple-cursors-usage|
+ 3.Mappings................................|multiple-cursors-mappings|
+ 4.Global Options..........................|multiple-cursors-global-options|
+ 5.Issues..................................|multiple-cursors-issues|
+ 6.Contributing............................|multiple-cursors-contributing|
+ 7.License.................................|multiple-cursors-license|
+ 8.Credit..................................|multiple-cursors-credit|
+ 9.References..............................|multiple-cursors-references|
+
+==============================================================================
+1. Intro *multiple-cursors-intro*
+
+There [1] have [2] been [3] many [4] attempts [5] at bringing Sublime Text's
+awesome multiple selection [6] feature into Vim, but none so far have been in
+my opinion a faithful port that is simplistic to use, yet powerful and
+intuitive enough for an existing Vim user. *vim-multiple-cursors* is yet
+another attempt at that.
+
+==============================================================================
+2. Usage *multiple-cursors-usage*
+
+Out of the box, all you need to know is a single key CTRL-N. Pressing the key
+in Normal mode highlights the current word under the cursor in Visual mode and
+places a virtual cursor at the end of it. Pressing it again finds the next
+ocurrence and places another virtual cursor at the end of the visual
+selection. If you select multiple lines in Visual mode, pressing the key puts
+a virtual cursor at every line and leaves you in Normal mode.
+
+After you've marked all your locations with CTRL-N, you can change the visual
+selection with normal Vim motion commands in Visual mode. You could go to
+Normal mode by pressing v and wield your motion commands there. Single key
+command to switch to Insert mode such as `c` or `s` from Visual mode or `i`,
+`a`, `I`, `A` in Normal mode should work without any issues.
+
+At any time, you can press <Esc> to exit back to regular Vim.
+
+Two additional keys are also mapped:
+
+CTRL-P in Visual mode will remove the current virtual cursor and go back to
+the previous virtual cursor location. This is useful if you are trigger happy
+with Ctrl-n and accidentally went too far.
+
+CTRL-X in Visual mode will remove the current virtual cursor and skip to the
+next virtual cursor location. This is useful if you don't want the current
+selection to be a candidate to operate on later.
+
+You can also add multiple cursors using a regular expression. The command
+*MultipleCursorsFind* accepts a range and a pattern, and it will create a
+virtual cursor at the end of every match within the range. If no range is
+passed in, then it defaults to the entire buffer.
+
+NOTE: If at any time you have lingering cursors on screen, you can press
+CTRL-N in Normal mode and it will remove all prior cursors before starting a
+new one.
+
+==============================================================================
+3. Mappings *multiple-cursors-mappings*
+
+*g:multi_cursor_use_default_mapping* (Default: 1)
+
+Out of the box, only the single key CTRL-N is mapped in regular Vim's Normal
+mode and Visual mode to provide the functionality mentioned above. CTRL-N,
+CTRL-P, CTRL-X, and <ESC> are mapped in the special multicursor mode once
+you've added at least one virtual cursor to the buffer. If you don't like the
+plugin taking over your favorite key bindings, you can turn off the default
+with >
+
+ let g:multi_cursor_use_default_mapping=0
+<
+
+*g:multi_cursor_next_key* (Default: '<C-n>')
+*g:multi_cursor_prev_key* (Default: '<C-p>')
+*g:multi_cursor_skip_key* (Default: '<C-x>')
+*g:multi_cursor_quit_key* (Default: '<Esc>')
+You can map the 'next', 'previous', 'skip', and 'exit' keys like the
+following: >
+
+ " Default mapping
+ let g:multi_cursor_next_key='<C-n>'
+ let g:multi_cursor_prev_key='<C-p>'
+ let g:multi_cursor_skip_key='<C-x>'
+ let g:multi_cursor_quit_key='<Esc>'
+<
+
+*g:multi_cursor_start_key* (Default: 'g:multi_cursor_next_key')
+By default, the same key is used to enter multicursor mode as to select the
+next cursor location. If you want to use a different key to start multicursor
+mode than for selecting the next location, do like the following: >
+
+ " Map start key separately from next key
+ let g:multi_cursor_start_key='<F6>'
+<
+
+*g:multi_cursor_start_word_key*
+When multicursor mode is started, it selects current word without
+boundaries, i.e. it behaves like `g*`. If you want to use word boundaries in
+Normal mode (as `*` does) but still have old behaviour up your sleeve, you can
+do the following: >
+
+ let g:multi_cursor_start_key='g<C-n>'
+ let g:multi_cursor_start_word_key='<C-n>'
+<
+
+In this configuration <C-n> will start multicursor mode using word boundaries
+(but only in Normal mode, as it does not make much sense to use it in Visual
+mode). Old behaviour without word boundaries is still available using
+g<C-n>.
+
+IMPORTANT: Please note that currently only single keystrokes and special
+keys can be mapped. This contraint is also the reason why multikey commands
+such as `ciw` do not work and cause unexpected behavior in Normal mode. This
+means that a mapping like `<Leader>n` will NOT work correctly. For a list of
+special keys that are supported, see |key-notation|
+
+NOTE: Please make sure to always map something to |g:multi_cursor_quit_key|,
+otherwise you'll have a tough time quitting from multicursor mode.
+
+NOTE: Prior to version 1.3, the recommended way to map the keys is using the
+expression quote syntax in Vim, using something like `"\<C-n>"` or `"\<Esc>"`
+(see h: expr-quote). After 1.3, the recommended way is to use a raw string
+like above. If your key mappings don't appear to work, give the new syntax a
+try.
+
+==============================================================================
+4. Global Options *multiple-cursors-global-options*
+
+Currently there are four additional global settings one can tweak:
+
+*g:multi_cursor_exit_from_visual_mode* (Default: 1)
+
+If set to 0, then pressing |g:multi_cursor_quit_key| in Visual mode will not
+quit and delete all existing cursors. This is useful if you want to press
+Escape and go back to Normal mode, and still be able to operate on all the
+cursors.
+
+*g:multi_cursor_exit_from_insert_mode* (Default: 1)
+
+If set to 0, then pressing |g:multi_cursor_quit_key| in Insert mode will not
+quit and delete all existing cursors. This is useful if you want to press
+Escape and go back to Normal mode, and still be able to operate on all the
+cursors.
+
+*g:multi_cursor_insert_maps* (Default: `{}`)
+
+Any key in this map (values are ignored) will cause multi-cursor _Insert_ mode
+to pause for `timeoutlen` waiting for map completion just like normal vim.
+Otherwise keys mapped in insert mode are ignored when multiple cursors are
+active. For example, setting it to `{'\':1}` will make insert-mode mappings
+beginning with the default leader key work in multi-cursor mode. You have to
+manually set this because vim doesn't provide a way to see which keys _start_
+mappings.
+
+*g:multi_cursor_normal_maps* (Default: see below)
+
+Default value: `{'!':1, '@':1, '=':1, 'q':1, 'r':1, 't':1, 'T':1, 'y':1, '[':1, ']':1, '\':1, 'd':1, 'f':1, 'F':1, 'g':1, '"':1, 'z':1, 'c':1, 'm':1, '<':1, '>':1}`
+
+Any key in this map (values are ignored) will cause multi-cursor _Normal_ mode
+to pause for map completion just like normal vim. Otherwise keys mapped in
+normal mode will "fail to replay" when multiple cursors are active. For example,
+changing it from `{}` to `{'d':1}` makes normal-mode mappings beginning with `d`
+(such as `dw` to delete a word) work in multi-cursor mode.
+
+*g:multi_cursor_visual_maps* (Default: )
+
+Default value: `{'i':1, 'a':1, 'f':1, 'F':1, 't':1, 'T':1}`
+
+Any key in this map (values are ignored) will cause multi-cursor _Visual_ mode
+to pause for map completion just like normal vim. Otherwise keys mapped in
+visual mode will "fail to replay" when multiple cursors are active. For example,
+changing it from `{}` to `{'i':1}` makes visual-mode mappings beginning with `i`
+(such as `it` to select an "inner tag block") work in multi-cursor mode.
+
+The default list contents should work for anybody, unless they have remapped a
+key from an operator-pending command to a non-operator-pending command or
+vice versa.
+
+These keys must be manually listed because vim doesn't provide a way to
+automatically see which keys _start_ mappings, and trying to run motion commands
+such as `j` as if they were operator-pending commands can break things.
+
+
+The plugin uses the highlight group `multiple_cursors_cursor` and
+`multiple_cursors_visual` to highlight the virtual cursors and their visual
+selections respectively. You can customize them by putting something similar
+like the following in your vimrc: >
+
+ " Default highlighting (see help :highlight and help :highlight-link)
+ highlight multiple_cursors_cursor term=reverse cterm=reverse gui=reverse
+ highlight link multiple_cursors_visual Visual
+
+<
+
+==============================================================================
+5. Issues *multiple-cursors-issues*
+
+- Multi key commands like ciw do not work at the moment
+- All user input typed before Vim is able to fan out the last operation to all
+ cursors is lost. This is a implementation decision to keep the input
+ perfectly synced in all locations, at the cost of potentially losing user
+ input.
+- Select mode is not implemented
+
+==============================================================================
+6. Contributing *multiple-cursors-contributing*
+
+The project is hosted on Github. Patches, feature requests and suggestions are
+always welcome!
+
+Find the latest version of the plugin here:
+ http://github.com/terryma/vim-multiple-cursors
+
+==============================================================================
+7. License *multiple-cursors-license*
+
+The project is licensed under the MIT license [7]. Copyrigth 2013 Terry Ma
+
+==============================================================================
+8. Credit *multiple-cursors-credit*
+
+The plugin is obviously inspired by Sublime Text's awesome multiple selection
+[6] feature. Some inspiration was also taken from Emac's multiple cursors [8]
+implementation.
+
+==============================================================================
+9. References *multiple-cursors-references*
+
+[1] https://github.com/paradigm/vim-multicursor
+[2] https://github.com/felixr/vim-multiedit
+[3] https://github.com/hlissner/vim-multiedit
+[4] https://github.com/adinapoli/vim-markmultiple
+[5] https://github.com/AndrewRadev/multichange.vim
+[6] http://www.sublimetext.com/docs/2/multiple_selection_with_the_keyboard.html
+[7] http://opensource.org/licenses/MIT
+[8] https://github.com/magnars/multiple-cursors.el
+
+ vim:tw=78:sw=4:ft=help:norl: