*unite.txt*	Unite and create user interfaces.

Version: 4.1
Author : Shougo <Shougo.Matsu@gmail.com>
Documentation Author: ujihisa <ujihisa at gmail com>
License: MIT license  {{{
    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.
}}}

CONTENTS					*unite-contents*

Introduction		|unite-introduction|
Usage			|unite-usage|
Install			|unite-install|
Interface		|unite-interface|
  Commands		  |unite-commands|
  Variables		  |unite-variables|
    Sources variables	    |unite-sources-variables|
  Key mappings		  |unite-key-mappings|
  Functions		  |unite-functions|
  Options		  |unite-options|
Sources			|unite-sources|
Kinds			|unite-kinds|
Actions			|unite-actions|
Filters			|unite-filters|
Create source		|unite-create-source|
Create kind		|unite-create-kind|
Create filter		|unite-create-filter|
Configuration Examples	|unite-examples|
User defined source	|unite-user-sources|
FAQ			|unite-faq|
Changelog		|unite-changelog|

==============================================================================
INTRODUCTION					*unite-introduction*

The *unite* or *unite.vim* plug-in can search and display information from
arbitrary sources like files, buffers, recently used files or registers.  You
can run several pre-defined actions on a target displayed in the unite window.

The difference between |unite| and similar plug-ins like |fuzzyfinder|,
|ctrl-p| or |ku| is, |unite| provides an integration interface for several
sources and you can create new interface using |unite|.

==============================================================================
USAGE						*unite-usage*

	In case you run unite to display files and buffers as sources to pick
	from.
>
	:Unite file buffer
<

	In case you run unite with an initial filter value (foo) to narrow
	down files.
>
	:Unite -input=foo file
<

If you start unite it splits the window horizontally and pops up
from the top of Vim by default. 
>
	:Unite file
<
The example call above lists all the files in the current directory. You can
choose one of them in the in the unite window by moving the cursor up and down
as usual with j and k. If you type Enter on an active candidate it will open
it in a new buffer. Enter triggers the default action for a candidate which is
"open" for candidates of the kind "file". You can also select an alternative
action for a candidate with <Tab>. See also |unite-action| to read on about
actions.

You can also narrow down the list of candidates by a keyword. If you change
into the insert mode inside of a unite window, the cursor drops you behind the
">" in the second line from above. There you can start typing to filter the
candidates.  You can also use the wild card "*" as an arbitrary character
sequence. For
example
>
	*hisa
<
matches hisa, ujihisa, or ujihisahisa. Furthermore, two consecutive wild cards
match a directory recursively. 
>
	**/foo
<
So the example above matches bar/foo or buzz/bar/foo.
Note: The unite acion |file_rec| does a recursive file matching by default
without the need to set wildcards.

You can also specify multiple keywords to narrow down the candidates. Multiple
keywords need to be separated either by a space " " or a dash "|". The
examples below match for candidates that meet both conditions "foo" and "bar".
>
	foo bar
	foo|bar
<
You can also specify negative conditions with an exclamation mark "!".  This
matches candidates that meet "foo" but do not meet "bar".
>
	foo !bar
<
Wild cards are added automatically if you add a "/" in the filter and you have
specified "files" as the buffer name with the option "-buffer-name". That's
handy in case you select files with unite.
>
	:Unite -buffer-name=files file
<
See also |unite_default_key_mappings| for other actions.

There is also a screencast available which shows unite in action. Thanks to
ujihisa! http://www.ustream.tv/recorded/11240673

==============================================================================
INSTALL						*unite-install*

Install the distributed files into your Vim script directory which is usually
~/.vim/, or $HOME/vimfiles on Windows. You should consider to use one of the
famous package managers for Vim like vundle or neobundle to install the
plugin.

After installation you can run unite with the |:Unite| command and append the
sources to the command you wish to select from as parameters. However, it's a
pain in the ass to run the command explicitly every time, so I recommend you
to set a key mapping for the command.

==============================================================================
INTERFACE					*unite-interface*

------------------------------------------------------------------------------
COMMANDS 					*unite-commands*

:Unite [{options}] {sources}			*:Unite*
		Shows the candidate window of {sources} with the initial
		narrowing text empty.  You may specify multiple {sources} with
		spaces as a separator; the order of the {sources} is equal to
		the order of candidates.  See also |unite-source| for sources.
		This command restores previous position.

		In case you are already on a unite buffer, the narrowing text
		is stored.

		You may give a list of strings, separated with ":", after
		the name of sources. You must escape ":" and "\" with "\"
		in parameters themselves. "::" is an abbreviation argument. It
		depends on the sources how the parameters are interpreted.

		Examples:
		"file:foo:bar": the parameters of source file are
		                ["foo", "bar"].
		"file:foo\:bar": the parameter of source file is
		                ["foo:bar"].
		"file:foo::baz": the parameters of source file are
		                ["foo", "", "bar"].

		{options} are options for a unite buffer: |unite-options|
		
:UniteWithCurrentDir [{options}] {sources}	*:UniteWithCurrentDir*
		Equivalent to |:Unite| except that it targets the current
		directory for the initial narrowing text.

:UniteWithBufferDir [{options}] {sources}	*:UniteWithBufferDir*
		Equivalent to |:Unite| except that it targets the buffer's
		directory for the initial narrowing text.

:UniteWithInput [{options}] {sources}		*:UniteWithInput*
		Equivalent to |:Unite| except that it targets the user input
		for the initial narrowing text.

:UniteWithCursorWord [{options}] {sources}	*:UniteWithCursorWord*
		Equivalent to |:Unite| except that it targets the word on the
		cursor for the initial narrowing text.

:UniteResume [{options}] [{buffer-name}]	*:UniteResume*
		Reuses the unite buffer named {buffer-name} that you opened
		previously. Narrowing texts or candidates are
		as-is. If {options} are given, context information gets
		overridden.
		Note: Reuses the last unite buffer you used in current tab if
		you skip specifying {buffer-name}.

:UniteClose {buffer-name}			*:UniteClose*
		Closes the unite buffer named {buffer-name}.

The commands of source				*:unite-sources-commands*

:UniteBookmarkAdd [{file}]			*:UniteBookmarkAdd*
		Adds a file into the bookmark list. Unless you specify any
		parameter, the current position of the current file is
		stored.

------------------------------------------------------------------------------
VARIABLES 					*unite-variables*

g:unite_update_time				*g:unite_update_time*
		Update time interval of candidates for each input of narrowing
		text.  In Msec.

		The default value is 500.

g:unite_enable_start_insert			*g:unite_enable_start_insert*
		If this variable is 1, unite buffer will be in Insert Mode
		immediately.

		The default value is 0.

g:unite_split_rule				*g:unite_split_rule*
		Defines split position rule.

		The default value is "topleft".

g:unite_enable_split_vertically
					*g:unite_enable_split_vertically*
		If this option is 1, unite window is split vertically.

		The default value is 0; unite window is split horizontally.

g:unite_winheight				*g:unite_winheight*
		The height of unite window when it's split horizontally. It's
		ignored in splitting vertically.

		The default value is 20.

g:unite_winwidth				*g:unite_winwidth*
		The width of unite window when it's split vertically.  It's
		ignored in splitting horizontally.

		The default value is 90.

g:unite_kind_openable_cd_command	*g:unite_kind_openable_cd_command*
		Specifies the Vim command for cd action.
		This command must interpret |`=|.

		The default value is "cd".

g:unite_kind_openable_lcd_command	*g:unite_kind_openable_lcd_command*
		Specifies the Vim command for lcd action.
		This command must interpret |`=|.

		The default value is "lcd".

g:unite_cursor_line_highlight		*g:unite_cursor_line_highlight*
		Specifies the cursor line highlight.
		
		The default value is "PmenuSel".

g:unite_abbr_highlight				*g:unite_abbr_highlight*
		Specifies abbreviated candidates highlight.
		
		The default value is "Normal".

g:unite_enable_use_short_source_names
				*g:unite_enable_use_short_source_names*
		If this variable is 1, unite buffer will show short source
		names.

		The default value is 0.

g:unite_marked_icon				*g:unite_marked_icon*
		This variable controls unite marked candidates icon.
		
		Default value is "*"

g:unite_quick_match_table			*g:unite_quick_match_table*
		The table of completion candidates of quick match list,
		corresponding the narrowing text.

		The default value is complex; so see plugin/unite.vim.

g:unite_data_directory				*g:unite_data_directory*
		Specifies directories for configurations internally used in
		unite itself or its sources.  If the directory doesn't exist,
		the directory is automatically generated.  For example
		source of file_mru saves the information of the most recent
		used files into the directory.
		
		The Default value is expand('~/.unite'); the absolute path
		of it.

g:unite_no_default_keymappings		*g:unite_no_default_keymappings*
		If it's 1, unite doesn't map any default key mappings.  You
		shouldn't enable this option without any particular reasons.

		This variable doesn't exist unless you define explicitly.

SOURCES VARIABLES 				*unite-sources-variables*

g:unite_source_buffer_time_format
					*g:unite_source_buffer_time_format*
		Specifies the output format of the last access time of
		|unite-source-buffer|.  The format is same to |strftime()|.

		The default value is "(%Y/%m/%d %H:%M:%S) ".

g:unite_source_file_ignore_pattern	*g:unite_source_file_ignore_pattern*
		Refer autoload/unite/sources/file.vim about the default value.
		Note: This variable is deprecated. Please use
		|unite#custom_source()| instead.
		Note: This variable must be set before using |unite|.

g:unite_source_file_mru_time_format
					*g:unite_source_file_mru_time_format*
		Specifies the output format of the last access time of
		|unite-source-file_mru|.  The format is same to |strftime()|.

		The default value is "(%Y/%m/%d %H:%M:%S) ".

g:unite_source_file_mru_filename_format
				*g:unite_source_file_mru_filename_format*
		Specifies the output format of the filename of
		|unite-source-file_mru|.  The format is same to
		|fnamemodify()|.  If this variable is empty, drawing speed
		is faster.

		The default value is ":~:.".

g:unite_source_file_mru_file			*g:unite_source_file_mru_file*
		Specifies the file to write the information of most recent
		used files.

		The default value is |g:unite_data_directory|; '/file_mru'

g:unite_source_file_mru_limit		*g:unite_source_file_mru_limit*
		The maximum number of most recent files to save.

		The default value is 100.

g:unite_source_file_mru_ignore_pattern
				*g:unite_source_file_mru_ignore_pattern*
		Refer autoload/unite/sources/file_mru.vim about the default
		value.
		Note: This function is deprecated. Please use
		|unite#custom_source()| instead.
		Note: This variable must be set before using |unite|.

g:unite_source_directory_mru_time_format
				*g:unite_source_directory_mru_time_format*
g:unite_source_directory_mru_filename_format
				*g:unite_source_directory_mru_filename_format*
g:unite_source_directory_mru_directory
				*g:unite_source_directory_mru_directory*
g:unite_source_directory_mru_limit
				*g:unite_source_directory_mru_limit*
g:unite_source_directory_mru_ignore_pattern
				*g:unite_source_directory_mru_ignore_pattern*
		They are same to |unite-source-file_mru| except that the
		targets are |unite-source-directory_mru|.

g:unite_source_bookmark_directory	*g:unite_source_bookmark_directory*
		Specifies the directory where |unite-source-bookmark| writes
		its bookmarks.

		The default value is |g:unite_data_directory|; '/bookmark'.

g:unite_source_file_rec_ignore_pattern
				*g:unite_source_file_rec_ignore_pattern*
		Refer autoload/unite/sources/file_rec.vim about the default
		value.
		Note: This variable is deprecated. Please use
		|unite#custom_source()| instead like the below.
>
		" before
		" let g:unite_source_file_rec_ignore_pattern = '\.abc$'
		" after
		call unite#custom_source('file_rec', 'ignore_pattern', '\.abc$')
<
		Note: This variable must be set before using |unite|.

g:unite_source_file_rec_min_cache_files
				*g:unite_source_file_rec_min_cache_files*
		Specifies the minimum number of files that
		|unite-source-file_rec| saves the caches.  Any cache isn't
		saved if the number of files is less than this value or this
		value is 0.

		The default value is 100.

g:unite_source_grep_command			*g:unite_source_grep_command*
		Set grep command.

		The default value is "grep".

g:unite_source_grep_recursive_opt	*g:unite_source_grep_recursive_opt*
		Set grep recursive option.

		The default value is "-R".

g:unite_source_grep_default_opts	*g:unite_source_grep_default_opts*
		Set the default options for grep.
		Note: grep output must match the pattern below.
		filename:number:pattern
>
		let g:unite_source_grep_default_opts = '-iRHn'
<
		The default value is "-Hn".

g:unite_source_grep_max_candidates	*g:unite_source_grep_max_candidates*
		Set the max number of |unite-source-grep| candidates.

		The default value is 100.

g:unite_source_grep_ignore_pattern	*g:unite_source_grep_ignore_pattern*
		Refer autoload/unite/sources/grep.vim about the default
		value.
		Note: This variable is deprecated. Please use
		|unite#custom_source()| instead.
		Note: This variable must be set before using |unite|.

g:unite_source_grep_search_word_highlight
				*g:unite_source_grep_search_word_highlight*
		Specifies the search word highlight.
		
		The default value is "Search".

g:unite_source_vimgrep_search_word_highlight
				*g:unite_source_vimgrep_search_word_highlight*
		Specifies the search word highlight.
		
		The default value is "Search".

g:unite_source_vimgrep_ignore_pattern	*g:unite_source_vimgrep_ignore_pattern*
		Refer autoload/unite/sources/vimgrep.vim about the default
		value.
		Note: This variable is deprecated. Please use
		|unite#custom_source()| instead.
		Note: This variable must be set before using |unite|.

g:unite_source_find_command			*g:unite_source_find_command*
		Set find command.

		The default value is "find".

g:unite_source_find_max_candidates
					*g:unite_source_find_max_candidates*
		Set the max number of |unite-source-find| candidates.

		The default value is 100.

g:unite_source_find_ignore_pattern
					*g:unite_source_find_ignore_pattern*
		Refer autoload/unite/sources/find.vim about the default
		value.
		Note: This variable is deprecated. Please use
		|unite#custom_source()| instead.
		Note: This variable must be set before using |unite|.

g:unite_source_line_enable_highlight
					*g:unite_source_line_enable_highlight*
		Control whether search keyword is highlighted in unite
		buffer.

		The default value is 1.

g:unite_source_line_search_word_highlight
				*g:unite_source_line_search_word_highlight*
		Highlight setting applied to search keyword when
		|g:unite_source_enable_highlight| is true.

		The default value is "Search".

g:unite_source_alias_aliases			*g:unite_source_alias_aliases*
		Set |unite-source-alias| settings.  This variable is
		dictionary. The key is an alias source name, and the value is
		a dictionary with following attributes.  Alias sources are
		copies of original sources.

		source			(String)	(Required)
		Base source name.

		args			(String)	(Optional)
		Set arguments automatically.

		description		(String)	(Optional)
		Description string.

		Example:
>
		let g:unite_source_alias_aliases = {
		      \   'test' : {
		      \     'source': 'file_rec',
		      \     'args': '~/',
		      \   },
		      \ }
<
		The default value is "{}".

g:unite_source_menu_menus			*g:unite_source_menu_menus*
		Set |unite-source-menu| settings.  This variable is
		dictionary.  The keys are menu names and the values are the
		following attributes.

		candidates	(List or Dictionary)	(Required)
		Menu candidates. If candidates type is dictionary, keys are
		ignored, but you can refer in map attribute described below.

		command_candidates
				(List or Dictionary)	(Optional)
		Menu candidates for commands.
		If it is Dictionary, the key is used for word.  The value is
		command name.
		If it is List, the first item is used for word.  The second
		item is command name.

		map		(Function)		(Optional)
		If this attribute is given, candidates are results of
		map(key, value).

		description		(String)	(Optional)
		Description string.

		Example:
>
		let g:unite_source_menu_menus = {}
		let g:unite_source_menu_menus.test = {
		      \     'description' : 'Test menu',
		      \ }
		let g:unite_source_menu_menus.test.candidates = {
		      \   'ghci'      : 'VimShellInteractive ghci',
		      \ }
		function g:unite_source_menu_menus.test.map(key, value)
		  return {
		      \       'word' : a:key, 'kind' : 'command',
		      \       'action__command' : a:value,
		      \     }
		endfunction
		
		let g:unite_source_menu_menus.test2 = {
		      \     'description' : 'Test menu2',
		      \ }
		let g:unite_source_menu_menus.test2.command_candidates = {
		      \   'python'    : 'VimShellInteractive python',
		      \ }
		
		let g:unite_source_menu_menus.test3 = {
		      \     'description' : 'Test menu3',
		      \ }
		let g:unite_source_menu_menus.test3.command_candidates = [
		      \   ['ruby', 'VimShellInteractive ruby
		      \   ['python', 'VimShellInteractive python'],
		      \ ]
		
		nnoremap <silent> sm  :<C-u>Unite menu:test<CR>
<
		The default value is "{}".

g:unite_source_history_yank_enable
					*g:unite_source_history_yank_enable*
		If it's defined and non-0, unite enables
		|unite-source-history/yank|.  Note: This value has to be set
		in .vimrc.

		This variable is not defined by default.

g:unite_source_history_yank_limit	*g:unite_source_history_yank_limit*
		The maximum number of |unite-source-history/yank| to save.
		
		The default value is 100.

g:unite_source_history_yank_file	*g:unite_source_history_yank_file*
		Specifies the file to write the information of yank history.
		If this variable is empty, saving history is disabled.

		The default value is |g:unite_data_directory|; '/history_yank'

g:unite_source_process_enable_confirm	*g:unite_source_process_enable_confirm*
		When you send a signal to a process via |unite-source-process|
		such as KILL, Vim will ask you if you really want to do that
		if this variable is 1.

		The default value is 1.

KINDS VARIABLES					*unite-kinds-variables*

g:unite_kind_jump_list_after_jump_scroll
				*g:unite_kind_jump_list_after_jump_scroll*
		A number for adjusting the location of the cursor after the
		jump by |unite-kind-jump_list|.  The minimum is 0 which means
		the top of the window and the maximum is 100 which means the
		bottom of the window.

		value	meaning		equivalent command
		--------------------------------------
		0	Window top	normal! |z<CR>|
		50	Window centre	normal! |z.|
		100	Window bottom	normal! |z-|

		The default value is 25.

g:unite_kind_openable_persist_open_blink_time
			*g:unite_kind_openable_persist_open_blink_time*
		A number of blink time after "persist_open" action by
		|unite-kind-openable|.

		The default value is "250m"

------------------------------------------------------------------------------
KEY MAPPINGS 					*unite-key-mappings*

Normal mode mappings.

<Plug>(unite_exit)				*<Plug>(unite_exit)*
		Exits unite. And previous unite buffer menu will be restored.
		Note: You cannot close unite buffer using |:close| or
		|:bdelete| or |:quit| command. This mapping restore windows.

<Plug>(unite_all_exit)				*<Plug>(unite_all_exit)*
		Exits unite with previous unite buffer menu.
		Note: You cannot close unite buffer using |:close| or
		|:bdelete| or |:quit| command. This mapping restore windows.

<Plug>(unite_restart)				*<Plug>(unite_restart)*
		Restarts unite.

<Plug>(unite_do_default_action)		*<Plug>(unite_do_default_action)*
		Runs the default action of the default candidates.  The kinds
		of each candidates have their own defined actions.  See also
		|unite-kind| about kinds.  Refer |unite-default-action| about
		default actions.

<Plug>(unite_choose_action)			*<Plug>(unite_choose_action)*
		Runs the default action of the selected candidates.  The kinds
		of each candidates have their own defined actions.  Refer
		|unite-kind| about kinds.

<Plug>(unite_insert_enter)			*<Plug>(unite_insert_enter)*
		Starts inputting narrowing text from the cursor position. In
		case when the cursor is not on prompt line, this moves the
		cursor into the prompt line automatically.

<Plug>(unite_insert_head)			*<Plug>(unite_insert_head)*
		Starts inputting narrowing text from the head of the line. In
		case when the cursor is not on prompt line, this moves the
		cursor into the prompt line automatically.

<Plug>(unite_append_enter)			*<Plug>(unite_append_enter)*
		Starts inputting narrowing text from the right side of the
		cursor position. In case when the cursor is not on prompt
		line, this moves the cursor into the prompt line
		automatically.

<Plug>(unite_append_end)			*<Plug>(unite_append_end)*
		Starts inputting narrowing text from the end of the line. In
		case when the cursor is not on prompt line, this moves the
		cursor into the prompt line automatically.

<Plug>(unite_toggle_mark_current_candidate)
				*<Plug>(unite_toggle_mark_current_candidate)*
		Toggles the mark of the candidates in the current line. You
		may run an action on multiple candidates at the same time by
		marking multiple candidates.

<Plug>(unite_toggle_mark_all_candidates)
				*<Plug>(unite_toggle_mark_all_candidates)*
		Toggles the mark of the candidates in the all lines.

<Plug>(unite_redraw)				*<Plug>(unite_redraw)*
		Without waiting for the update time defined in 
		|g:unite_update_time|, Unite updates its view immediately.
		This is also used internally for updating the cache.

<Plug>(unite_rotate_next_source)	*<Plug>(unite_rotate_next_source)*
		Changes the order of source normally.

<Plug>(unite_rotate_previous_source)	*<Plug>(unite_rotate_previous_source)*
		Changes the order of source reversely.

<Plug>(unite_print_candidate)		*<Plug>(unite_print_candidate)*
		Shows the target of the action of the selected candidate.

<Plug>(unite_cursor_top)			*<Plug>(unite_cursor_top)*
		Moves the cursor to the top of the Unite buffer.

<Plug>(unite_cursor_bottom)			*<Plug>(unite_cursor_bottom)*
		Moves the cursor to the bottom of the Unite buffer.
		Note: This mapping redraw all candidates.

<Plug>(unite_loop_cursor_down)		*<Plug>(unite_loop_cursor_down)*
		Goes to the next line.  Goes up to the top when you are on
		the bottom.

<Plug>(unite_loop_cursor_up)		*<Plug>(unite_loop_cursor_up)*
		Goes to the previous line.  Goes down to the bottom when you are
		on the top.

<Plug>(unite_skip_cursor_down)		*<Plug>(unite_skip_cursor_down)*
		Goes to the next line. But skips unmatched candidates.
		Goes up to top when you are on the bottom.

<Plug>(unite_skip_cursor_up)			*<Plug>(unite_skip_cursor_up)*
		Goes to the previous line. But skips unmatched candidates.
		Goes down to the bottom when you are on the top.

<Plug>(unite_quick_match_default_action)
				*<Plug>(unite_quick_match_default_action)*
		Runs the default action of the selected candidate with using
		quick match. This doesn't work when there are marked
		candidates.

<Plug>(unite_quick_match_choose_action)
				*<Plug>(unite_quick_match_choose_action)*
		Chooses an action of the selected candidate with using quick
		match. This doesn't work when there are marked candidates.

<Plug>(unite_input_directory)		*<Plug>(unite_input_directory)*
		Narrows with inputting directory name.

<Plug>(unite_delete_backward_path)	*<Plug>(unite_delete_backward_path)*
		Deletes a path upward. Refer to
		|i_<Plug>(unite_delete_backward_path)|.

<Plug>(unite_toggle_transpose_window)
				*<Plug>(unite_toggle_transpose_window)*
		Change the unite buffer's split direction.

<Plug>(unite_narrowing_path)			*<Plug>(unite_narrowing_path)*
		Narrowing candidates by candidate path(or word).

<Plug>(unite_narrowing_input_history)
				*<Plug>(unite_narrowing_input_history)*
		Narrowing candidates by input history.

<Plug>(unite_narrowing_dot)
				*<Plug>(unite_narrowing_dot)*
		Narrowing candidates by dot character.

<Plug>(unite_toggle_auto_preview)	*<Plug>(unite_toggle_auto_preview)*
		Toggles the unite buffer's auto preview mode.

<Plug>(unite_toggle_max_candidates)	*<Plug>(unite_toggle_max_candidates)*
		Toggles the unite buffer's max_candidates.

<Plug>(unite_quick_help)			*<Plug>(unite_quick_help)*
		Views the mappings of the unite buffer.

<Plug>(unite_new_candidate)			*<Plug>(unite_new_candidate)*
		Add new candidate in cursor source.

Insert mode mappings.

<Plug>(unite_exit)				*i_<Plug>(unite_exit)*
		Exits Unite.

<Plug>(unite_insert_leave)			*i_<Plug>(unite_insert_leave)*
		Changes the mode into Normal mode and move the cursor to the
		first candidate line.

<Plug>(unite_delete_backward_char)	*i_<Plug>(unite_delete_backward_char)*
		Deletes a char just before the cursor, or quits the Unite.

<Plug>(unite_delete_backward_line)	*i_<Plug>(unite_delete_backward_line)*
		Deletes all chars after the cursor until the end of the line.

<Plug>(unite_delete_backward_word)	*i_<Plug>(unite_delete_backward_word)*
		Deletes a word just before the cursor.

<Plug>(unite_delete_backward_path)	*i_<Plug>(unite_delete_backward_path)*
		Deletes a path upward. For example doing
		<Plug>(unite_delete_backward_path) on >
		/Users/ujihisa/Desktop
<		or >
		/Users/ujihisa/Desktop/
<		this changes into >
		/Users/ujihisa
<		This is handy for changing file paths.

<Plug>(unite_select_next_line)		*i_<Plug>(unite_select_next_line)*
		Goes to the next candidate, or goes to the top from the
		bottom.

<Plug>(unite_select_previous_line)	*i_<Plug>(unite_select_previous_line)*
		Goes to the previous candidate, or goes to the bottom from
		the top.

<Plug>(unite_skip_next_line)		*i_<Plug>(unite_skip_next_line)*
		Goes to the next candidate but skips unmatched candidates.
		Or, goes to the top from the bottom.

<Plug>(unite_skip_previous_line)	*i_<Plug>(unite_skip_previous_line)*
		Goes to the previous candidate but skips unmatched candidates.
		Or, goes to the bottom from the top.

<Plug>(unite_select_next_page)		*i_<Plug>(unite_select_next_page)*
		Shows the next candidate page.

<Plug>(unite_select_previous_page)	*i_<Plug>(unite_select_previous_page)*
		Shows the previous candidate page.

<Plug>(unite_do_default_action)		*i_<Plug>(unite_do_default_action)*
		Same to |<Plug>(unite_do_default_action)|.

<Plug>(unite_toggle_mark_current_candidate)
				*i_<Plug>(unite_toggle_mark_current_candidate)*
		Same to |<Plug>(unite_toggle_mark_current_candidate)|.

<Plug>(unite_choose_action)		*i_<Plug>(unite_choose_action)*
		Same to |<Plug>(unite_choose_action)|.

<Plug>(unite_move_head)				*i_<Plug>(unite_move_head)*
		Goes to the top of the line.

<Plug>(unite_quick_match_default_action)
				*i_<Plug>(unite_quick_match_default_action)*
		Same to |<Plug>(unite_quick_match_default_action)|.

<Plug>(unite_quick_match_choose_action)
				*i_<Plug>(unite_quick_match_choose_action)*
		Same to |<Plug>(unite_quick_match_choose_action)|.

<Plug>(unite_input_directory)		*i_<Plug>(unite_input_directory)*
		Same to |<Plug>(unite_input_directory)|.

<Plug>(unite_toggle_selected_candidates)
				*i_<Plug>(unite_toggle_transpose_window)*
		Same to |<Plug>(unite_toggle_transpose_window)|.

<Plug>(unite_narrowing_path)		*i_<Plug>(unite_narrowing_path)*
		Same to |<Plug>(unite_narrowing_path)|.

<Plug>(unite_narrowing_input_history)
				*i_<Plug>(unite_narrowing_input_history)*
		Same to |<Plug>(unite_narrowing_input_history)|.

<Plug>(unite_toggle_auto_preview)	*i_<Plug>(unite_toggle_auto_preview)*
		Same to |<Plug>(unite_toggle_auto_preview)|.

<Plug>(unite_toggle_max_candidates)
				*i_<Plug>(unite_toggle_max_candidates)*
		Same to |<Plug>(unite_toggle_max_candidates)|.

<Plug>(unite_redraw)				*i_<Plug>(unite_redraw)*
		Same to |<Plug>(unite_redraw)|.

<Plug>(unite_new_candidate)			*i_<Plug>(unite_new_candidate)*
		Same to |<Plug>(unite_new_candidate)|.

Visual mode mappings.

<Plug>(unite_toggle_mark_selected_candidates)
				*v_<Plug>(unite_toggle_selected_candidates)*
		Toggle marks in visual selected candidates.

						*unite_default_key_mappings*
Following keymappings are the default keymappings.

Normal mode mappings.
{lhs}		{rhs}
--------	-----------------------------
i		|<Plug>(unite_insert_enter)|
I		|<Plug>(unite_insert_head)|
a		In case when you selected a candidate,
		|<Plug>(unite_choose_action)|
		else |<Plug>(unite_append_enter)|
A		|<Plug>(unite_append_end)|
q		|<Plug>(unite_exit)|
Q		|<Plug>(unite_all_exit)|
<C-r>		|<Plug>(unite_restart)|
<Space>		|<Plug>(unite_toggle_mark_current_candidate)|
*		|<Plug>(unite_toggle_mark_all_candidates)|
M		|<Plug>(unite_toggle_max_candidates)|
<Tab>		|<Plug>(unite_choose_action)|
<C-n>		|<Plug>(unite_rotate_next_source)|
<C-p>		|<Plug>(unite_rotate_previous_source)|
<C-g>		|<Plug>(unite_print_candidate)|
<C-l>		|<Plug>(unite_redraw)|
<C-h>		|<Plug>(unite_delete_backward_path)|
gg		|<Plug>(unite_cursor_top)|
G		|<Plug>(unite_cursor_bottom)|
j		|<Plug>(unite_loop_cursor_down)|
<Down>		|<Plug>(unite_loop_cursor_down)|
k		|<Plug>(unite_loop_cursor_up)|
<Up>		|<Plug>(unite_loop_cursor_up)|
J		|<Plug>(unite_skip_cursor_down)|
K		|<Plug>(unite_skip_cursor_up)|
?		|<Plug>(unite_quick_help)|
N		|<Plug>(unite_new_candidate)|
<CR>		In case when you selected a candidate, runs default action
d		In case when you selected a candidate, runs delete action
b		In case when you selected a candidate, runs bookmark action
e		In case when you selected a candidate, runs narrow action
t		In case when you selected a candidate, runs tabopen action
yy		In case when you selected a candidate, runs yank action
p		runs preview action
x		In case when you selected a candidate, runs
		|<Plug>(unite_quick_match_default_action)|
.		|<Plug>(unite_narrowing_dot)|

Insert mode mappings.
{lhs}		{rhs}
--------	-----------------------------
<ESC>		|i_<Plug>(unite_insert_leave)|
<Tab>		|i_<Plug>(unite_choose_action)|
<C-n>		|i_<Plug>(unite_select_next_line)|
<Down>		|i_<Plug>(unite_select_next_line)|
<C-p>		|i_<Plug>(unite_select_previous_line)|
<Up>		|i_<Plug>(unite_select_previous_line)|
<C-f>		|i_<Plug>(unite_select_next_page)|
<C-b>		|i_<Plug>(unite_select_previous_page)|
<CR>		|i_<Plug>(unite_do_default_action)|
<C-h>		|i_<Plug>(unite_delete_backward_char)|
<BS>		|i_<Plug>(unite_delete_backward_char)|
<C-u>		|i_<Plug>(unite_delete_backward_line)|
<C-w>		|i_<Plug>(unite_delete_backward_word)|
<C-a>		|i_<Plug>(unite_move_head)|
<Home>		|i_<Plug>(unite_move_head)|
<C-l>		|i_<Plug>(unite_redraw)|
<C-g>		|i_<Plug>(unite_exit)|
e		In case when you selected a candidate, runs narrow action
d		In case when you selected a candidate, runs delete action
t		In case when you selected a candidate, runs tabopen action
<Space>		In case when you selected a candidate,
		|i_<Plug>(unite_toggle_mark_current_candidate)|
x		In case when you selected a candidate,
		|i_<Plug>(unite_quick_match_default_action)|

Visual mode mappings.
{lhs}		{rhs}
--------	-----------------------------
<Space>		|v_<Plug>(unite_toggle_mark_selected_candidates)|

------------------------------------------------------------------------------
FUNCTIONS					*unite-functions*

CORE						*unite-functions-core*

unite#get_kinds([{kind-name}])			*unite#get_kinds()*
		Gets the kinds of {kind-name}.  Unless they exist, this
		returns an empty dictionary.  This returns a dictionary of
		that keys are kind names and values are the kinds when you
		skip giving {kind-name}.

		Note: Changing the return value is not allowed.

unite#get_sources([{source-name}])		*unite#get_sources()*
		Gets the loaded source of {source-name}. Unless they exist,
		this returns an empty dictionary.  This returns a dictionary
		of that keys are source names and values are the sources when
		you skip giving {source-name}.  If you give {source-name} as
		dictionary, unite.vim use this source temporary.

		Note: Changing the return value is not allowed.

unite#get_unite_winnr({buffer-name})		*unite#get_unite_winnr()*
		Returns unite window number which has {buffer-name}. If the
		window is not found, it will return -1.

unite#redraw([{winnr}])				*unite#redraw()*
		Redraw {winnr} unite window. If you omit {winnr}, current
		window number will be used.

unite#force_redraw([{winnr}])			*unite#force_redraw()*
		Force redraw {winnr} unite window. If you omit {winnr},
		current window number will be used.

CUSTOMS						*unite-functions-customs*

unite#start({sources}, [, {context}])		*unite#start()*
		Creates a new Unite buffer.  In case when you are already on a
		Unite buffer, the narrowing text is preserved.

		{sources} is a list of which elements are formatted as
		{source-name} or [{source-name}, {args}, ...].  You may
		specify multiple string arguments for {args} of {source-name}.

		Refer |unite-notation-{context}| about {context}.  If you
		skip a value, it uses the default value.

unite#start_complete({sources}, [{context}])	*unite#start_complete()*
		Returns the key sequence that opens unite buffer for
		completion.  This will be used with inoremap <buffer><expr>
		usually.
		Example:
>
		inoremap <buffer><expr> <C-l> unite#start_complete(
		\ ['vimshell/history'], {
		\ 'start_insert' : 0,
		\ 'input' : vimshell#get_cur_text()})
<
unite#get_candidates({sources}, [, {context}])	*unite#get_candidates()*
		Get a list of all candidates of sources. Unite buffer is not
		created.  This function may not work in some sources. The
		arguments feature is same to |unite#start()|.
		Note: max_candidates option of sources is ignored.

unite#do_candidates_action({action-name}, {candidates}, [, {context}])
						*unite#do_candidates_action()*
		Does {action-name} with {candidates}. Unite buffer is not
		created.  This function may not work in some actions.
		Note: To get candidates, use |unite#get_candidates()|.

unite#get_context()				*unite#get_context()*
		Gets the context information of the current Unite buffer.
		This is used by functions like |unite#custom_action()| to call
		|unite#start()| internally.

unite#do_action({action-name})			*unite#do_action()*
		Returns the key sequence for running {action-name} action to
		the marked candidates.  This function works only when Unite
		has been already activated.  This causes a runtime error if
		{action-name} doesn't exist or the action is invalid.

		This is handy for defining a key mapping to run an action.

		This runs the default action when you specify "default" for
		{action-name}.

		This runs an action on the candidates of the current line or
		the top of the candidates when none of the candidates are
		marked.

		This is usually used as inoremap <buffer><expr> or
		nnoremap <buffer><expr>.  For example,
>
		nnoremap <silent><buffer><expr> <C-k> unite#do_action('preview')
>
unite#smart_map({narrow-map}, {select-map})	*unite#smart_map()*
		Returns the key sequence which works both modes of narrowing
		and selecting with respect to the given narrow-map and
		select-map.  Use this with |unite#do_action()|.  This will be
		used with inoremap <buffer><expr> or nnoremap <buffer><expr>
		usually.
		Example:
>
		inoremap <buffer><expr> ' unite#smart_map("'", unite#do_action('preview'))
<
unite#mappings#set_current_filters({filters})
					*unite#mappings#set_current_filters()*
		Changes current unite buffer filters.
		Example:
>
  nnoremap <buffer><expr> S      unite#mappings#set_current_filters(
        \ empty(unite#mappings#get_current_filters()) ? ['sorter_reverse'] : [])
<
unite#mappings#get_current_filters()
					*unite#mappings#get_current_filters()*
		Gets current unite buffer filters.

unite#set_substitute_pattern({profile-name}, {pattern}, {subst} [, {priority}])
						*unite#set_substitute_pattern()*
		Specifies a replace pattern of narrowing text for a Unite
		buffer of which name is {profile-name}.  "" is regarded as
		"default" and is equivalent to the case of |:Unite| without
		-buffer-name= option.  You may specify multiple {profile-name}
		with breaking with ",".  {pattern} is the replace target regexp
		and {subst} is the substitute string.  If you specify a same
		{pattern} again, the setting is just updated.  You may
		defeat {pattern} with giving "" to {subst}.  {priority}
		prioritizes how this replaces.  If you skipped giving
		{priority} it is 0.  Give bigger number for a {pattern}
		which must be done earlier.
		Note: that the initial text of Unite buffer is not replaced
		with these values.

		You may mimic ambiguous matching with using this function.
>
		call unite#set_substitute_pattern('files', '[^*]\ze[[:alnum:]]', '\0*', 100)
		call unite#set_substitute_pattern('files', '[[:alnum:]]', ' \0', 100)
<
		The former does ambiguous search within "/" while the latter
		does over it.

		The initial value is defined as the following; on a buffer of
		which profile_name is files, it adds a wildcard in order to
		match ~ as $HOME and to match "/" partially.
>
		call unite#set_substitute_pattern('files', '^\~',
		\ substitute(unite#util#substitute_path_separator($HOME), ' ', '\\\\ ', 'g'), -100)
		call unite#set_substitute_pattern('files', '[^~.*]\ze/', '\0*', 100)
		call unite#set_substitute_pattern('files', '/\ze[^~.*]', '/*', 100)
		call unite#set_substitute_pattern('files', '\.', '*.', 1000)
<
		If {subst} is a list, Unite searches by some narrowing texts.
		Note: It is only once to be replaced with a list.
>
		call unite#set_substitute_pattern('files', '^\.v/',
		\ [expand('~/.vim/'), unite#util#substitute_path_separator($HOME) . '/.bundle/*/'], 1000)
<
unite#get_substitute_pattern({profile-name})
						*unite#get_substitute_pattern()*
		Gets the substitute pattern for narrowing text of a Unite
		buffer name {profile-name}.  This causes an error without the
		substitute pattern of {profile-name}.  This is for debugging.

unite#set_profile({profile-name}, {option-name}, {value})
						*unite#set_profile()*
		Set {profile-name} specialized {option-name} to {value}.
		Note: If you use single source in unite.vim commands with
		omitting profile name and buffer name, "source/{source-name}"
		is used. So you can define source specific profile.
		
		These options below are available:
		
		substitute_patterns		(Dictionary)
		Specifies substitute patterns. The key is "pattern",
		"subst" and "priority". Please refer to
		|unite#set_substitute_pattern()|.
		
		filters				(List)
		Specifies a list of filter names. The filters are called after
		combining all candidates. If you change filters dynamically,
		use |unite#mappings#set_current_filters()| instead.
		
		ignorecase			(Number)
		Specifies 'ignorecase' value in unite buffer. If it is
		omitted, global 'ignorecase' value is used.
		Note: If profile_name is "files", the default value "1" is
		used.
		
		smartcase			(Number)
		Specifies 'smartcase' value in unite buffer. If it is omitted,
		global 'smartcase' value is used.
		Note: If profile_name is "files", the default value "0" is
		used.
		
		context				(Dictionary)
		Specifies default {context} value in unite buffer.
		You can custom the context in unite buffer.
		Note: In temporary unite buffer and script created unite
		buffer, the context overwrites current context instead of
		default context.
		
		Example:
>
		" Start insert mode in unite-action buffer.
		call unite#set_profile('action', 'context',
		\ {'start_insert' : 1})
		" Set "-no-quit" automatically in grep unite source.
		call unite#set_profile('source/grep', 'context',
		\ {'no_quit' : 1})
<
unite#set_buffer_name_option({buffer-name}, {option-name}, {value})
					*unite#set_buffer_name_option()*
		This function is deprecated. Please use
		|unite#set_profile()| instead.

unite#custom_default_action({kind}, {default-action})
					*unite#custom_default_action()*
		Changes the default action of {kind} into {default-action}.
		You may specify multiple {kind} with separating ",".  For
		Example:
>
		call unite#custom_default_action('file', 'tabopen')
<
unite#custom_action({kind}, {name}, {action})
						*unite#custom_action()*
		Adds an {action} of which name is {name} for {kind}.
		You may specify multiple {kind} with separating ",".  For
		example:
>
		let my_tabopen = {
		\ 'is_selectable' : 1,
		\ }
		function! my_tabopen.func(candidates)
		  call unite#take_action('tabopen', a:candidates)
		
		  let dir = isdirectory(a:candidate.word) ?
		  \    a:candidate.word : fnamemodify(a:candidate.word, ':p:h')
		  execute g:unite_kind_openable_lcd_command '`=dir`'
		endfunction
		call unite#custom_action('file,buffer', 'tabopen', my_tabopen)
		unlet my_tabopen
<
unite#undef_custom_action({kind}, {name})	*unite#undef_custom_action()*
		Deletes an action of which name is {name} of {kind} that you
		added with using |unite#custom_action()|.  You may specify
		multiple {kind} with separating ",".  This function doesn't do
		anything if the function doesn't exist.

unite#custom_alias({kind}, {name}, {action})
						*unite#custom_alias()*
		Defines an action of {name} which is another name of {action}
		in {kind}.  You may specify multiple {kind} with separating
		",".  If {action} is "nop", such action is disabled.
		example:
>
		call unite#custom_alias('file', 'h', 'left')
<
unite#custom_filters({source-name}, {filters})	*unite#custom_filters()*
		Changes the filters of {source-name} into {filters}. You
		may specify multiple sources with separating "," in
		{source-name}.  {filters} is a name of filter or a list of
		the names.
		Note: This function is deprecated. Please use
		|unite#custom_source()| instead.

unite#custom_max_candidates({source-name}, {max})
					*unite#custom_max_candidates()*
		Changes the max candidates of {source-name} into
		{max}.  You may specify multiple sources with
		separating "," in {source-name}.
		Note: This function is deprecated. Please use
		|unite#custom_source()| instead.

unite#custom_source({source-name}, {option-name}, {value})
						*unite#custom_source()*
		Set {source-name} source specialized {option-name}
		to {value}.
		
		These options below are available:
		
		filters				(List)
		Specifies a list of filter names.  The filters overwrite
		source default filters.
		
		matchers			(List) or (String)
		Specifies a list of matcher names.  The filters overwrite
		source default matchers.
		
		sorters				(List) or (String)
		Specifies a list of sorter names.  The filters overwrite
		source default sorters.
		
		converters			(List) or (String)
		Specifies a list of converter names.  The filters overwrite
		source default converters.
		
		max_candidates			(Number)
		Changes the max candidates into {value}.  If {value}
		is 0, all candidates is displayed.
		
		ignore_pattern			(String)
		Specifies the regexp pattern to ignore candidates of the
		source.  This applies on the path or word attribute of
		candidates.  Regardless of |g:unite_enable_ignore_case| value,
		it's case sensitive.
		
		variables			(Dictionary)
		Changes the source custom variables. The variables are depends
		on sources.

unite#take_action({action-name}, {candidate})
						*unite#take_action()*
		Runs an action {action-name} against {candidate}.  This will
		be mainly used in |unite#custom_action()|.  When the action is
		is_selectable, the {candidate} will be automatically converted
		into a list.

unite#take_parents_action({action-name}, {candidate}, {extend-candidate})
						*unite#take_parents_action()*
		Same to |unite#take_action()| but searches the parents' action
		table with combining {extend-candidate} on {candidate}.  This
		is handy for reusing parents' actions.

unite#define_source({source})			*unite#define_source()*
		Adds {source} dynamically.  See also |unite-create-source|
		about the detail of source.  If a source with the same name
		exists, that is overwritten.

unite#define_kind({kind})			*unite#define_kind()*
		Adds {kind} dynamically.  See also |unite-create-kind|
		about the detail of kind.  If a kind with the same name
		exists, that is overwritten.

unite#define_filter({filter})			*unite#define_filter()*
		Adds {filter} dynamically.  See also |unite-create-filter|
		about the detail of filter.  If a filter with the same name
		exists, that is overwritten.

unite#undef_source({name})			*unite#undef_source()*
		Removes the source with a name of {name} that was added by
		|unite#define_source()|.  If such a source doesn't exist, this
		function doesn't do anything.

unite#undef_kind({name})			*unite#undef_kind()*
		Removes the kind with a name of {name} that was added by
		|unite#define_kind()|.  If such a kind doesn't exist, this
		function doesn't do anything.

unite#undef_filter({name})			*unite#undef_filter()*
		Removes the filter with a name of {name} that was added by
		|unite#define_filter()|.  If such a filter doesn't exist,
		this function doesn't do anything.

unite#filters#matcher_default#use({matchers})
					*unite#filters#matcher_default#use(()*
		Changes the default match used by
		|unite-filter-matcher_default| into {matchers}.
		{matchers} must be specified with a list of matcher names.

unite#filters#sorter_default#use({sorters})
					*unite#filters#sorter_default#use(()*
		Changes the default sorter used by
		|unite-filter-sorter_default| into {sourters}.  {sorters}
		must be specified with a list of sorter names.

					*unite#filters#converter_default#use(()*
unite#filters#converter_default#use({converters})
		Changes the default converter used by
		|unite-filter-converter_default| into {converters}.
		{converters} must be specified with a list of converter names.

------------------------------------------------------------------------------
OPTIONS						*unite-options*

{options} are options for a unite buffer. You may give the
following parameters for an option. You need to escape spaces
with "\".

Note: In unite.vim, options converts to a context dictionary.
The "-buffer-name" option is same to "buffer_name" key in
context.

						*unite-options-buffer-name*
		-buffer-name={buffer-name}
		Specifies a buffer name. You can share the configuration of
		functions like |unite#set_substitute_pattern()| by giving the
		same name to unite buffers that have the same purpose.  The
		default buffer name is 'default'.
		Note: Buffer name must not contain any spaces.

						*unite-options-profile-name*
		-profile-name={profile-name}		(String)
		Specifies a profile name. The default profile name is same to
		buffer name. But if you use single source and omit buffer
		name, "source/{source-name}" is used. So you can define source
		specific profile.

						*unite-options-input*
		-input={input-text}
		Specifies an initial narrowing text. The default value is ''.

						*unite-options-prompt*
		-prompt={prompt-text}
		Specifies a prompt. The default value is '> '.

						*unite-options-default-action*
		-default-action={default-action}
		Specifies a default action. The default value is 'default'.

					*unite-options-start-insert*
					*unite-options-no-start-insert*
		-start-insert
		Opens a unite buffer in the narrowing mode.

		-no-start-insert
		Opens a unite buffer in the normal mode.

		When both options are undefined, it depends on
		|g:unite_enable_start_insert| option.
		The behavior is undefined when both options are defined.

						*unite-options-no-quit*
		-no-quit
		Doesn't close unite buffer after firing an action.  Unless you
		specify it, a unite buffer gets closed when you selected an
		action which is "is_quit".

						*unite-options-keep-focus*
		-keep-focus
		Keep the focus on a unite buffer after firing an action.
		Note: This option is used with "-no-quit" option.

						*unite-options-winwidth*
		-winwidth={window-width}
		Specifies the width of a unite buffer.  Unless you specify
		it, |g:unite_winwidth| is used.

						*unite-options-winheight*
		-winheight={window-height}
		Specifies the height of a unite buffer.  Unless you specify
		it, |g:unite_winheight| is used.

						*unite-options-immediately*
		-immediately
		If the number of candidates is exactly one, it runs default
		action immediately. If candidate is empty, it doesn't open any
		unite buffer.

						*unite-options-no-empty*
		-no-empty
		If candidate is empty, it doesn't open any unite buffer.

						*unite-options-auto-preview*
		-auto-preview
		When you selected a candidate, it runs "preview" action
		automatically.

						*unite-options-completion*
		-completion
		Uses unite completion interface. |unite-options-col| is also
		required.

						*unite-options-col*
		-col={column-number}
		Specifies the called unite buffer position.

						*unite-options-vertical*
		-vertical
		Splits unite window vertically.

						*unite-options-horizontal*
		-horizontal
		Splits unite window horizontally.
		
		When both options are undefined, it depends on
		|g:unite_enable_split_vertically| option.
		The behavior is undefined when both options are defined.

						*unite-options-direction*
		-direction={direction}
		Defines split position rule. The default value is the same to
		|g:unite_split_rule|.

						*unite-options-no-split*
		-no-split
		No split unite buffer and no resize window.

						*unite-options-verbose*
		-verbose
		Print verbose warning messages.

						*unite-options-auto-resize*
		-auto-resize
		Auto resize unite buffer height by candidates number.

						*unite-options-toggle*
		-toggle
		Close unite buffer window if one of the same buffer name
		exists.

						*unite-options-quick-match*
		-quick-match
		Start in the quick match mode.

						*unite-options-create*
		-create
		Create a new unite buffer.

						*unite-options-update-time*
		-update-time={new-update-time}
		Change 'updatetime' option. If this option is ommit,
		|g:unite_update_time| is used. This option is useful for
		animation source.

					*unite-options-cursor-line-highlight*
		-cursor-line-high-light={highlight-name}
		Change cursor line highlight. If this option is ommit,
		|g:unite_cursor_line_highlight| is used.

						*unite-options-no-cursor-line*
		-no-cursor-line
		Disable cursor line highlight. This option is useful for
		animation source.

					*unite-options-hide-source-names*
		-hide-source-names
		Hides source names.
		Note: This option doesn't hide status line.
		Note: Source highlight will be overwritten by other sources.

					*unite-options-hide-status-line*
		-hide-status-line
		Hides status line.
		Note: This option doesn't hide source names.

					*unite-options-max-multi-lines*
		-max-multi-lines={max-lines}
		Specifies the lines max in multiline candidates. If this
		option is ommit, "5" is used.

						*unite-options-here*
		-here
		Open unite buffer at the cursor position.
		Note: This option is disabled if "-vertical" or "-no-split"
		option is on.

						*unite-options-silent*
		-silent
		Shuts messages up in unite buffer.

						*unite-options-auto-quit*
		-auto-quit
		Closes unite buffer automatically when all candidates are
		shown.

						*unite-options-no-focus*
		-no-focus
		No the focus on the unite buffer after opening a unite buffer.

					*unite-options-short-source-names*
		-short-source-names
		Use short source names.

					*unite-options-long-source-names*
		-long-source-names
		Use long source names.

						*unite-options-multi-line*
		-multi-line
		Force use multi line. If candiate abbr is too long, unite.vim
		will fold automatically.

						*unite-options-resume*
		-resume
		Reuse previous buffer if exists. Cf: |:UniteResume|

						*unite-options-wrap*
		-wrap
		If it is set, lines longer than the width of the window will
		wrap and displaying continues on the next line.
		Note: This option will set 'wrap' option and disable
		|unite-options-multi-line| option.

==============================================================================
SOURCES						*unite-sources*

						*unite-source-file*
file		Nominates an input file as a candidate.
		Note: This source doesn't nominate files in parent directory
		(Example: "../") or hidden files(Example: ".gitignore").
		If you want to open these files, please input ".".

						*unite-source-file/new*
file/new	Nominates a new input file as a candidate.

						*unite-source-file_mru*
file_mru	Nominates files you used recently as candidates, ordering
		by time series.

						*unite-source-file_rec*
file_rec	Gather files recursive and nominates all directory or file
		names under the search directory(argument 1) or the current
		directly(if argument is ommitted) as candidates.  This may get
		Vim frozen when there are too many candidates. The candidates
		are cached by file_rec source. If you clear cache, use
		|<Plug>(unite_redraw)| keymapping.
		If argument 1 is "!", use the project directory instead of
		current directory. The project directory has ".git", ".svn",
		".hg".
		Note: If you edit file by Vim, file_rec source will update
		cache file.
		Note: If the candiates are over 1000, it will disable make
		cache.

		Source arguments:
		1. the search directory.

						*unite-source-file_rec/async*
file_rec/async	Same as |unite-source-file_rec|, but get files asynchronously.
		
		Note: This source requires vimproc.
		Note: Windows "find" command is not supported.
		Please install UNIX Tools find for Windows.
		Note: If you edit file by Vim, file_rec/async source will
		update cache file.
		Note: If the candiates are over 1000, it will disable make
		cache.
		
		Source arguments:
		1. the search directory.

						*unite-source-directory*
directory	Nominates an input directory as a candidate.
		Note: This source doesn't nominate parent directory(Example:
		"../") or hidden directories(Example: ".git").  If you want to
		open this directories, please input ".".

						*unite-source-directory/new*
directory/new	Nominates a new input directory as a candidate.

						*unite-source-directory_mru*
directory_mru	Nominates directories you used recently as candidates,
		ordering by time series.

						*unite-source-buffer*
buffer		Nominates opened buffers as candidates, ordering by time
		series.
		If argument 1 is "!", both listed and non-listed buffer are
		displayed.
		If argument 1 is "?", non-listed buffer is displayed.

		Source arguments:
		1. "!" or "?".

						*unite-source-buffer_tab*
buffer_tab	Nominates opened buffers only in the current tab as
		candidates, ordering by time series.
		Argument specification is same to buffer source.

		Source arguments:
		1. "!" or "?".

						*unite-source-tab*
tab		Nominates opened tabs as candidates, regarding t:cwd as the
		current directory and t:title as the title of the tab.  This
		requires |gettabvar()|.

		If t:title exists, this is used as "word" for narrowing.
		Otherwise, the buffer name of the current tab is used.

		Source arguments:
		1. "no-current" removes current tab from candidates.

						*unite-source-register*
register	Nominates the strings stored in registers as candidates.

						*unite-source-bookmark*
bookmark	Nominates files or directories you bookmarked as candidates.
		If source arguments are ommitted, "default" bookmark file name
		is used.

		Source arguments:
		1. Bookmark file name.

						*unite-source-source*
source		Nominates Unite source names themselves as candidates.

		Runs |unite#start()| with the selected source name, using the
		current Unite buffer context.

						*unite-source-window*
window		Nominates opened windows as candidates, ordering by time
		series.

		Source arguments:
		1. "no-current" removes current window from candidates.

						*unite-source-output*
output		Nominates executed Vim command as candidates.

		Source arguments:
		1. Vim command.

						*unite-source-command*
command		Nominates Vim Ex commands as candidates.
		Note: To gather Vim internal commands, unite.vim uses
		|neocomplcache| functions.

						*unite-source-function*
function	Nominates functions as candidates.
		Note: To gather Vim internal functions, unite.vim uses
		|neocomplcache| functions.

						*unite-source-mapping*
mapping		Nominates Vim mappings as candidates.

		Source arguments:
		1. Buffer number.

						*unite-source-grep*
grep		Nominates "grep" command output as candidates.
		Note: This source is created by Sixeight.

		Note: This source requires vimproc.  Please install.
		http://github.com/Shougo/vimproc/tree/master

		Source arguments:
		1. the target directory.
		2. "grep" options.
		3. the narrowing pattern.
		Max candidates: |g:unite_source_grep_max_candidates|

		Special Target:
		%         : Current buffer name
		#         : Alternate buffer name
		$buffers  : All buffer names

		Source variables:
		command                : grep command name
		default_opts           : default grep options
		recursive_opt          : grep recursive options
		search_word_highlight  : search word highlight

		Example:
>
	:Unite grep:~/.vim/autoload/unite/sources:-iR:file
<
		Settings Example:
>
	" Use ack in unite grep source.
	if executable('ack-grep')
	  let g:unite_source_grep_command = 'ack-grep'
	  let g:unite_source_grep_default_opts = '--no-heading --no-color -a'
	  let g:unite_source_grep_recursive_opt = ''
	endif
<
						*unite-source-vimgrep*
vimgrep		Nominates |vimgrep| command output as candidates.
		This source is slower than |unite-source-grep|, but
		it can recognize file encodings.
		Note: The source clears quickfix list.

		Source arguments:
		1. the target directory.
		2. the narrowing pattern.

						*unite-source-find*
find		Nominates "find" command output as candidates.

		Note: This source requires vimproc.  Please install.
		http://github.com/Shougo/vimproc/tree/master
		
		Note: Windows "find" command is not supported.
		Please install UNIX Tools find for Windows.

		Source arguments:
		1. the target directory.
		2. "find" options.
		Max candidates: |g:unite_source_find_max_candidates|

						*unite-source-line*
line		Nominates current buffer lines as candidates.
		Note: This source is created by t9md.

		Source arguments:
		1. the search direction. "all" or "forward" or "backward".
		Max candidates: 100

		Example:
>
	nnoremap <silent> /  :<C-u>Unite -buffer-name=search line -start-insert -no-quit<CR>
<
						*unite-source-line/fast*
line/fast	Nominates current buffer lines as candidates.
		This source is created for big line files(over 10000 lines).
		It filters candiates automatically.
		Note: You cannot change the matcher in it.

		Source arguments:
		1. the search direction. "all" or "forward" or "backward".
		Max candidates: 100

		Example:
>
	nnoremap <silent> /  :<C-u>Unite -buffer-name=search line/fast -start-insert -no-quit<CR>
<
						*unite-source-jump*
jump		Nominates results of |:jumps| command as candidates.

						*unite-source-change*
change		Nominates results of |:changes| command as candidates.

						*unite-source-jump_point*
jump_point	Nominates current line of "file:line" format as candidates.
		This source is useful for |vimshell| outputs.

						*unite-source-file_point*
file_point	Nominates filename or URI at the cursor as candidates.
		This source is useful for |vimshell| outputs.

						*unite-source-launcher*
launcher	Nominates executable files from $PATH as candidates.

		Source arguments:
		1. comma separated executable files' path.

						*unite-source-alias*
alias		Creates alias source copied from original source.
		This source is dummy. To create alias source, please refer to
		|g:unite_source_alias_aliases|.
		Note: This source is created by tacroe.

						*unite-source-menu*
menu		Nominates menus.
		If arguments is not given, all menu names are nominated.
		To create menus, please refer to
		|g:unite_source_menu_menus|.

		Source arguments:
		1. menu name.

						*unite-source-history/yank*
history/yank	Nominates yanked words.
		To use this source, set
		|g:unite_source_history_yank_enable| is 1.
		Note: This source is disabled when
		|g:unite_source_history_yank_enable| is 0 or not defined.

						*unite-source-process*
process		Nominates processes.
		Note: This source is required "ps" command or "tasklist"
		command(in Windows).

						*unite-source-runtimepath*
runtimepath	Nominates runtimepath directories.

==============================================================================
KINDS						*unite-kinds*

						*unite-kind-common*
common		A kind for common actions.  Almost all kinds inherit this
		common implicitly. This only requires word key.

						*unite-kind-openable*
openable	An interface that can open.  This doesn't require any keys,
		but a kind that inherits this requires open action.

						*unite-kind-cdable*
cdable		An interface that can change the working directory.

			action__directory	(String)	(Required)
				The target directory.

						*unite-kind-file*
file		An interface for files.  This kind inherits cdable, uri
		and openable, so this requires kinds that they require.

			action__path		(String)	(Required)
				The path of the target directory.

						*unite-kind-buffer*
buffer		An interface for buffers.  This kind inherits file, so
		this requires keys that it requires.

			action__buffer_nr	(String		(Required)
				The number of the target buffer.

						*unite-kind-tab*
tab		An interface for tabs.  If you can use |gettabvar()|, since
		this kind inherits cdable, this requires keys that those kind
		require.

			action__tab_nr		(String)	(Required)
				The number of the tab.

						*unite-kind-directory*
directory	An interface for directories.  This kind inherits file,
		this requires keys it requires.

						*unite-kind-word*
word		A String that can be inserted.

			word			(String)	(Required)
				The string you want to insert.

						*unite-kind-jump_list*
jump_list	An interface for jumping to the file position.  This kind
		inherits openable, so this requires that it requires.
		Note: The action__path or action__buffer_nr is required.

			action__path		(String)	(Required)
				The path of the file that you'll jump into.

			action__buffer_nr	(String)	(Required)
				The buffer number of the buffer that you'll
				jump into.

			action__line		(Number)	(Optional)
				The line number in the file you'll jump into.

			action__col		(Number)	(Optional)
				The column number in the file you'll jump
				into.

			action__pattern		(String)	(Optional)
				The search pattern after the file is opened.

			action__signature	(String)	(Optional)
				In case you cannot assume the uniqueness of
				where you'll jump into only by the pattern of
				action__pattern and action__line, a unique
				String to distinguish lines that match same
				pattern.

		About action__signature and calc_signature() function

		A source which specifies action__signature must define
		cals_signatre() function for calculating the signature by the
		line number of the buffer.  calc_signature() receives {lnum}
		as the first argument and returns a signature in String, where
		{lnum} is a line number.  jump_list compares signatures with
		calling this function.

		The below is an example.
>
		function! s:source.calc_signature(lnum)
		  let range = 2
		  let from = max([1, a:lnum - range])
		  let to   = min([a:lnum + range, line('$')])
		  return join(getline(from, to))
		endfunction
<
						*unite-kind-command*
command		An interface for Ex commands of Vim.

			action__command		(String)	(Required)
				The command to run.

						*unite-kind-window*
window		An interface for Windows of Vim.
		This kind inherits cdable, so this requires keys that it
		requires.

			action__window_nr	(String)	(Required)
				The target window number.

						*unite-kind-completion*
completion	An interface for completion.

			action__complete_word	(String)	(Required)
				The completion word.

			action__complete_pos	(Number)	(Required)
				The completion position.

			action__complete_info	(String)	(Optional)
				The completion information.

						*unite-kind-source*
source		unite.vim source
		If this kind candiate is executed, unite.vim starts unite
		session in current unite buffer.  When you close unite buffer,
		sources are restored. So, unite.vim behaves like menu.

			action__source_name	(String)	(Required)
				The source name.

			action__source_name	(List)		(Optional)
				The source arguments.

						*unite-kind-uri*
uri		Files and protocols.

			action__path		(String)	(Required)
				The file uri.
				If it is omitted, "action__path" is used.

						*unite-kind-guicmd*
guicmd		GUI executable commands.

			action__path		(String)	(Required)
				The command path.

			action__args		(List)		(Optional)
				The command args.

==============================================================================
FILTERS						*unite-filters*

						*unite-filter-default*
default		This default filter is used unless specified explicitly.
		This filter is a dummy with ["matcher_context",
		"sorter_nothing", "converter_nothing"] registered initially.
		This filter can be changed by calling
		|unite#filters#default#use()|.

						*unite-filter-matcher_default*
matcher_default	The default matcher used by |unite-filter-default| with
		["matcher_context"] set initially.
		This can be changed by calling
		|unite#filters#matcher_default#use()|.

						*unite-filter-matcher_glob*
matcher_glob	A matcher which filters the candidates with user given
		glob pattern.  This recognizes "*" as wild card and "!" as
		negative.  Narrowing down can be done by word.

						*unite-filter-matcher_regexp*
matcher_regexp	A matcher which filters the candidates with user given
		regular expression. This recognizes "!" as negative.
		Narrowing down can be done by word.

						*unite-filter-matcher_fuzzy*
matcher_fuzzy	A matcher which filters the candidates with user
		given fuzzy string.
		This recognizes "!" as negative.
		Narrowing down can be done by word.
		Note: that narrowing down might be slower if this matcher is
		used.
		This matcher may produce th best effect if set as
		|unite-source-file_rec|.
>
		call unite#custom_source('file,file/new,buffer,file_rec',
		\ 'matchers', 'matcher_fuzzy')
<
						*unite-filter-matcher_migemo*
matcher_migemo	For Japanese migemo filter.
>
		call unite#custom_source('line', 'matchers', 'matcher_migemo')
<
				*unite-filter-matcher_hide_hidden_files*
matcher_hide_hidden_files
		Hide hidden files filter.  If your input contains ".", hidden
		files will be appeared.

						*unite-filter-matcher_context*
matcher_context	A matcher which filters the candidates with user given glob
		pattern or regexp pattern. In default, use glob pattern. If
		the pattern starts "^", will use regexp pattern(head match).
		Note: The filter is created by hrsh7th.

						*unite-filter-sorter_default*
sorter_default	The default sorter used by |unite-filter-default|.
		["sorter_nothing"] is set initially.
		This default sorter can be changed by calling
		|unite#filters#sorter_default#use()|.

						*unite-filter-sorter_nothing*
sorter_nothing	Nothing sorter.

						*unite-filter-sorter_word*
sorter_word	Compare word sorter.

						*unite-filter-sorter_length*
sorter_length	Compare length sorter.

						*unite-filter-sorter_rank*
sorter_rank	Matched rank order sorter.  The higher the matched word is or
		the longer the matched length is, the higher the rank is.
		This sorter is useful for file candidate source.
>
		call unite#custom_source('buffer,file,file_mru,file_rec',
		\ 'sorters', 'sorter_rank')
<
						*unite-filter-sorter_reverse*
sorter_reverse	Reverse order sorter.

					*unite-filter-converter_default*
converter_default
		The default converter used by |unite-filter-default|.
		["converter_nothing"] is set initially.
		This default converter can be changed by calling
		|unite#filters#converter_default#use()|.

					*unite-filter-converter_nothing*
converter_nothing
		This converter is dummy.

					*unite-filter-converter_relative_word*
converter_relative_word
		A converter which converts a candidate's word into a
		corresponding relative path.
		word can be used by matcher to narrow down the candidates and
		must be set in precedence of the matcher.
		If context information contains source__directory, this
		converter uses it as the base path in relative path
		conversion.
>
		call unite#custom_source('file_rec', 'filters',
		\ ['converter_relative_word', 'matcher_default',
		\  'sorter_default', 'converter_relative_abbr'])
<
					*unite-filter-converter_relative_abbr*
converter_relative_abbr
		A converter which converts a candidate's abbr into a
		corresponding relative path.
		Specification of this term is almost the same as
		|unite-filter-converter_relative_word|.

==============================================================================
ACTIONS						*unite-actions*

Actions of each kinds

common						*unite-action-common*
Defines the common interface for all kinds.  It uses condidate.word
internally.
	nop		Do nothing
	yank		Yank the candidate "word" or "action__text"
	yank_escape	Yank the escaped candidate "word" or "action__text"
	ex		Input the escaped candidate text into command line
	insert		Input the candidate word or text into the current
			buffer
	insert_directory
			Input the candidate directory into the current buffer
	preview		Preview the candidate text.
	echo		Echo candidates for debug.

openable					*unite-action-openable*
Defines an interface for files that can be opened.  It requires an inheriting
kind to define "open" action.
	tabopen		Open the file in a new tab
	tabdrop		Open the file by ":tab drop" command
	split		Open the file, splitting horizontally
	vsplit		Open the file, splitting vertically
	left		Open the file in the left, splitting vertically
	right		Open the file in the right, splitting vertically
	above		Open the file in the top, splitting horizontally
	below		Open the file in the bottom, splitting horizontally
	persist_open	Open the file in alternate window.  unite window
			isn't closed.

cdable						*unite-action-cdable*
Defines an interface for files you can move to with cd command.
	cd		Change the current directory.
	lcd		Change the current directory of the current window.
	project_cd	Look for the project directory, and change the
			current directory there.
	tabnew_cd	Open a new tab page and change the current
			directory there.
	narrow		Narrow down candidates by the directory name
	vimshell	Run |vimshell| on the directory.  This is available
			only when you already installed |vimshell|.
	tabvimshell	Run |:VimShellTab| on the directory.  This is
			available only when |vimshell| is already installed.
	vimfiler	Run |vimfiler| on the directory.  This is available
			only when |vimfiler| is already installed.
	tabvimfiler	Run |:VimFilerTab| on the directory.  This is
			available only when |vimfiler| is already installed.
	rec		Run |unite-source-file_rec| on the directory.
	rec_parent	Run |unite-source-file_rec| on the parent directory.
	rec/async	Run |unite-source-file_rec/async| on the directory.
	rec_parent/async
			Run |unite-source-file_rec/async| on the parent
			directory.
	file		Run |unite-source-file| on the directory.

file						*unite-action-file*
Opens a file into a new buffer.  This kind extends |unite-action-openable| and
|unite-action-cdable|.
	open		Open the file
	preview		Open the file into preview window
	bookmark	Add the file into your bookmark
	mkdir		Make directory. If the file exists, this action is
			invalid.
	rename		Change the file name
	grep		Grep files
	grep_directory	Grep directories
	wunix		Write by unix fileformat
	diff		diff with the other candidate or current buffer
	dirdiff		|:DirDiff| with the other candidate
			(|DirDiff.vim| plugin is needed.)
	backup		Simple backup files

buffer						*unite-action-buffer*
This kind extends |unite-action-file|.
	delete		|:bdelete| the buffer
	fdelete		|:bdelete!| the buffer
	wipeout		|:bwipeout| the buffer
	unload		|:bunload| the buffer
	bookmark	Add the candidate into your bookmark
	rename		Change the buffer name and file name.
	goto		Go to buffer tab

tab						*unite-action-tab*
This kind extends actions of |unite-action-cdable| only when |gettabvar()|
exists.
	open		Show the tab
	delete		Close the tab
	
	The following action requires |gettabvar()| and t:cwd.
	rename		Change the title of the tab
	preview		Preview the tab

directory					*unite-action-directory*
This kind extends actions of |unite-action-file|.  This doesn't have any
additional actions.  You may want to use this to change the default_action
when the target is a directory.

word						*unite-action-word*
This kind doesn't have any additional actions.  You may want to use this to
change the default_action when the target is a word.

jump_list					*unite-action-jump_list*
This kind extends actions of |unite-action-openable|.  Let me explain about
the additional actions defined in this.
	open		Jump to the location of the candidate
	preview		Preview around the location of the candidate
	replace		Replace selected candidates with |qfreplace| plugin

command						*unite-action-command*
	execute		Execute the command
	edit		Input the command into command line

window						*unite-action-window*
This kind extends actions of |unite-action-cdable|.
	open		Move to the window
	delete		Close the window
	only		Close all windows except the window
	preview		Preview the window

completion					*unite-action-completion*
	insert		Insert the candidate
	preview		Show the information of the candidate

uri						*unite-action-uri*
	start		Open uri by browser.

source						*unite-action-source*
	start		Start source
	edit		Edit source arguments

Actions of each sources

file_mru					*unite-action-source-file_mru*
	delete		Delete from most recent used file candidates

directory_mru				*unite-action-source-directory_mru*
	delete		Delete from most recent used directory candidates

bookmark					*unite-action-source-bookmark*
	delete		Delete from bookmark file candidates

register					*unite-action-source-register*
	edit		Change a register value
	delete		Clear registers

process						*unite-action-source-process*
	sigterm		Send SIGTERM to the process(default)
	sigkill		Send SIGKILL to the process
	sigint		Send SIGINT to the process

mapping						*unite-action-source-mapping*
	preview		View the help documentation

command						*unite-action-source-command*
	preview		View the help documentation

function					*unite-action-source-function*
	call		Call the function and print result
	preview		View the help documentation

						*unite-default-action*
Default actions

kind		action
{kind}		{action}
----------	----------
file		open
buffer		open
tab		open
directory	narrow
word		insert
jump_list	open
source		start

==============================================================================
CREATE SOURCE					*unite-create-source*

The files in autoload/unite/sources are automatically loaded and it
calls unite#sources#{source_name}#define() whose return value is the
source.  Each return value can be a list so you can return an empty list
to avoid adding undesireble sources.  To add your own sources
dynamically, you can use |unite#define_source()|.

Note: To optimize load source files, if "buffer/rec" source name is detected,
unite.vim loads "autoload/unite/sources/buffer*.vim" files.  The source file
name must have source name prefix(Ex: buffer).

------------------------------------------------------------------------------
SOURCE ATTRIBUTES				*unite-source-attributes*

						*unite-source-attribute-name*
name			String		(Required)
			The name of a source.  It must consist of the
			following characters:
			- a-z
			- 0-9
			- _
			- /
			- - (Not head)

			For example:
			- "buffer" , "file_mru" and "view/git" are
			  valid.
			- "BadOne", "!@#$%^&*()_[]{}-|" and "" are
			  invalid.

				*unite-source-attribute-gather_candidates*
gather_candidates	Function	(Required)
			This function is called once in gathering
			candidates and anytime in redrawing by
			|<Plug>(unite_redraw).  If source is defined as
			|unite-source-is_volatile|, this function is
			called whenever the input string is changed.
			This function takes {args} and {context} as its
			parameter and returns a list of {candidate}.
			Here, {args} is a list of parameters given to
			the source when |:Unite| command is executed
			and {context} is the context informantion when
			the source is called.  If either of these are not
			given, the argument becomes "".  Hence, this
			function must handle empty string.  Arguments
			should be checked by |get()| function.  For more
			details, you can refer to
			|unite-notation-{context}| about {context} and
			|unite-notation-{candidate}| about {candidate}.
			This attribute can be omitted if other
			attributes can gather some candidates.
			The candidates gathered by this attribute are
			cached by unite buffer.  The cache is available
			until the unite buffer is closed and is
			discarded unless you use |:UniteResume|.  To
			cache persistenly regardless of the life of the
			unite buffer, you have some source to save the
			cache on non-volatile storage.

				*unite-source-attribute-change_candidates*
change_candidates	Function	(Optional)
			This function is called if the input string is
			changed in gathering candidates by unite.  You
			can make use of this attribute to generate
			candidates from the input string.  The
			candidates generated by this attributes are
			added to the candidates cached by
			|unites-source-attribute-gather_candidates|.
			This function takes {args} and {context} as its
			parameter and returns a list of {candidate}.
			The specification of the parameters and the
			returned value is same as
			|unite-source-attribute-gather_candidates|.

			*unite-source-attribute-async_gather_candidates*
async_gather_candidates	Function	(Optional)
			This function is called asynchronously in
			gathering candidates.  You can make use of this
			function to split time-consuming job into small
			jobs.  |g:unite_update_time| is the default
			timing.  This function takes {args} and
			{context} as its parameter and returns a list of
			{candidate}.
			
			The specification of the parameters and the
			returned value is same as
			|unite-source-attribute-gather_candidates|.

					*unite-source-attribute-complete*
complete		Function	(Optional)
			This functions is called to complete the source
			argument of |:Unite|.  This function takes
			{args}, {context}, {arglead}, {cmdline} and
			{cursorpos} as its parameter and returns a list
			of candidates.

						*unite-source-attribute-hooks*
hooks			Dictionary		(Optional)
			You may put hook functions in this dictionary
			in which the key is the position to hook and
			and the value is the reference to the function
			to be called.  The following hook functions are
			defined:

			on_init		*unite-source-attribute-hooks-on_init*
			Called just before returning to unite buffer
			after executing |:Unite| commands or calling
			|unite#start()| but executing |:UniteResume|.
			This function takes {args} and {context} as its
			parameters.
			Note that you must be careful to select the
			function to call because the unite buffer is not
			still initialized in calling this hook
			function.

			on_syntax
				*unite-source-attribute-hooks-on_syntax*
			Called after the unite buffer is initialized and
			syntax for each source is set but not called if
			|unite-source-attribute-syntax| is not set.
			This function takes {args} and {context} as its
			parameters.
			Highlight configuration for each source is done
			by this function.

			Note: To get abbr head column, use
			"unite#get_current_unite().abbr_head".
			Example:
>
			syntax match uniteSource_FileMru_Time /(.*)/ contained containedin=uniteSource_FileMru
			highlight default link uniteSource_FileMru_Time Statement
<
			Note you must set the containedin of the same syntax
			name as for |unite-source-attribute-syntax|.

			on_close
				*unite-source-attribute-hooks-on_close*
			Called after executing |<Plug>(unite_exit)| or
			closing the unite buffer following some command
			execution.  This function takes {args} and
			{context} as its parameters.

			on_pre_filter
				*unite-source-attribute-hooks-on_pre_filter*
			Called before the filters to narrow down the
			candidates. This function takes {args} and
			{context} as its parameters.

			on_post_filter
				*unite-source-attribute-hooks-on_post_filter*
			Called after the filters to narrow down the
			candidates.  This is used to set attributes.
			This filters is to avoid adversely affecting the
			performance.  This function takes {args} and
			{context} as its parameters.

			on_pre_init
				*unite-source-attribute-hooks-on_pre_init*
			Called before source is initialized.
			{args} is empty.
			Current source is set as "a:context.source" in
			{context}.
			You can dynamically initialize source by
			changing "a:context.source" in this function.

					*unite-source-attribute-action_table*
action_table		Dictionary		(Optional)
			Adds source's own action table.  In this
			dictionary, the key is the kind and the value is
			the action table.  The specification of action
			table is same as
			|unite-kind-attribute-action_table|.  With this
			dictionary, you can define original
			|unite-kind-attribute-action_table| for each
			kind in source's own context.
			For example:
>
			'action_table' : { 'buffer' : foo_action_table }
<
			means that foo_action_table is used for kind
			"buffer" in this source's context.
			You can use "*" for the key to match any kind.
			This is useful if you expect only one kind.  If
			no key-value pair is set, this dictionary is
			left empty.  You can put action table without a
			corresponding key and it means the key is "*".
			For example, the following two are the same.
>
			'action_table' : foo_action_table
			'action_table' : { '*' : foo_action_table }
<
				*unite-source-attribute-default_action*
default_action		Dictionary		(Optional)
			Adds default action unique to the source.  In
			this dictionary, the key is the kind and the value
			is the default action.
			If it's not given, the kind's default action is used.
			The default action can be in string format and
			it means the same as:
>
			'default_action' : { '*' : action_name}.
<
					*unite-source-attribute-default_kind*
default_kind		String			(Optional)
			Default kind in source candidates.
			If it's not given, the "common" is used.

					*unite-source-attribute-alias_table*
alias_table		Dictionary		(Optional)
			Adds an alias table unique to the source.  In
			this dictionary, the key is the kind and the
			value is the alias table.
			If the key is '*', it matches any kinds.
			Please refer to
			|unite-kind-attribute-action_table| for the
			specification of alias table.
			If no key-value is set, this dictionary is left
			empty.

					*unite-source-attribute-max_candidates*
max_candidates		Number		(Optional)
			The maximum number of candidates.

			This attribute is optional; if it is not given,
			0 is used as the default value.  This means
			maximum number is infinity.

			*unite-source-attribute-required_pattern_length*
required_pattern_length	Number		(Optional)
			The least string length to narrow down the
			candidates.  This attribute is optional.
			If it's not given, 0 is used as the default value and
			all the possible candidates are collected.

					*unite-source-attribute-is_volatile*
is_volatile		Number		(Optional)
			Whether the source recalculates the candidates
			everytime the input is changed.
			This attribute is optional.
			If it's not given, 0 is set as the default value. In
			this case, canidates are cached in unite buffer
			and it does not call
			|unite-source-attribute-gather_candidates|
			repeatedly and the cache is available until the
			unite buffer is closed.  To cache longer, the source
			has no choise but to cache by itself.

					*unite-source-attribute-is_listed*
is_listed		Number		(Optional)
			Whether the source name is visible to the user.
			If the source is internal, it must be set to 0.  If
			it's omitted, it's set to 1.

					*unite-source-attribute-description*
description		String		(Optional)
			The description of the source.
			If it's ommitted, it's set to "".
			|unite-source-source| uses this.

					*unite-source-attribute-syntax*
syntax			String		(Optional)
			The syntax name used within the source.  This
			syntax name is defined automatically by unite
			itself.
			If it's omitted, it's set to "".
			This is used to configure the source's own
			highlight.  According to the unite's naming
			convension to avoid the syntax name conflicted,
			use syntax name like "uniteSource__(source
			name)".  Configuration of highlight itself must
			use |unite-source-attribute-hooks-on_syntax|.

					*unite-source-attribute-filters*
filters			List		(Optional)
			The list of filters used by the source.  The elements
			are filter name or function reference (accepted
			dictionary function in current source).  Please refer
			to |unite-filter-attributes| for the specification of
			filter.  If it's omitted, unite uses
			|unite-filter-default|.
					*unite-source-attribute-matchers*
matchers		List/String	(Optional)
			The list of matchers used by the source.
					*unite-source-attribute-sorters*
filters			List/String	(Optional)
			The list of sorters used by the source.
					*unite-source-attribute-converters*
converters		List/String	(Optional)
			The list of converters used by the source.

					*unite-source-attribute-source__*
source__		Unknown		(Optional)
			The Attribute unique for each source.  To avoid
			the attibute from conflicting wth the unite's own,
			"source__" prefix must be added.

NOTATION					*unite-notation*

{context}					*unite-notation-{context}*
			A dictionary to give context information.
			The followings are the primary information.
			The global context information can be acquired
			by |unite#get_context()|.
			The context information is characteristic to
			each source and you can distinguish one by a key
			stored in the dictionary.

			input			(String)
				The input string of unite buffer.

			buffer_name		(String)
				The name of unite buffer.

			profile_name		(String)
				The profile name of unite buffer.

			prompt			(String)
				The prompt string of unite buffer.

			is_insert		(Number)
				If unite buffer is loaded from
				insert mode.

			immediately		(Number)
				If unite buffer is loaded from
				|unite-options-immediately|.

			is_redraw		(Number)
				If a user pressed
				|<Plug>(unite_redraw)| or
				invalidated cache after executed
				actions.
				Note: A user uses
				|<Plug>(unite_redraw)| mapping
				to remove cache files.

			is_invalidate		(Number)
				If An action disables a cache. This is
				also 1 in initialization of unite
				buffer.

			is_async		(Number)
				If the source gathers candidates
				asynchronously.
				If it's set to 0 in a source, it disables
				asynchronous.

			source			(Dictionary)
				Gathering candidates source
				information.

			candidates		(List)
				Filtered candidates.
				Note: This key is valid only in
				|unite-source-attribute-hooks-on_post_filter|.

			source__{name}		(Unknown)	(Optional)
				Additional source information.
				Note: Recommend sources save
				variables instead of s: variables.

{candidate}					*unite-notation-{candidate}*
			A dictionary for candidates.
			The followings are the primary information.

			word			(String)	(Required)
				String Displayed in unite buffer.
				Matcher to use word attribute to
				filter.

			abbr			(String)	(Optional)
				String Displayed in unite buffer.
				If it is omit, word attribute is used
				instead.
				The attribute is not used for
				matcher.

			source			(String)	(Optional)
				Generated candidate source name.
				Note: This attribute is set
				automatically.

			kind			(String/List)	(Optional)
				The candidate kind name.
				If it is omit, "common" is used.
				Kind name list is acceptable.
				Ex: ["file", "directory"]
				If you use list, you have not to
				define parents kind action.
				Note: Unite searches kinds action from list
				tail.
				Ex: If you set kind attribute to ["file",
				"command"], "file" (default) actions will be
				overwritten by "command" action.  You should
				use source default action instead of kind.

			is_dummy		(Number)	(Optional)
				If the candidate is dummy.
				The default value is 0.
				Note: When the cursor moves, dummy candidates
				are skipped.

			is_matched		(Number)	(Optional)
				If the candidate is filtered.

			is_multiline		(Number)	(Optional)
				If the candiates have multiple lines.
				The default value is 0.  When this is
				enabled, unite splits abbr (or word if
				abbr is missing) by a newline character.

			source__{name}		(Unknown)	(Optional)
				Attributes added by sources.

			action__{name}		(Unknown)	(Optional)
				Attributes added by actions.
				For example, "action__path" attribute is file
				path.  If you learn standard action
				attributes, please refer to |unite-kind|.

==============================================================================
CREATE KIND					*unite-create-kind*

The files in autoload/unite/kinds are automatically loaded and it calls
unite#kinds#{kind_name}#define() whose return value is the kind.  Each return
value can be a list so you can return an empty list to avoid adding
undesireble kinds.  To add your own kinds dynamically, you can use
|unite#define_kind()|.

Note: To optimize load kind files, if "foo" kind name is detected, unite.vim
loads "autoload/unite/kinds/foo*.vim" files.  The kind file name must be kind
name prefix(Ex: foo).

------------------------------------------------------------------------------
KIND ATTRIBUTES					*unite-kind-attributes*

						*unite-kind-attribute-name*
name			String		(Required)
			The name of a kind.  It must consist of the
			following characters:
			- a-z
			- 0-9
			- _
			- /
			- - (Not head)

			For example:
			- "buffer" , "file_mru" and "view/git" are valid.
			- "BadOne", "!@#$%^&*()_[]{}-|" and "" are invalid.

					*unite-kind-attribute-default_action*
default_action		String		(Required)
			Specifies default action name when executing
			|<Plug>(unite_do_default_action)|.  If this attribute is
			ommitted, an error occurred.  But this hack is used in
			parent only actions.

					*unite-kind-attribute-action_table*
action_table		Dictionary		(Required)
			Adds an action table unique to the kind.  In
			this dictionary, the key is the action name and the
			value is one of dictionary attributes below.
			If the value is "nop", the actions are disabled.
			Note: "default" and "nop" names are keyword. You cannot
			use them.
			Note: If name is "unite__new_candidate", it will be
			used for |<Plug>(unite_new_candidate)|. It adds a
			candidate in current source.
			
			func			(Function)
				This function is called when executing actions.
				This function takes {candidate}.
				If "is_selectable" attribute is "1",
				{candidate} are candidate list({candidates}).
				Note: This {candidate} is cached by unite, so
				you cannot modify it.  If you modify it, you
				must use |deepcopy()|.

			description		(String)	(Optional)
				The kind description string.

			is_quit			(Number)	(Optional)
				If this attribute is "1", unite buffer is closed
				before executing actions. If this attribute is
				ommitted, "1" is used.

			is_selectable		(Number)	(Optional)
				If this attribute is "1", the action can
				execute multiple candidates.  If this attribute
				is ommitted, "0" is used.

			is_invalidate_cache	(Number)	(Optional)
				If this attribute is "1", unite invalidates
				source cache when executing the action.  If
				this attribute is ommitted, "0" is used.

			is_listed		(Number)	(Optional)
				If this attribute is "1", the action is listed
				in |<Plug>(unite_choose_action)|.  If this
				attribute is omitted, "1" is used.

					*unite-kind-attribute-alias_table*
alias_table		Dictionary		(Optional)
			Adds an alias table unique to the kind.  In
			this dictionary, the key is the action name and the
			value is the overwrite action name.
			If the value is "nop", the action is disabled.

						*unite-kind-attribute-parents*
parents			List		(Optional)
			Specifies parent list.  If this attribute is ommitted,
			["common"] is used.
			Unite searches actions from list tail(head actions are
			overwritten).
			Note: Unite searches actions from parent list
			recursively.  You must check infinity loop.

------------------------------------------------------------------------------
IMPLICIT KIND				*unite-implicit-kind-for-a-source*

Unite can define actions in implicit kind.  The implicit kind name is
"source/{name}/{kind}". The {name} is source name.  If the {kind} is "*", it
matches any kinds.

For example, if you want to add "delete" action in source "file", execute
below command.
>
	call unite#custom_action('source/file/*', 'delete', function('...'))
<
------------------------------------------------------------------------------
ACTION RESOLUTION ORDER				*unite-action-resolution-order*

For example, if you fire actions from kind "file" candidate gathered
by source "file", unite searches actions by order below.
Note: kind "file" extends "openable" and "cdable" kind.

(1) Custom action table for kind "source/file/file".
(2) Default action table for kind "source/file/file".
(3) Custom action table for kind "source/file/*".
(4) Default action table for kind "source/file/*".
(5) Custom action table for kind "file".
(6) Default action table for kind "file".
(7) Custom action table for kind "cdable".
(8) Default action table for kind "cdable".
(9) Custom action table for kind "openable".
(10) Default action table for kind "openable".
(11) Custom action table for kind "common".
(12) Default action table for kind "common".

==============================================================================
CREATE FILTER					*unite-create-filter*

The files in autoload/unite/filters are automatically loaded and it calls
unite#filters#{filter_name}#define() whose return value is the filter.  Each
return value can be a list so you can return an empty list to avoid adding
undesireble filter.  To add your own filters dynamically, you can use
|unite#define_filter()|.

Note: To optimize load filter files, if "matcher_foo_bar" filter name is
detected, unite.vim loads "autoload/unite/filters/matcher_foo*.vim" files.  The
filter file name must be filter name prefix(Ex: matcher_foo).

------------------------------------------------------------------------------
FILTER ATTRIBUTES				*unite-filter-attributes*

						*unite-filter-attribute-name*
name			String		(Required)
			The filter name.

						*unite-filter-attribute-filter*
filter			Function		(Required)
			This function is called after gathering
			candidates by unite.
			This function takes {candidates} and
			{context} as its parameter and returns a
			list of {candidate}.
			The specification of the parameters and the
			returned value is same as
			|unite-source-attribute-gather_candidates|.

					*unite-filter-attribute-description*
description		String		(Optional)
			The filter description string.

==============================================================================
EXAMPLES					*unite-examples*
>
	" The prefix key.
	nnoremap    [unite]   <Nop>
	nmap    f [unite]
	
	nnoremap <silent> [unite]c  :<C-u>UniteWithCurrentDir
	\ -buffer-name=files buffer file_mru bookmark file<CR>
	nnoremap <silent> [unite]b  :<C-u>UniteWithBufferDir
	\ -buffer-name=files -prompt=%\  buffer file_mru bookmark file<CR>
	nnoremap <silent> [unite]r  :<C-u>Unite
	\ -buffer-name=register register<CR>
	nnoremap <silent> [unite]o  :<C-u>Unite outline<CR>
	nnoremap <silent> [unite]f
	\ :<C-u>Unite -buffer-name=resume resume<CR>
	nnoremap <silent> [unite]d
	\ :<C-u>Unite -buffer-name=files -default-action=lcd directory_mru<CR>
	nnoremap <silent> [unite]ma
	\ :<C-u>Unite mapping<CR>
	nnoremap <silent> [unite]me
	\ :<C-u>Unite output:message<CR>
	nnoremap  [unite]f  :<C-u>Unite source<CR>
	
	nnoremap <silent> [unite]s
	        \ :<C-u>Unite -buffer-name=files -no-split
	        \ jump_point file_point buffer_tab
	        \ file_rec:! file file/new file_mru<CR>
	
	" Start insert.
	"let g:unite_enable_start_insert = 1
	"let g:unite_enable_short_source_names = 1
	
	autocmd FileType unite call s:unite_my_settings()
	function! s:unite_my_settings()"{{{
	  " Overwrite settings.
	
	  nmap <buffer> <ESC>      <Plug>(unite_exit)
	  imap <buffer> jj      <Plug>(unite_insert_leave)
	  "imap <buffer> <C-w>     <Plug>(unite_delete_backward_path)
	
	imap <buffer><expr> j unite#smart_map('j', '')
	imap <buffer> <TAB>   <Plug>(unite_select_next_line)
	imap <buffer> <C-w>     <Plug>(unite_delete_backward_path)
	imap <buffer> '     <Plug>(unite_quick_match_default_action)
	nmap <buffer> '     <Plug>(unite_quick_match_default_action)
	imap <buffer><expr> x
	        \ unite#smart_map('x', "\<Plug>(unite_quick_match_choose_action)")
	nmap <buffer> x     <Plug>(unite_quick_match_choose_action)
	nmap <buffer> <C-z>     <Plug>(unite_toggle_transpose_window)
	imap <buffer> <C-z>     <Plug>(unite_toggle_transpose_window)
	imap <buffer> <C-y>     <Plug>(unite_narrowing_path)
	nmap <buffer> <C-y>     <Plug>(unite_narrowing_path)
	nmap <buffer> <C-j>     <Plug>(unite_toggle_auto_preview)
	nmap <buffer> <C-r>     <Plug>(unite_narrowing_input_history)
	imap <buffer> <C-r>     <Plug>(unite_narrowing_input_history)
	nnoremap <silent><buffer><expr> l
	        \ unite#smart_map('l', unite#do_action('default'))
	
	let unite = unite#get_current_unite()
	if unite.buffer_name =~# '^search'
	  nnoremap <silent><buffer><expr> r     unite#do_action('replace')
	else
	  nnoremap <silent><buffer><expr> r     unite#do_action('rename')
	endif
	
	nnoremap <silent><buffer><expr> cd     unite#do_action('lcd')
	nnoremap <buffer><expr> S      unite#mappings#set_current_filters(
	\ empty(unite#mappings#get_current_filters()) ? ['sorter_reverse'] : [])
	endfunction"}}}
	
	let g:unite_source_file_mru_limit = 200
	let g:unite_cursor_line_highlight = 'TabLineSel'
	let g:unite_abbr_highlight = 'TabLine'
	
	" For optimize.
	let g:unite_source_file_mru_filename_format = ''
	
	if executable('jvgrep')
	  " For jvgrep.
	  let g:unite_source_grep_command = 'jvgrep'
	  let g:unite_source_grep_default_opts = '--exclude ''\.(git|svn|hg|bzr)'''
	  let g:unite_source_grep_recursive_opt = '-R'
	endif
	
	" For ack.
	if executable('ack-grep')
	  " let g:unite_source_grep_command = 'ack-grep'
	  " let g:unite_source_grep_default_opts = '--no-heading --no-color -a'
	  " let g:unite_source_grep_recursive_opt = ''
	endif
<
==============================================================================
USER DEFINED SOURCES				*unite-user-sources*

See Wiki page(Japanese).
https://github.com/Shougo/unite.vim/wiki/unite-plugins

==============================================================================
FAQ						*unite-faq*

Q: I want to delete files in unite buffer.

A: You can use below setting. But this setting is dangerous.  You may delete
files by mistake.
>
	call unite#custom_alias('file', 'delete', 'vimfiler__delete')
<
Q: I want to input register values in insert mode.

A: You can use below mappings.
>
	inoremap <silent><expr> <C-z>
	\ unite#start_complete('register', { 'input': unite#get_cur_text() })
<
==============================================================================
CHANGELOG					*unite-changelog*

2013-02-24
- Improved line source behavior.

2013-02-23
- Improved process source.
- Fixed action table.
- Improved file_rec behavior.

2013-02-22
- Fixed line source behavior.

2013-02-17
- Fixed source source.
- Added -hide-status-line option.
- Fixed alias actions.
- Fixed unite#get_sources().
- Fixed -auto-preview problems.

2013-02-16
- Improved buffer source highlight.
- Fixed wrap behavior.
- Fixed source kind action.
- Improved here behavior.
- Added g:unite_source_buffer_time_format.
- Added unite_sources autoload support.

2013-02-11
- Fixed quit session behavior.
- Fixed directory and file source.
- Added <Plug>(unite_narrowing_dot).
- Improved unite buffer source.

2013-02-10
- Fixed parse options.
- Fixed temporary buffer behavior.

2013-02-09
- Improved temporary buffer behavior.
- Improved narrow action behavior.
- Fixed unite#custom_source().
- Improved grep actions behavior.

2013-02-07
- Fixed start action.
- Added g:unite_source_process_enable_confirm option.

2013-02-03
- Improved unite menu behavior.
- Improved name search.

2013-01-31
- Improved narrow action behavior.

2013-01-29
- Improved truncate behavior.

2013-01-26
- Fixed syntax file.
- Fixed for syntax enable.
- Added wrap option.
- Added g:unite_marked_icon option.

2013-01-24
- Fixed <Plug>(unite_restart) behavior.
- Improved insert action.
- Changed profile_name default value.
- Refactorred mappings.vim.

2013-01-22
- Added resume option.
- Improved documentation.

2013-01-20
- Fixed buffer initialization check.

2013-01-17
- Fixed unite action loading problem.
- Improved ignore_pattern behavior in file_rec source.

2013-01-12
- Implemented recache system automatically in file_rec(/async) sources.

2013-01-11
- Fixed find source.

2013-01-02
- Improved sorter_rank behavior.

2013-01-01
- Fixed unite-menu behavior.

2012-12-31
- Optimised sorter_rank.
- Added matchers, sorters, converters.
- Set sorter_nothing in menu source.
- Deleted unite#filters#default#use().
- Added custom matchers/sorters/converters.
- Improved documentation.
- Improved check plugins.

2012-12-27
- Improved for getting filetime.

2012-12-20
- Fixed kind in find source.

2012-12-14
- Improved print message behavior.
- Added runtimepath source.

2012-12-13
- Uniq in file_rec initialization.
- Fixed print message.
- Improved default substitute pattern.

2012-11-19
- Fixed documentation.
- Improved process source.

2012-11-17
- Fixed print message behavior.
- Fixed start_insert problem in complete source.

2012-11-16
- Improved redraw status behavior.

2012-11-07
- Fixed <Plug>(unite_move_head).

2012-11-06
- Fixed loop cursor up behavior.

2012-10-28
- Improved update behavior.

2012-10-23
- Fixed unite#get_default_action().

2012-10-22
- Added backup action.

2012-10-21
- Deleted max_candidates in mapping source.
- Improved adjustment behavior.
- Added source custom variables.

2012-10-20
- Fixed file_rec filters.

2012-10-19
- Added unite#start_script().
- Added sorter_length.
- Fixed converter in file_rec.
- Improved file_rec converter.
- Fixed for multiline behavior.

2012-10-18
- Fixed clear marks behavior.
- Improved unite#mappings#do_action().
- Improved profile behavior.
- Improved documentation.

2012-10-17
- Added examples.
- Fixed a bug that edit action didn't add history in command kind.

2012-10-16
- Fixed choose action for vimfiler.
- Added host check in file_point.

2012-10-15
- Fixed insert word.

2012-10-14
- Fixed statusline.

2012-10-11
- Fixed for unite-source.

2012-10-10
- Disable colors in grep source.

2012-10-09
- Save previous winwidth and winheight.
- Improved auto split behavior.

2012-10-06
- Fixed resume error.
- Print default action in action source.

2012-10-03
- Added unite__new_candidate action in directory sources.
- Added unite__new_candidate action in process sources.
- Improved unite#util#is_cmdwin().

2012-10-02
- Added default_kind attribute.
- Set default_kind attribute in sources.
- Added unite__new_candidate action.
- Improved is_listed action behavior.
- Added unite__new_candidate action in sources.

2012-09-28
- Improved message behavior.
- Changed tab source behavior.
- Deleted mru max_candidates.
- Improved unite#start_complete().

2012-09-27
- Fixed initialize error.

2012-09-25
- Improved tab source.
- Changed tab source behavior.

2012-09-24
- Improved input().
- Improved lcd for vimfiler.
- Fixed set syntax.
- Fixed redraw_all_candidates().
- Added -multi-line option.

2012-09-21
- Added line/fast source.
- Set is_multi_line in output source.
- Improved redraw status line.

2012-09-20
- Fixed complete behavior.
- Changed insert word behavior.
- Added matcher_context filter.
- Changed default matcher.
- Fixed for line source.

2012-09-19
- Fixed grep source.
- Added echo action.
- Added FAQ section.

2012-09-14
- Fixed redraw all candiates behavior.

2012-09-13
- Use trashbox automatically in delete action.

2012-09-10
- Added g:unite_source_vimgrep_ignore_pattern.

2012-09-09
- Added <C-g> mapping.
- Added -no-focus option.
- Added -short-source-names and -long-source-names and
  g:unite_enable_use_short_source_names option.

2012-09-07
- Added dirdiff action.

2012-09-06
- Fixed grep check.

2012-09-04
- Fixed narrowing behavior.
- Changed -immediately behavior.
- Fixed resume bug.
- Added alias in directory kind.
- Fixed for new vimshell.

2012-09-03
- Fixed function preview error.
- Fixed ignore_pattern behavior.
- Added readable check in file.

2012-09-02
- Ver.4.1 development is started.
- Fixed for new vimshell.
- Fixed insert word.
- Added function source.
- Improved unite-menu source.

------------------------------------------------------------------------------
ChangeLog unite.vim Ver.4.0:

2012-09-01
- Improved sort in command source.
- Changed default matcher in command source.

2012-08-31
- Improved move cursor.
- Added unite#get_unite_winnr().

2012-08-30
- Improved loop cursor down behavior.
- Improved documentation.

2012-08-28
- Improved unite command source.
- Fixed error message.
- Improved mkdir action.
- Move to new directory position when vimfiler__mkdir action.
- Fixed save updatetime.

2012-08-27
- Improved mapping behavior.
- Improved move cursor behavior.
- Improved insert mode mappings.
- Improved command source.
- Improved edit action in command kind.
- Added preview action in mapping and command sources.
- Improved buffer view.

2012-08-26
- Fixed vimgrep source.
- Fixed grep source.
- Fixed insert_head error.
- Fixed move head behavior.
- Fixed <Plug>(unite_cursor_bottom).

2012-08-25
- Delted obsolute changelog.
- Improved resize behavior.
- Fixed set context in initialization.

2012-08-24
- Fixed typo.
- Set is_multiline in grep and line source.
- Improved document.
- Added documentation.
- Improved vimgrep source.
- Added <Plug>(unite_cursor_bottom) keymapping.
- Fixed unite#util#filter_matcher().
- Improved resize window behavior.
- Improved cursor up behavior.

2012-08-23
- Fixed g:unite_source_file_ignore_pattern.
- Deleted yank action in history/yank.
- Improved syntax.
- Added diff action in kind file.
- Fixed <Plug>(unite_toggle_mark_all_candidates) and <Plug>(unite_toggle_max_candidates) behavior.
- Fixed unite#custom_max_candidates() error.
- Improved print message behavior.

2012-08-22
- Deleted Japanese documentation.
- Added file kind in grep source.

2012-08-21
- Updated vital.
- Improved documentation.
- Fixed gather candidates.
- Fixed output source behavior.
- Fixed ignore_pattern in vimfiler.

2012-08-20
- Improved yank action.
- Improved vimfiler check in grep source.
- Fixed insert action behavior.

2012-08-19
- Added yy mapping.
- Fixed redraw.
- Fixed toggle marks behavior.

2012-08-18
- Fixed unite#get_vimfiler_candidates().
- Fixed ignore pattern in file source.
- Added -auto-quit option.
- Use unite#util#iconv().

2012-08-17
- Setlocal nomodified.
- Fixed unite#get_context().

2012-08-15
- Fixed unite#do_candidates_action().

2012-08-14
- Fixed create new buffer name.
- Fixed last unite bufnr.
- Fixed :UniteClose.
- Improved for resume.
- Changed postfix behavior.
- Improved jump_list kind actions.
- Fixed unite#get_candidates().

2012-08-12
- Fixed postfix problem.
- Fixed execute actions error for vimfiler.
- Fixed for vimfiler.
- Improved matcher_fuzzy.
- Fixed converter problem.

2012-08-11
- Improved file_rec source behavior.

2012-08-10
- Fixed quick match error.
- Updated vital.
- Improved call filters.
- Optimized filters.
- Improved matcher_migemo matcher.
- Use cache in line source.
- Improved line source behavior.
- Fixed for unite-outline matcher.

2012-08-09
- Fixed for multiline behavior.
- Fixed for many candidates behavior.

2012-08-08
- Fixed for vimfiler.

2012-08-07
- Fixed candidates bug.
- Improved mapping behavior.
- Improved autocmd.
- Improved matcher.
- Improved line source.

2012-08-06
- Optimized redraw candidates.
- Improved unite#gather_candidates().
- Improved file_mru.
- Improved new file.

2012-08-05
- Added tabdrop action.

2012-08-01
- Fixed auto preview behavior.

2012-07-31
- Fixed grep source error.

2012-07-28
- Fixed for vimfiler and vimshell in unite-session.
- Improved unite-sesion (But chaotic...)
- Splitted session source.

2012-07-27
- Supported unite-ssh.

2012-07-26
- Deleted debug message.
- Improved output source behavior.
- Improved error message.
- Fixed for symbolic link problem.

2012-07-22
- Fixed unite#get_candidates().
- Improved session behavior.
- Supported over 4GB files.

2012-07-20
- Improved for resume.
- Fixed args completion.

2012-07-17
- Improved write cache in file_rec source.

2012-07-15
- Vesting tests.
- Fixed file_rec problem.
- Delete old cache files.
- Fixed file_rec cache problem.

2012-07-06
- Improved grep source.

2012-07-05
- Improved utils.

2012-07-02
- Improved unite-buffer for vimfiler.

2012-06-28
- Fixed source padding.

2012-06-23
- Fixed display candidates.
- Improved display source names behavior.
- Fixed print progress.
- Fixed window delete action.
- Fixed source candidates.
- Improved file actions.

2012-06-22
- Improved for multiline behavior.

2012-06-20
- Fixed for unite-ssh.
- Fixed jump_list.

2012-06-17
- Improved documentation.
- Improved call filters.

2012-06-12
- Fixed unite#custom_source().

2012-06-11
- Fixed for auto resize error.
- Fixed unite#print_error() error.

2012-06-09
- Split automatically when &l:modified && !&l:hidden.
- Added unite#custom_source().
- Changed ignore pattern behavior.

2012-06-08
- Fixed file_mru error.

2012-06-07
- Fixed window size problem.
- Added g:unite_source_directory_mru_filename_format option.
- Changed filters behavior.
- Fixed line filter.

2012-06-05
- Changed asyncronous update behavior.
- Fixed cmdwin check.

2012-06-04
- Improved asyncronous behavior.
- Added -keep-focus option.
- Improved English documentation.

2012-06-02
- Improved jump_list.
- Fixed find action error.

2012-06-01
- Fixed for vimfiler completion.
- Fixed for vimfiler choose action.

2012-05-31
- Fixed for completion.
- Improved resize behavior.

2012-05-29
- Fixed for grep action.

2012-05-27
- Improved find action.

2012-05-26
- Improved for profile.
- Fixed load default scripts problem.
- Improved completion.

2012-05-23
- Improved mapping source.
- Fixed toggle mark behavior.
- Improved document.

2012-05-22
- Fixed syntax.

2012-05-21
- Clear mark.

2012-05-19
- Fixed unite#util#glob().

2012-05-17
- Fixed highlight patterns.

2012-05-16
- Fixed unite action.
- Fixed completion "~".

2012-05-14
- Improved completion behavior.
- Fixed load filters.
- Fixed document.
- Improved load default scripts.

2012-05-13
- Fixed redraw behavior.
- Optimised load scripts.
- Supported protocol copy.

2012-05-12
- Improved file kind.
- Added directory and directory/new source.
- Improved cdable actions.
- Changed sources initialize behavior.
- Improved source initialization.
- Revised documentation.

2012-05-09
- Fixed mark set bug.

2012-05-06
- Ver.4.0 development is started.
- Merged English documentation(Thanks akiradeveloper!).
- Improved English documentation.

==============================================================================
vim:tw=78:ts=8:ft=help:norl:noet:fen:
