*wildfire.txt* *wildfire.vim* Wildfire ~ Reference Manual ============================================================================== CONTENTS *wildfire-contents* 1. Intro ................................. |wildfire-intro| 2. Usage ................................. |wildfire-usage| 3. Advanced Usage ........................ |wildfire-advanced-usage| 4. Quick Selection ....................... |wildfire-quick-selection| 4. About ................................. |wildfire-about| 5. License ............................... |wildfire-license| ============================================================================== 1. Intro *wildfire-intro* With Wildfire you can quickly select the closest text object among a group of candidates. By default candidates are `i'`, `i"`, `i)`, `i]`, `i}`, `ip` and `it`. Learn more about text objects with `:help text-objects`. ============================================================================== 2. Usage *wildfire-usage* Press `` in normal mode to select the closest text object. Keep pressing `` for selecting the **next** closest text object. To go the other way round, that is, to select the **previously** selected text object, press ``. To speed things up, if you want to select the `n`th closest text object you can press a number followed by `` (e.g. pressing `2` will select the second closest text object). You can change default mappings with: > " This selects the next closest text object. map (wildfire-fuel) " This selects the previous closest text object. vmap (wildfire-water) < By default, Wildfire selects any of the text objects `i'`, `i"`, `i)`, `i]`, `i}`, `ip` and `it`. You can decide the ones to consider with the following option: > let g:wildfire_objects = ["i'", 'i"', "i)", "i]", "i}", "ip", "it"] < ============================================================================== 3. Advanced Usage *wildfire-advanced-usage* Sometimes considering certain kinds of text objects can be quite annoying. This is the case of Html, where, for example, you may want to select just tag objects. Wildfire allows you to be selective about which text objects are considered with different filetypes: > let g:wildfire_objects = { \ "*" : ["i'", 'i"', "i)", "i]", "i}"], " use '*' to mean 'all other filetypes' \ "html,xml" : ["at"], " html and xml share the same text objects \} < However, one problem with the solution above is that with `html` and `xml` files we loose the ability to select the text objects `i'`, `i"`, `i)`, `i]` and `i}`. To solve this problem, Wildfire allows you to use different mappings for different text object candidates: > map (wildfire-fuel) let g:wildfire_objects = { \ "*" : ["i'", 'i"', "i)", "i]", "i}"] \ } cal wildfire#triggers#Add("", { \ "html,xml" : ["at", "it"], \ }) < ============================================================================== 4. Quick Selection *wildfire-quick-selection* This feature allows you to quickly select text object by setting special marks (not vim marks) in the current buffer that represent growing selections (similarly to vim-easymotion). Wildfire does not set a default mapping for *quick selection*. Be sure to put something like the following line in your `.vimrc`: > nmap s (wildfire-quick-select) < By default, *quick selection* use text objects in `g:wildfire_objects` to set "selection marks". Have a look at the example below if you want to use different text object without having to change `g:wildfire_objects`. > cal wildfire#triggers#AddQs("s", { \ "*" : ["i)", "i]"], \ }) < ============================================================================== 5. About *wildfire-about* Author: Giacomo Comitti Contributors: https://github.com/gcmt/wildfire.vim/contributors Git repository: https://github.com/gcmt/wildfire.vim ============================================================================== 6. License *wildfire-license* Copyright (c) 2014 Giacomo Comitti Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. vim:tw=78:sw=4:ts=8:ft=help:norl:noet: