summaryrefslogtreecommitdiff
path: root/.vim/doc
diff options
context:
space:
mode:
authorRené Neumann <rene.neumann@in.tum.de>2012-09-04 16:20:28 +0200
committerRené Neumann <rene.neumann@in.tum.de>2012-09-04 16:20:29 +0200
commit9d8238cef09d8cb7c270b616ec56a335e0ac0854 (patch)
treea7857c65ec06a48dd575d604539d331a90c01463 /.vim/doc
parent08ae3f83268783edd51dd97a749c088007f7fea4 (diff)
downloaddotfiles-9d8238cef09d8cb7c270b616ec56a335e0ac0854.tar.gz
dotfiles-9d8238cef09d8cb7c270b616ec56a335e0ac0854.tar.bz2
dotfiles-9d8238cef09d8cb7c270b616ec56a335e0ac0854.zip
Move to bundles in vim -- also remove old craft
Diffstat (limited to '.vim/doc')
-rw-r--r--.vim/doc/NERD_tree.txt961
-rw-r--r--.vim/doc/haskellmode.txt465
-rw-r--r--.vim/doc/omnicppcomplete.txt1078
-rw-r--r--.vim/doc/surround.txt184
-rwxr-xr-x.vim/doc/taglist.txt1501
-rw-r--r--.vim/doc/tags290
-rw-r--r--.vim/doc/vcscommand.txt819
7 files changed, 0 insertions, 5298 deletions
diff --git a/.vim/doc/NERD_tree.txt b/.vim/doc/NERD_tree.txt
deleted file mode 100644
index c9c94e9..0000000
--- a/.vim/doc/NERD_tree.txt
+++ /dev/null
@@ -1,961 +0,0 @@
-*NERD_tree.txt* A tree explorer plugin that owns your momma! v2.6.2
-
-
-
-
-
- ________ ________ _ ____________ ____ __________ ____________~
- /_ __/ / / / ____/ / | / / ____/ __ \/ __ \ /_ __/ __ \/ ____/ ____/~
- / / / /_/ / __/ / |/ / __/ / /_/ / / / / / / / /_/ / __/ / __/ ~
- / / / __ / /___ / /| / /___/ _, _/ /_/ / / / / _, _/ /___/ /___ ~
- /_/ /_/ /_/_____/ /_/ |_/_____/_/ |_/_____/ /_/ /_/ |_/_____/_____/ ~
-
-
- Reference Manual~
-
-
-
-
-==============================================================================
-CONTENTS *NERDTree-contents*
-
- 1.Intro...................................|NERDTree|
- 2.Functionality provided..................|NERDTreeFunctionality|
- 2.1 Commands..........................|NERDTreeCommands|
- 2.2 NERD tree mappings................|NERDTreeMappings|
- 2.3 The filesystem menu...............|NERDTreeFilesysMenu|
- 3.Options.................................|NERDTreeOptions|
- 3.1 Option summary....................|NERDTreeOptionSummary|
- 3.2 Option details....................|NERDTreeOptionDetails|
- 4.Public functions........................|NERDTreePublicFunctions|
- 5.TODO list...............................|NERDTreeTodo|
- 6.The Author..............................|NERDTreeAuthor|
- 7.Changelog...............................|NERDTreeChangelog|
- 8.Credits.................................|NERDTreeCredits|
-
-==============================================================================
-1. Intro *NERDTree*
-
-What is this "NERD tree"??
-
-The NERD tree allows you to explore your filesystem and to open files and
-directories. It presents the filesystem to you in the form of a tree which you
-manipulate with the keyboard and/or mouse. It also allows you to perform
-simple filesystem operations so you can alter the tree dynamically.
-
-The following features and functionality are provided by the NERD tree:
- * Files and directories are displayed in a hierarchical tree structure
- * Different highlighting is provided for the following types of nodes:
- * files
- * directories
- * sym-links
- * windows .lnk files
- * read-only files
- * Many (customisable) mappings are provided to manipulate the tree:
- * Mappings to open/close/explore directory nodes
- * Mappings to open files in new/existing windows/tabs
- * Mappings to change the current root of the tree
- * Mappings to navigate around the tree
- * ...
- * Most NERD tree navigation can also be done with the mouse
- * Dynamic customisation of tree content
- * custom file filters to prevent e.g. vim backup files being displayed
- * optional displaying of hidden files (. files)
- * files can be "turned off" so that only directories are displayed
- * A textual filesystem menu is provided which allows you to
- create/delete/rename file and directory nodes
- * The position and size of the NERD tree window can be customised
- * The order in which the nodes in the tree are listed can be customised.
- * A model of your filesystem is created/maintained as you explore it. This
- has several advantages:
- * All filesystem information is cached and is only re-read on demand
- * If you revisit a part of the tree that you left earlier in your
- session, the directory nodes will be opened/closed as you left them
- * The script remembers the cursor position and window position in the NERD
- tree so you can toggle it off (or just close the tree window) and then
- reopen it (with NERDTreeToggle) the NERD tree window will appear EXACTLY
- as you left it
- * You can have a separate NERD tree for each tab
-
-==============================================================================
-2. Functionality provided *NERDTreeFunctionality*
-
-------------------------------------------------------------------------------
-2.1. Commands *NERDTreeCommands*
-
-:NERDTree [start-directory] *:NERDTree*
- Opens a fresh NERD tree in [start-directory] or the current
- directory if [start-directory] isn't specified.
- For example: >
- :NERDTree /home/marty/vim7/src
-< will open a NERD tree in /home/marty/vim7/src.
-
-:NERDTreeToggle [start-directory] *:NERDTreeToggle*
- If a NERD tree already exists for this tab, it is reopened and
- rendered again. If no NERD tree exists for this tab then this
- command acts the same as the |:NERDTree| command.
-
-------------------------------------------------------------------------------
-2.2. NERD tree Mappings *NERDTreeMappings*
-
-Default Description~ help-tag~
-Key~
-
-o.......Open selected file, or expand selected dir...............|NERDTree-o|
-go......Open selected file, but leave cursor in the NERDTree.....|NERDTree-go|
-t.......Open selected node in a new tab..........................|NERDTree-t|
-T.......Same as 't' but keep the focus on the current tab........|NERDTree-T|
-<tab>...Open selected file in a split window.....................|NERDTree-tab|
-g<tab>..Same as <tab>, but leave the cursor on the NERDTree......|NERDTree-gtab|
-!.......Execute the current file.................................|NERDTree-!|
-O.......Recursively open the selected directory..................|NERDTree-O|
-x.......Close the current nodes parent...........................|NERDTree-x|
-X.......Recursively close all children of the current node.......|NERDTree-X|
-e.......Open a netrw for the current dir.........................|NERDTree-e|
-
-double-click.......same as the |NERDTree-o| map.
-middle-click.......same as |NERDTree-tab| for files, same as
- |NERDTree-e| for dirs.
-
-P.......Jump to the root node....................................|NERDTree-P|
-p.......Jump to current nodes parent.............................|NERDTree-p|
-K.......Jump up inside directories at the current tree depth.....|NERDTree-K|
-J.......Jump down inside directories at the current tree depth...|NERDTree-J|
-<C-j>...Jump down to the next sibling of the current directory...|NERDTree-c-j|
-<C-k>...Jump up to the previous sibling of the current directory.|NERDTree-c-k|
-
-C.......Change the tree root to the selected dir.................|NERDTree-C|
-u.......Move the tree root up one directory......................|NERDTree-u|
-U.......Same as 'u' except the old root node is left open........|NERDTree-U|
-r.......Recursively refresh the current directory................|NERDTree-r|
-R.......Recursively refresh the current root.....................|NERDTree-R|
-m.......Display the filesystem menu..............................|NERDTree-m|
-cd......Change the CWD to the dir of the selected node...........|NERDTree-cd|
-
-H.......Toggle whether hidden files displayed....................|NERDTree-H|
-f.......Toggle whether the file filters are used.................|NERDTree-f|
-F.......Toggle whether files are displayed.......................|NERDTree-F|
-
-q.......Close the NERDTree window................................|NERDTree-q|
-?.......Toggle the display of the quick help.....................|NERDTree-?|
-
-------------------------------------------------------------------------------
- *NERDTree-o*
-Default key: o
-Map option: NERDTreeMapActivateNode
-Applies to: files and directories.
-
-If a file node is selected, it is opened in the previous window. If a
-directory is selected it is opened or closed depending on its current state.
-
-------------------------------------------------------------------------------
- *NERDTree-go*
-Default key: go
-Map option: None
-Applies to: files.
-
-If a file node is selected, it is opened in the previous window, but the
-cursor does not move.
-
-The key combo for this mapping is always "g" + NERDTreeMapActivateNode (see
-|NERDTree-o|).
-
-------------------------------------------------------------------------------
- *NERDTree-t*
-Default key: t
-Map option: NERDTreeMapOpenInTab
-Applies to: files and directories.
-
-Opens the selected file in a new tab. If a directory is selected, a netrw is
-opened in a new tab.
-
-------------------------------------------------------------------------------
- *NERDTree-T*
-Default key: T
-Map option: NERDTreeMapOpenInTabSilent
-Applies to: files and directories.
-
-The same as |NERDTree-t| except that the focus is kept in the current tab.
-
-------------------------------------------------------------------------------
- *NERDTree-tab*
-Default key: <tab>
-Map option: NERDTreeMapOpenSplit
-Applies to: files.
-
-Opens the selected file in a new split window and puts the cursor in the new
-window.
-
-------------------------------------------------------------------------------
- *NERDTree-gtab*
-Default key: g<tab>
-Map option: None
-Applies to: files.
-
-The same as |NERDTree-tab| except that the cursor is not moved.
-
-The key combo for this mapping is always "g" + NERDTreeMapOpenSplit (see
-|NERDTree-tab|).
-
-------------------------------------------------------------------------------
- *NERDTree-!*
-Default key: !
-Map option: NERDTreeMapExecute
-Applies to: files.
-
-Executes the selected file, prompting for arguments first.
-
-------------------------------------------------------------------------------
- *NERDTree-O*
-Default key: O
-Map option: NERDTreeMapOpenRecursively
-Applies to: directories.
-
-Recursively opens the selelected directory.
-
-All files and directories are cached, but if a directory would not be
-displayed due to file filters (see |NERDTreeIgnore| |NERDTree-f|) or the
-hidden file filter (see |NERDTreeShowHidden|) then it is not opened. This is
-handy, especially if you have .svn directories.
-
-
-------------------------------------------------------------------------------
- *NERDTree-x*
-Default key: x
-Map option: NERDTreeMapCloseDir
-Applies to: files and directories.
-
-Closes the parent of the selected node.
-
-------------------------------------------------------------------------------
- *NERDTree-X*
-Default key: X
-Map option: NERDTreeMapCloseChildren
-Applies to: directories.
-
-Recursively closes all children of the selected directory.
-
-Tip: To quickly "reset" the tree, use |NERDTree-P| with this mapping.
-
-------------------------------------------------------------------------------
- *NERDTree-e*
-Default key: e
-Map option: NERDTreeMapOpenExpl
-Applies to: files and directories.
-
-Opens a netrw on the selected directory, or the selected file's directory.
-
-------------------------------------------------------------------------------
- *NERDTree-P*
-Default key: P
-Map option: NERDTreeMapJumpRoot
-Applies to: no restrictions.
-
-Jump to the tree root.
-
-------------------------------------------------------------------------------
- *NERDTree-p*
-Default key: p
-Map option: NERDTreeMapJumpParent
-Applies to: files and directories.
-
-Jump to the parent node of the selected node.
-
-------------------------------------------------------------------------------
- *NERDTree-K*
-Default key: K
-Map option: NERDTreeMapJumpFirstChild
-Applies to: files and directories.
-
-Jump to the first child of the current nodes parent.
-
-If the cursor is already on the first node then do the following:
- * loop back thru the siblings of the current nodes parent until we find an
- open dir with children
- * go to the first child of that node
-
-------------------------------------------------------------------------------
- *NERDTree-J*
-Default key: J
-Map option: NERDTreeMapJumpLastChild
-Applies to: files and directories.
-
-Jump to the last child of the current nodes parent.
-
-If the cursor is already on the last node then do the following:
- * loop forward thru the siblings of the current nodes parent until we find
- an open dir with children
- * go to the last child of that node
-
-------------------------------------------------------------------------------
- *NERDTree-c-j*
-Default key: <C-j>
-Map option: NERDTreeMapJumpNextSibling
-Applies to: files and directories.
-
-If a dir node is selected, jump to the next sibling of that node.
-If a file node is selected, jump to the next sibling of that nodes parent.
-
-------------------------------------------------------------------------------
- *NERDTree-c-k*
-Default key: <C-k>
-Map option: NERDTreeMapJumpPrevSibling
-Applies to: files and directories.
-
-If a dir node is selected, jump to the previous sibling of that node.
-If a file node is selected, jump to the previous sibling of that nodes parent.
-
-------------------------------------------------------------------------------
- *NERDTree-C*
-Default key: C
-Map option: NERDTreeMapChdir
-Applies to: directories.
-
-Made the selected directory node the new tree root.
-
-------------------------------------------------------------------------------
- *NERDTree-u*
-Default key: u
-Map option: NERDTreeMapUpdir
-Applies to: no restrictions.
-
-Move the tree root up a dir (like doing a "cd ..").
-
-------------------------------------------------------------------------------
- *NERDTree-U*
-Default key: U
-Map option: NERDTreeMapUpdirKeepOpen
-Applies to: no restrictions.
-
-Like |NERDTree-u| except that the old tree root is kept open.
-
-------------------------------------------------------------------------------
- *NERDTree-r*
-Default key: r
-Map option: NERDTreeMapRefresh
-Applies to: files and directories.
-
-If a dir is selected, recursively refresh that dir, i.e. scan the filesystem
-for changes and represent them in the tree.
-
-If a file node is selected then the above is done on it's parent.
-
-------------------------------------------------------------------------------
- *NERDTree-R*
-Default key: R
-Map option: NERDTreeMapRefreshRoot
-Applies to: no restrictions.
-
-Recursively refresh the tree root.
-
-------------------------------------------------------------------------------
- *NERDTree-m*
-Default key: m
-Map option: NERDTreeMapFilesystemMenu
-Applies to: files and directories.
-
-Display the filesystem menu. See |NERDTreeFilesysMenu| for details.
-
-------------------------------------------------------------------------------
- *NERDTree-H*
-Default key: H
-Map option: NERDTreeMapToggleHidden
-Applies to: no restrictions.
-
-Toggles whether hidden files are displayed. Hidden files are any
-file/directory that starts with a "."
-
-------------------------------------------------------------------------------
- *NERDTree-f*
-Default key: f
-Map option: NERDTreeMapToggleFilters
-Applies to: no restrictions.
-
-Toggles whether file filters are used. See |NERDTreeIgnore| for details.
-
-------------------------------------------------------------------------------
- *NERDTree-F*
-Default key: F
-Map option: NERDTreeMapToggleFiles
-Applies to: no restrictions.
-
-Toggles whether file nodes are displayed.
-
-------------------------------------------------------------------------------
- *NERDTree-q*
-Default key: q
-Map option: NERDTreeMapQuit
-Applies to: no restrictions.
-
-Closes the NERDtree window.
-
-------------------------------------------------------------------------------
- *NERDTree-?*
-Default key: ?
-Map option: NERDTreeMapHelp
-Applies to: no restrictions.
-
-Toggles whether the quickhelp is displayed.
-
-------------------------------------------------------------------------------
-2.3. The filesystem menu *NERDTreeFilesysMenu*
-
-The purpose of the filesystem menu is to allow you to perform basic filesystem
-operations quickly from the NERD tree rather than the console.
-
-The filesystem menu can be accessed with 'm' mapping and has three supported
-operations: >
- 1. Adding nodes.
- 2. Renaming nodes.
- 3. Deleting nodes.
-<
-1. Adding nodes:
-To add a node move the cursor onto (or anywhere inside) the directory you wish
-to create the new node inside. Select the 'add node' option from the
-filesystem menu and type a filename. If the filename you type ends with a '/'
-character then a directory will be created. Once the operation is completed,
-the cursor is placed on the new node.
-
-2. Renaming nodes:
-To rename a node, put the cursor on it and select the 'rename' option from the
-filesystem menu. Enter the new name for the node and it will be renamed. If
-the old file is open in a buffer, you will be asked if you wish to delete that
-buffer. Once the operation is complete the cursor will be placed on the
-renamed node.
-
-3. Deleting nodes:
-To delete a node put the cursor on it and select the 'delete' option from the
-filesystem menu. After confirmation the node will be deleted. If a file is
-deleted but still exists as a buffer you will be given the option to delete
-that buffer.
-
-==============================================================================
-3. Customisation *NERDTreeOptions*
-
-
-------------------------------------------------------------------------------
-3.1. Customisation summary *NERDTreeOptionSummary*
-
-The script provides the following options that can customise the behaviour the
-NERD tree. These options should be set in your vimrc.
-
-|loaded_nerd_tree| Turns off the script.
-
-|NERDChristmasTree| Tells the NERD tree to make itself colourful
- and pretty.
-
-|NERDTreeAutoCenter| Controls whether the NERD tree window centers
- when the cursor moves within a specified
- distance to the top/bottom of the window.
-|NERDTreeAutoCenterThreshold| Controls the sensitivity of autocentering.
-
-|NERDTreeCaseSensitiveSort| Tells the NERD tree whether to be case
- sensitive or not when sorting nodes.
-
-|NERDTreeChDirMode| Tells the NERD tree if/when it should change
- vim's current working directory.
-
-|NERDTreeHighlightCursorline| Tell the NERD tree whether to highlight the
- current cursor line.
-
-|NERDTreeIgnore| Tells the NERD tree which files to ignore.
-
-|NERDTreeMouseMode| Tells the NERD tree how to handle mouse
- clicks.
-
-|NERDTreeShowFiles| Tells the NERD tree whether to display files
- in the tree on startup.
-
-|NERDTreeShowHidden| Tells the NERD tree whether to display hidden
- files on startup.
-
-|NERDTreeSortOrder| Tell the NERD tree how to sort the nodes in
- the tree.
-
-|NERDTreeSplitVertical| Tells the script whether the NERD tree should
- be created by splitting the window vertically
- or horizontally.
-
-|NERDTreeWinPos| Tells the script where to put the NERD tree
- window.
-
-
-|NERDTreeWinSize| Sets the window size when the NERD tree is
- opened.
-
-------------------------------------------------------------------------------
-3.2. Customisation details *NERDTreeOptionDetails*
-
-To enable any of the below options you should put the given line in your
-~/.vimrc
-
- *loaded_nerd_tree*
-If this plugin is making you feel homicidal, it may be a good idea to turn it
-off with this line in your vimrc: >
- let loaded_nerd_tree=1
-<
-------------------------------------------------------------------------------
- *NERDChristmasTree*
-Values: 0 or 1.
-Default: 1.
-
-If this option is set to 1 then some extra syntax highlighting elements are
-added to the nerd tree to make it more colourful.
-
-Set it to 0 for a more vanilla looking tree.
-
-------------------------------------------------------------------------------
- *NERDTreeAutoCenter*
-Values: 0 or 1.
-Default: 1
-
-If set to 1, the NERD tree window will center around the cursor if it moves to
-within |NERDTreeAutoCenterThreshold| lines of the top/bottom of the window.
-
-This is ONLY done in response to tree navigation mappings,
-i.e. |NERDTree-J| |NERDTree-K| |NERDTree-C-J| |NERDTree-c-K| |NERDTree-p|
-|NERDTree-P|
-
-The centering is done with a |zz| operation.
-
-------------------------------------------------------------------------------
- *NERDTreeAutoCenterThreshold*
-Values: Any natural number.
-Default: 3
-
-This option controls the "sensitivity" of the NERD tree auto centering. See
-|NERDTreeAutoCenter| for details.
-
-------------------------------------------------------------------------------
- *NERDTreeCaseSensitiveSort*
-Values: 0 or 1.
-Default: 0.
-
-By default the NERD tree does not sort nodes case sensitively, i.e. nodes
-could appear like this: >
- bar.c
- Baz.c
- blarg.c
- boner.c
- Foo.c
-<
-But, if you set this option to 1 then the case of the nodes will be taken into
-account. The above nodes would then be sorted like this: >
- Baz.c
- Foo.c
- bar.c
- blarg.c
- boner.c
-<
-------------------------------------------------------------------------------
- *NERDTreeChDirMode*
-
-Values: 0, 1 or 2.
-Default: 1.
-
-Use this option to tell the script when (if at all) to change the current
-working directory (CWD) for vim.
-
-If it is set to 0 then the CWD is never changed by the NERD tree.
-
-If set to 1 then the CWD is changed when the NERD tree is first loaded to the
-directory it is initialized in. For example, if you start the NERD tree with >
- :NERDTree /home/marty/foobar
-<
-then the CWD will be changed to /home/marty/foobar and will not be changed
-again unless you init another NERD tree with a similar command.
-
-If the option is set to 2 then it behaves the same as if set to 1 except that
-the CWD is changed whenever the tree root is changed. For example, if the CWD
-is /home/marty/foobar and you make the node for /home/marty/foobar/baz the new
-root then the CWD will become /home/marty/foobar/baz.
-
-Note to windows users: it is highly recommended that you have this option set
-to either 1 or 2 or else the script wont function properly if you attempt to
-open a NERD tree on a different drive to the one vim is currently in.
-
-Authors note: at work i have this option set to 1 because i have a giant ctags
-file in the root dir of my project. This way i can initialise the NERD tree
-with the root dir of my project and always have ctags available to me --- no
-matter where i go with the NERD tree.
-
-------------------------------------------------------------------------------
- *NERDTreeHighlightCursorline*
-Values: 0 or 1.
-Default: 1.
-
-If set to 1, the current cursor line in the NERD tree buffer will be
-highlighted. This is done using the |cursorline| option.
-
-------------------------------------------------------------------------------
- *NERDTreeIgnore*
-Values: a list of regular expressions.
-Default: ['\~$'].
-
-This option is used to specify which files the NERD tree should ignore. It
-must be a list of regular expressions. When the NERD tree is rendered, any
-files/dirs that match any of the regex's in NERDTreeIgnore wont be displayed.
-
-For example if you put the following line in your vimrc: >
- let NERDTreeIgnore=['\.vim$', '\~$']
-<
-then all files ending in .vim or ~ will be ignored.
-
-Note: to tell the NERD tree not to ignore any files you must use the following
-line: >
- let NERDTreeIgnore=[]
-<
-
-The file filters can be turned on and off dynamically with the |NERDTree-f|
-mapping.
-
-------------------------------------------------------------------------------
- *NERDTreeMouseMode*
-Values: 1, 2 or 3.
-Default: 1.
-
-If set to 1 then a double click on a node is required to open it.
-If set to 2 then a single click will open directory nodes, while a double
-click will still be required for file nodes.
-If set to 3 then a single click will open any node.
-
-Note: a double click anywhere on a line that a tree node is on will
-activate it, but all single-click activations must be done on name of the node
-itself. For example, if you have the following node: >
- | | |-application.rb
-<
-then (to single click activate it) you must click somewhere in
-'application.rb'.
-
-------------------------------------------------------------------------------
- *NERDTreeShowFiles*
-Values: 0 or 1.
-Default: 1.
-
-If this option is set to 1 then files are displayed in the NERD tree. If it is
-set to 0 then only directories are displayed.
-
-This option can be toggled dynamically with the |NERDTree-F| mapping and is
-useful for drastically shrinking the tree when you are navigating to a
-different part of the tree.
-
-------------------------------------------------------------------------------
- *NERDTreeShowHidden*
-Values: 0 or 1.
-Default: 0.
-
-This option tells vim whether to display hidden files by default. This option
-can be dynamically toggled with the |NERDTree-H| mapping.
-Use one of the follow lines to set this option: >
- let NERDTreeShowHidden=0
- let NERDTreeShowHidden=1
-<
-
-------------------------------------------------------------------------------
- *NERDTreeSortOrder*
-Values: a list of regular expressions.
-Default: ['\/$', '*', '\.swp$', '\.bak$', '\~$']
-
-This option is set to a list of regular expressions which are used to
-specify the order of nodes under their parent.
-
-For example, if the option is set to: >
- ['\.vim$', '\.c$', '\.h$', '*', 'foobar']
-<
-then all .vim files will be placed at the top, followed by all .c files then
-all .h files. All files containing the string 'foobar' will be placed at the
-end. The star is a special flag: it tells the script that every node that
-doesnt match any of the other regexps should be placed here.
-
-If no star is present in NERDTreeSortOrder then one is automatically appended
-to the array.
-
-The regex '\/$' should be used to match directory nodes.
-
-After this sorting is done, the files in each group are sorted alphabetically.
-
-Other examples: >
- (1) ['*', '\/$']
- (2) []
- (3) ['\/$', '\.rb$', '\.php$', '*', '\.swp$', '\.bak$', '\~$']
-<
-1. Directories will appear last, everything else will appear above.
-2. Every will simply appear in alphabetical order.
-3. Dirs will appear first, then ruby and php. Swap files, bak files and vim
- backup files will appear last with everything else preceding them.
-
-------------------------------------------------------------------------------
- *NERDTreeSplitVertical*
-Values: 0 or 1.
-Default: 1.
-
-This option, along with |NERDTreeWinPos|, is used to determine where the NERD
-tree window appears.
-
-If it is set to 1 then the NERD tree window will appear on either the left or
-right side of the screen (depending on the |NERDTreeWinPos| option).
-
-If it set to 0 then the NERD tree window will appear at the top of the screen.
-
-------------------------------------------------------------------------------
- *NERDTreeWinPos*
-Values: 0 or 1.
-Default: 1.
-
-This option works in conjunction with the |NERDTreeSplitVertical| option to
-determine where NERD tree window is placed on the screen.
-
-If the option is set to 1 then the NERD tree will appear on the left or top of
-the screen (depending on the value of |NERDTreeSplitVertical|). If set to 0,
-the window will appear on the right or bottom of the screen.
-
-This option is makes it possible to use two different explorer type
-plugins simultaneously. For example, you could have the taglist plugin on the
-left of the window and the NERD tree on the right.
-
-------------------------------------------------------------------------------
- *NERDTreeWinSize*
-Values: a positive integer.
-Default: 31.
-
-This option is used to change the size of the NERD tree when it is loaded.
-
-==============================================================================
- *NERDTreePublicFunctions*
-5. Public functions ~
-
-The script provides 2 public functions for your hacking pleasure. Their
-signatures are: >
- function! NERDTreeGetCurrentNode()
- function! NERDTreeGetCurrentPath()
-<
-The first returns the node object that the cursor is currently on, while the
-second returns the corresponding path object.
-
-This is probably a good time to mention that the script implements prototype
-style OO. To see the functions that each class provides you can read look at
-the code.
-
-Use the node objects to manipulate the structure of the tree. Use the path
-objects to access the data the tree represents and to make changes to the
-filesystem.
-
-==============================================================================
-5. TODO list *NERDTreeTodo*
-
-Window manager integration?
-
-==============================================================================
-6. The Author *NERDTreeAuthor*
-
-The author of the NERD tree is a terrible terrible monster called Martyzilla
-who gobbles up small children with milk and sugar for breakfast. He has an odd
-love/hate relationship with computers (but monsters hate everything by nature
-you know...) which can be awkward for him since he is a pro computer nerd for
-a living.
-
-He can be reached at martin_grenfell at msn.com. He would love to hear from
-you, so feel free to send him suggestions and/or comments about this plugin.
-Don't be shy --- the worst he can do is slaughter you and stuff you in the
-fridge for later ;)
-
-==============================================================================
-7. Changelog *NERDTreeChangelog*
-
-2.6.2
- - Now when you try to open a file node into a window that is modified, the
- window is not split if the &hidden option is set. Thanks to Niels Aan
- de Brugh for this suggestion.
-
-2.6.1
- - Fixed a major bug with the <tab> mapping. Thanks to Zhang Weiwu for
- emailing me.
-
-2.6.0
- - Extended the behaviour of <c-j/k>. Now if the cursor is on a file node
- and you use <c-j/k> the cursor will jump to its PARENTS next/previous
- sibling. Go :help NERDTree-c-j and :help NERDTree-c-k for info.
- - Extended the behaviour of the J/K mappings. Now if the cursor is on the
- last child of a node and you push J/K it will jump down to the last child
- of the next/prev of its parents siblings that is open and has children.
- Go :help NERDTree-J and :help NERDTree-K for info.
- - The goal of these changes is to make tree navigation faster.
- - Reorganised the help page a bit.
- - Removed the E mapping.
- - bugfixes
-
-2.5.0
- - Added an option to enforce case sensitivity when sorting tree nodes.
- Read :help NERDTreeCaseSensitiveSort for details. (thanks to Michael
- Madsen for emailing me about this). Case sensitivity defaults to off.
- - Made the script echo a "please wait" style message when opening large
- directories. Thanks to AOYAMA Shotaro for this suggestion.
- - Added 2 public functions that can be used to retrieve the treenode and
- path that the cursor is on. Read :help NERDTreePublicFunctions for
- details (thanks again to AOYAMA Shotaro for the idea :).
- - added 2 new mappings for file nodes: "g<tab>" and "go". These are the
- same as the "<tab>" and "o" maps except that the cursor stays in the
- NERDTree. Note: these maps are slaved to the o and <tab> mappings, so if
- eg you remap "<tab>" to "i" then the "g<tab>" map will also be changed
- to "gi".
- - Renamed many of the help tags to be simpler.
- - Simplified the ascii "graphics" for the filesystem menu
- - Fixed bugs.
- - Probably created bugs.
- - Refactoring.
-
-2.4.0
- - Added the P mapping to jump to the tree root.
- - Added window centering functionality that can be triggered when doing
- using any of the tree nav mappings. Essentially, if the cursor comes
- within a certain distance of the top/bottom of the window then a zz is
- done in the window. Two related options were added: NERDTreeAutoCenter
- to turn this functionality on/off, and NERDTreeAutoCenterThreshold to
- control how close the cursor has to be to the window edge to trigger the
- centering.
-
-2.3.0
- - Tree navigation changes:
- - Added J and K mappings to jump to last/first child of the current dir.
- Options to customise these mappings have also been added.
- - Remapped the jump to next/prev sibling commands to be <C-j> and <C-k> by
- default.
- These changes should hopefully make tree navigation mappings easier to
- remember and use as the j and k keys are simply reused 3 times (twice
- with modifier keys).
-
- - Made it so that, when any of the tree filters are toggled, the cursor
- stays with the selected node (or goes to its parent/grandparent/... if
- that node is no longer visible)
- - Fixed an error in the doc for the mouse mode option.
- - Made the quickhelp correctly display the current single/double click
- mappings for opening nodes as specified by the NERDTreeMouseMode option.
- - Fixed a bug where the script was spazzing after prompting you to delete
- a modified buffer when using the filesystem menu.
- - Refactoring
-2.2.3
- - Refactored the :echo output from the script.
- - Fixed some minor typos in the doc.
- - Made some minor changes to the output of the 'Tree filtering mappings'
- part of the quickhelp
-
-2.2.2
- - More bugfixes... doh.
-
-2.2.1
- - Bug fix that was causing an exception when closing the nerd tree. Thanks
- to Tim carey-smith and Yu Jun for pointing this out.
-
-2.2.0
- - Now 'cursorline' is set in the NERD tree buffer by default. See :help
- NERDTreeHighlightCursorline for how to disable it.
-
-2.1.2
- - Stopped the script from clobbering the 1,2,3 .. 9 registers.
- - Made it "silent!"ly delete buffers when renaming/deleting file nodes.
- - Minor correction to the doc
- - Fixed a bug when refreshing that was occurring when the node you
- refreshed had been deleted externally.
- - Fixed a bug that was occurring when you open a file that is already open
- and modified.
-
-2.1.1
- - Added a bit more info about the buffers you are prompted to delete when
- renaming/deleting nodes from the filesystem menu that are already loaded
- into buffers.
- - Refactoring and bugfixes
-
-2.1.0
- - Finally removed the blank line that always appears at the top of the
- NERDTree buffer
- - Added NERDTreeMouseMode option. If set to 1, then a double click is
- required to activate all nodes, if set to 2 then a single click will
- activate directory nodes, if set to 3 then a single click will activate
- all nodes.
- - Now if you delete a file node and have it open in a buffer you are given
- the option to delete that buffer as well. Similarly if you rename a file
- you are given the option to delete any buffers containing the old file
- (if any exist)
- - When you rename or create a node, the cursor is now put on the new node,
- this makes it easy immediately edit the new file.
- - Fixed a bug with the ! mapping that was occurring on windows with paths
- containing spaces.
- - Made all the mappings customisable. See |NERD_tree-mappings| for
- details. A side effect is that a lot of the "double mappings" have
- disappeared. E.g 'o' is now the key that is used to activate a node,
- <CR> is no longer mapped to the same.
- - Made the script echo warnings in some places rather than standard echos
- - Insane amounts of refactoring all over the place.
-
-2.0.0
- - Added two new NERDChristmasTree decorations. First person to spot them
- and email me gets a free copy of the NERDTree.
- - Made it so that when you jump around the tree (with the p, s and S
- mappings) it is counted as a jump by vim. This means if you, eg, push
- 'p' one too many times then you can go `` or ctrl-o.
- - Added a new option called NERDTreeSortOrder which takes an array of
- regexs and is used to determine the order that the treenodes are listed
- in. Go :help NERDTreeSortOrder for details.
- - Removed the NERDTreeSortDirs option because it is consumed by
- NERDTreeSortOrder
- - Added the 'i' mapping which is the same as <tab> but requires less
- effort to reach.
- - Added the ! mapping which is used to execute file in the tree (after it
- prompts you for arguments etc)
-
-
-==============================================================================
-8. Credits *NERDTreeCredits*
-
-Thanks to Tim Carey-Smith for testing/using the NERD tree from the first
-pre-beta version, for his many suggestions and for his constant stream of bug
-complaints.
-
-Thanks to Vigil for trying it out before the first release :) and suggesting
-that mappings to open files in new tabs should be implemented.
-
-Thanks to Nick Brettell for testing, fixing my spelling and suggesting i put a
- .. (up a directory)
-line in the gui.
-
-Thanks to Thomas Scott Urban - the author of the vtreeexplorer plugin - whose
-gui code i borrowed from.
-
-Thanks to Terrance Cohen for pointing out a bug where the script was changing
-vims CWD all over the show.
-
-Thanks to Yegappan Lakshmanan (author of Taglist and other orgasmically
-wonderful plugins) for telling me how to fix a bug that was causing vim to go
-into visual mode everytime you double clicked a node :)
-
-Thanks to Jason Mills for sending me a fix that allows windows paths to use
-forward slashes as well as backward.
-
-Thanks to Michael Geddes (frogonwheels on #vim at freenode) for giving me some
-tips about syntax highlighting when i was doing highlighting for the
-quickhelp.
-
-Thanks to Yu Jun for emailing me about a bug that was occurring when closing
-the tree.
-
-Thanks to Michael Madsen for emailing me about making case sensitivity
-optional when sorting nodes.
-
-Thanks to AOYAMA Shotaro for suggesting that i echo a "please wait" message
-when opening large directories.
-
-Thanks to Michael Madsen for requesting the NERDTreeCaseSensitiveSort option.
-
-Thanks to AOYAMA Shotaro for suggesting that a "please wait" style message be
-echoed when opening large directories. Also, thanks for the suggestion of
-having public functions in the script to access the internal data :D
-
-Thanks to Zhang Weiwu for emailing me about a bug with the the <tab> mapping
-in 2.6.0
-
-Thanks to Niels Aan de Brugh for the suggestion that the script now split the
-window if you try to open a file in a window containing a modified buffer when
-the &hidden option is set.
-
-
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/.vim/doc/haskellmode.txt b/.vim/doc/haskellmode.txt
deleted file mode 100644
index 27c224d..0000000
--- a/.vim/doc/haskellmode.txt
+++ /dev/null
@@ -1,465 +0,0 @@
-*haskellmode.txt* Haskell Mode Plugins 02/05/2009
-
-Authors:
- Claus Reinke <claus.reinke@talk21.com> ~
-
-Homepage:
- http://projects.haskell.org/haskellmode-vim
-
-CONTENTS *haskellmode*
-
- 1. Overview |haskellmode-overview|
- 1.1 Runtime Requirements |haskellmode-requirements|
- 1.2 Quick Reference |haskellmode-quickref|
- 2. Settings |haskellmode-settings|
- 2.1 GHC and web browser |haskellmode-settings-main|
- 2.2 Fine tuning - more configuration options |haskellmode-settings-fine|
- 3. GHC Compiler Integration |haskellmode-compiler|
- 4. Haddock Integration |haskellmode-haddock|
- 4.1 Indexing |haskellmode-indexing|
- 4.2 Lookup |haskellmode-lookup|
- 4.3 Editing |haskellmode-editing|
- 5. Hpaste Integration |haskellmode-hpaste|
- 6. Additional Resources |haskellmode-resources|
-
-==============================================================================
- *haskellmode-overview*
-1. Overview ~
-
- The Haskell mode plugins provide advanced support for Haskell development
- using GHC/GHCi on Windows and Unix-like systems. The functionality is
- based on Haddock-generated library indices, on GHCi's interactive
- commands, or on simply activating (some of) Vim's built-in program editing
- support in Haskell-relevant fashion. These plugins live side-by-side with
- the pre-defined |syntax-highlighting| support for |haskell| sources, and
- any other Haskell-related plugins you might want to install (see
- |haskellmode-resources|).
-
- The Haskell mode plugins consist of three filetype plugins (haskell.vim,
- haskell_doc.vim, haskell_hpaste.vim), which by Vim's |filetype| detection
- mechanism will be auto-loaded whenever files with the extension '.hs' are
- opened, and one compiler plugin (ghc.vim) which you will need to load from
- your vimrc file (see |haskellmode-settings|).
-
-
- *haskellmode-requirements*
-1.1 Runtime Requirements ~
-
- The plugins require a recent installation of GHC/GHCi. The functionality
- derived from Haddock-generated library indices also requires a local
- installation of the Haddock documentation for GHC's libraries (if there is
- no documentation package for your system, you can download a tar-ball from
- haskell.org), as well as an HTML browser (see |haddock_browser|). If you
- want to use the experimental hpaste interface, you will also need Wget.
-
- * GHC/GHCi ~
- Provides core functionality. http://www.haskell.org/ghc
-
- * HTML library documentation files and indices generated by Haddock ~
- These usually come with your GHC installation, possibly as a separate
- package. If you cannot get them this way, you can download a tar-ball
- matching your GHC version from http://www.haskell.org/ghc/docs/
-
- * HTML browser with basic CSS support ~
- For browsing Haddock docs.
-
- * Wget ~
- For interfacing with http://hpaste.org.
-
- Wget is widely available for modern Unix-like operating systems. Several
- ports also exist for Windows, including:
-
- - Official GNU Wget (natively compiled for Win32)
- http://www.gnu.org/software/wget/#downloading
-
- - UnxUtils Wget (natively compiled for Win32, bundled with other ported
- Unix utilities)
- http://sourceforge.net/projects/unxutils/
-
- - Cygwin Wget (emulated POSIX in Win32, must be run under Cygwin)
- http://cygwin.com/packages/wget/
-
- *haskellmode-quickref*
-1.2 Quick Reference ~
-
-|:make| load into GHCi, show errors (|quickfix| |:copen|)
-|_ct| create |tags| file
-|_si| show info for id under cursor
-|_t| show type for id under cursor
-|_T| insert type declaration for id under cursor
-|balloon| show type for id under mouse pointer
-|_?| browse Haddock entry for id under cursor
-|_?1| search Hoogle for id under cursor
-|_?2| search Hayoo! for id under cursor
-|:IDoc| {identifier} browse Haddock entry for unqualified {identifier}
-|:MDoc| {module} browse Haddock entry for {module}
-|:FlagReference| {s} browse Users Guide Flag Reference for section {s}
-|_.| qualify unqualified id under cursor
-|_i| add 'import <module>(<identifier>)' for id under cursor
-|_im| add 'import <module>' for id under cursor
-|_iq| add 'import qualified <module>(<identifier>)' for id under cursor
-|_iqm| add 'import qualified <module>' for id under cursor
-|_ie| make imports explit for import statement under cursor
-|_opt| add OPTIONS_GHC pragma
-|_lang| add LANGUAGE pragma
-|i_CTRL-X_CTRL-O| insert-mode completion based on imported ids (|haskellmode-XO|)
-|i_CTRL-X_CTRL-U| insert-mode completion based on documented ids (|haskellmode-XU|)
-|i_CTRL-N| insert-mode completion based on imported sources
-|:GHCi|{command/expr} run GHCi command/expr in current module
-
-|:GHCStaticOptions| edit static GHC options for this buffer
-|:DocSettings| show current Haddock-files-related plugin settings
-|:DocIndex| populate Haddock index
-|:ExportDocIndex| cache current Haddock index to a file
-|:HpasteIndex| Read index of most recent entries from hpaste.org
-|:HpastePostNew| Submit current buffer as a new hpaste
-
-
-==============================================================================
- *haskellmode-settings*
-2. Settings ~
-
- The plugins try to find their dependencies in standard locations, so if
- you're lucky, you will only need to set |compiler| to ghc, and configure
- the location of your favourite web browser. You will also want to make
- sure that |filetype| detection and |syntax| highlighting are on. Given the
- variety of things to guess, however, some dependencies might not be found
- correctly, or the defaults might not be to your liking, in which case you
- can do some more fine tuning. All of this configuration should happen in
- your |vimrc|.
->
- " enable syntax highlighting
- syntax on
-
- " enable filetype detection and plugin loading
- filetype plugin on
-<
-
- *haskellmode-settings-main*
-2.1 GHC and web browser ~
-
- *compiler-ghc* *ghc-compiler*
- To use the features provided by the GHC |compiler| plugin, use the
- following |autocommand| in your vimrc:
->
- au BufEnter *.hs compiler ghc
-<
- *g:ghc*
- If the compiler plugin can't locate your GHC binary, or if you have
- several versions of GHC installed and have a preference as to which binary
- is used, set |g:ghc|:
->
- :let g:ghc="/usr/bin/ghc-6.6.1"
-<
- *g:haddock_browser*
- The preferred HTML browser for viewing Haddock documentation can be set as
- follows:
->
- :let g:haddock_browser="/usr/bin/firefox"
-<
-
- *haskellmode-settings-fine*
-2.2 Fine tuning - more configuration options ~
-
- Most of the fine tuning is likely to happen for the haskellmode_doc.vim
- plugin, so you can check the current settings for this plugin via the
- command |:DocSettings|. If all the settings reported there are to your
- liking, you probably won't need to do any fine tuning.
-
- *g:haddock_browser_callformat*
- By default, the web browser|g:haddock_browser| will be started
- asynchronously (in the background) on Windows or when vim is running in a
- GUI, and synchronously (in the foreground) otherwise. These settings seem
- to work fine if you are using a console mode browser (eg, when editing in
- a remote session), or if you are starting a GUI browser that will launch
- itself in the background. But if these settings do not work for you, you
- can change the default browser launching behavior.
-
- This is controlled by |g:haddock_browser_callformat|. It specifies a
- format string which uses two '%s' parameters, the first representing the
- path of the browser to launch, and the second is the documentation URL
- (minus the protocol specifier, i.e. file://) passed to it by the Haddock
- plugin. For instance, to launch a GUI browser on Unix-like systems and
- force it to the background (see also |shellredir|):
->
- :let g:haddock_browser_callformat = '%s file://%s '.printf(&shellredir,'/dev/null').' &'
-<
- *g:haddock_docdir*
- Your system's installed Haddock documentation for GHC and its libraries
- should be automatically detected. If the plugin can't locate them, you
- must point |g:haddock_docdir| to the path containing the master index.html
- file for the subdirectories 'libraries', 'Cabal', 'users_guide', etc.:
->
- :let g:haddock_docdir="/usr/local/share/doc/ghc/html/"
-<
- *g:haddock_indexfiledir*
- The information gathered from Haddock's index files will be stored in a
- file called 'haddock_index.vim' in a directory derived from the Haddock
- location, or in $HOME. To configure another directory for the index file,
- use:
->
- :let g:haddock_indexfiledir="~/.vim/"
-<
- *g:wget*
- If you also want to try the experimental hpaste functionality, you might
- you need to set |g:wget| before the |hpaste| plugin is loaded (unless wget
- is in your PATH):
->
- :let g:wget="C:\Program Files\wget\wget.exe"
-<
-
- Finally, the mappings actually use|<LocalLeader>|behind the scenes, so if
- you have to, you can redefine|maplocalleader|to something other than '_'.
- Just remember that the docs still refer to mappings starting with '_', to
- avoid confusing the majority of users!-)
-
-==============================================================================
- *haskellmode-compiler* *ghc*
-3. GHC Compiler Integration ~
-
- The GHC |compiler| plugin sets the basic |errorformat| and |makeprg| to
- enable |quickfix| mode using GHCi, and provides functionality for show
- info (|_si|), show type (|_t| or mouse |balloon|), add type declaration
- (|_T|), create tag file (|_ct|), and insert-mode completion
- (|i_CTRL-X_CTRL-O|) based on GHCi browsing of the current and imported
- modules.
-
- To avoid frequent calls to GHCi, type information is cached in Vim. The
- cache will be populated the first time a command depends on it, and will
- be refreshed every time a |:make| goes through without generating errors
- (if the |:make| does not succeed, the old types will remain available in
- Vim). You can also unconditionally force reloading of type info using
- |:GHCReload| (if GHCi cannot load your file, the type info will be empty).
-
-
- In addition to the standard|quickfix| commands, the GHC compiler plugin
- provides:
-
- *:GHCReload*
-:GHCReload Reload modules and unconditionally refresh cache of
- type info. Usually, |:make| is prefered, as that will
- refresh the cache only if GHCi reports no errors, and
- show the errors otherwise.
-
- *:GHCStaticOptions*
-:GHCStaticOptions Edit the static GHC options (more generally, options
- that cannot be set by in-file OPTIONS_GHC pragmas)
- for the current buffer. Useful for adding hidden
- packages (-package ghc), or additional import paths
- (-isrc; you will then also want to augment |path|).
- If you have static options you want to set as
- defaults, you could use b:ghc_staticoptions, eg:
->
- au FileType haskell let b:ghc_staticoptions = '-isrc'
- au FileType haskell setlocal path += src
-<
-
- *:GHCi*
-:GHCi {command/expr} Run GHCi commands/expressions in the current module.
-
- *_ct*
-_ct Create |tags| file for the current Haskell source
- file. This uses GHCi's :ctags command, so it will work
- recursively, but will only list tags for exported
- entities.
-
- *_opt*
-_opt Shows a menu of frequently used GHC compiler options
- (selecting an entry adds the option as a pragma to the
- start of the file). Uses popup menu (GUI) or :emenu
- and command-line completion (CLI).
-
- *_lang*
-_lang Shows a menu of the LANGUAGE options supported by GHC
- (selecting an entry adds the language as a pragma to
- the start of the file). Uses popup menu (GUI) or
- :emenu and command-line completion (CLI).
-
- *_si*
-_si Show extended information for the name under the
- cursor. Uses GHCi's :info command. Output appears in
- |preview-window| (when done, close with |:pclose|).
-
- *_t*
-_t Show type for the name under the cursor. Uses cached
- info from GHCi's :browse command.
-
- *_T*
-_T Insert type declaration for the name under the cursor.
- Uses cached info from GHCi's :browse command.
-
- *haskellmode-XO* *haskellmode-omni-completion*
-CTRL-X CTRL-O Standard insert-mode omni-completion based on the
- cached type info from GHCi browsing current and
- imported modules. Only names from the current and from
- imported modules are included (the completion menu
- also show the type of each identifier).
-
-==============================================================================
- *haskellmode-haddock* *haddock*
-4. Haddock Integration ~
-
- Haskell mode integrates with Haddock-generated HTML documentation,
- providing features such as navigating to the Haddock entry for the
- identifier under the cursor (|_?|), completion for the identifier under
- the cursor (|i_CTRL-X_CTRL-U|), and adding import statements (|_i| |_im|
- |_iq| |_iqm|) or module qualifier (|_.|) for the identifier under the
- cursor.
-
- These commands operate on an internal Haddock index built from the
- platform's installed Haddock documentation for GHC's libraries. Since
- populating this index takes several seconds, it should be stored as a
- file called 'haddock_index.vim' in the directory specified by
- |g:haddock_indexfiledir|.
-
- Some commands present a different interface (popup menu or command-line
- completion) according to whether the current Vim instance is graphical or
- console-based (actually: whether or not the GUI is running). Such
- differences are marked below with the annotations (GUI) and (CLI),
- respectively.
-
- |:DocSettings| shows the settings for this plugin. If you are happy with
- them, you can call |:ExportDocIndex| to populate and write out the
- documentation index (should be called once for every new version of GHC).
-
- *:DocSettings*
-:DocSettings Show current Haddock-files-related plugin settings.
-
-
- *haskellmode-indexing*
-4.1 Indexing ~
-
- *:DocIndex*
-:DocIndex Populate the Haddock index from the GHC library
- documentation.
-
- *:ExportDocIndex*
-:ExportDocIndex Cache the current Haddock index to a file (populate
- index first, if empty).
-
-
- *haskellmode-lookup*
-4.2 Lookup ~
-
- *_?*
-_? Open the Haddock entry (in |haddock_browser|) for an
- identifier under the cursor, selecting full
- qualifications from a popup menu (GUI) or via
- command-line completion (CLI), if the identifier is
- not qualified.
-
- *_?1*
-_?1 Search Hoogle (using |haddock_browser|) for an
- identifier under the cursor.
-
-
- *_?2*
-_?2 Search Hayoo! (using |haddock_browser|) for an
- identifier under the cursor.
-
- *:IDoc*
-:IDoc {identifier} Open the Haddock entry for the unqualified
- {identifier} in |haddock_browser|, suggesting possible
- full qualifications.
-
- *:MDoc*
-:MDoc {module} Open the Haddock entry for {module} in
- |haddock_browser| (with command-line completion for
- the fully qualified module name).
-
- *:FlagReference*
-:FlagReference {s} Browse Users Guide Flag Reference for section {s}
- (with command-line completion for section headers).
-
-
- *haskellmode-editing*
-4.3 Editing ~
-
- *_.*
-_. Fully qualify the unqualified name under the cursor
- selecting full qualifications from a popup menu (GUI)
- or via command-line completion (CLI).
-
- *_iq* *_i*
-_i _iq Add 'import [qualified] <module>(<identifier>)'
- statement for the identifier under the cursor,
- selecting fully qualified modules from a popup menu
- (GUI) or via command-line completion (CLI), if the
- identifier is not qualified. This currently adds one
- import statement per call instead of merging into
- existing import statements.
-
- *_iqm* *_im*
-_im Add 'import [qualified] <module>' statement for the
- identifier under the cursor, selecting fully qualified
- modules from a popup menu (GUI) or via command-line
- completion (CLI), if the identifier is not qualified.
- This currently adds one import statement per call
- instead of merging into existing import statements.
-
- *_ie*
-_ie On an 'import <module>' line, in a correctly loadable
- module, temporarily comment out import and use :make
- 'not in scope' errors to explicitly list imported
- identifiers.
-
- *haskellmode-XU* *haskellmode-user-completion*
-CTRL-X CTRL-U User-defined insert mode name completion based on all
- names known to the Haddock index, including package
- names. Completions are presented in a popup menu which
- also displays the fully qualified module from which
- each entry may be imported.
-
- CamelCode shortcuts are supported, meaning that
- lower-case letters can be elided, using only
- upper-case letters and module qualifier separators (.)
- for disambiguation:
-
- pSL -> putStrLn
- C.E.t -> Control.Exception.t
- C.M.MP -> Control.Monad.MonadPlus
-
- To reduce unwanted matches, the first letter of such
- shortcuts and the first letter after each '.' have to
- match directly.
-
-==============================================================================
- *haskellmode-hpaste* *hpaste*
-5. Hpaste Integration ~
-
- This experimental feature allows browsing and posting to
- http://hpaste.org, a Web-based pastebin tailored for Haskell code.
-
-
- *:HpasteIndex*
-:HpasteIndex Read the most recent entries from hpaste.org. Show an
- index of the entries in a new buffer, where ',r' will
- open the current highlighted entry [and ',p' will
- annotate it with the current buffer].
-
- *:HpastePostNew*
-:HpastePostNew Submit current buffer as a new hpaste entry.
- [This, and ',p' above, are temporarily disabled,
- needs update to new hpaste.org layout]
-
-==============================================================================
- *haskellmode-resources*
-6. Additional Resources ~
-
- An quick screencast tour through of these plugins is available at:
-
- http://projects.haskell.org/haskellmode-vim/screencasts.html
-
- Other Haskell-related Vim plugins can be found here:
-
- http://www.haskell.org/haskellwiki/Libraries_and_tools/Program_development#Vim
-
- Make sure to read about Vim's other program-editing features in its online
- |user-manual|. Also have a look at Vim tips and plugins at www.vim.org -
- two other plugins I tend to use when editing Haskell are AlignPlugin.vim
- (to line up regexps for definitions, keywords, comments, etc. in
- consecutive lines) and surround.vim (to surround text with quotes,
- brackets, parentheses, comments, etc.).
-
-==============================================================================
- vim:tw=78:ts=8:ft=help:
diff --git a/.vim/doc/omnicppcomplete.txt b/.vim/doc/omnicppcomplete.txt
deleted file mode 100644
index b11e006..0000000
--- a/.vim/doc/omnicppcomplete.txt
+++ /dev/null
@@ -1,1078 +0,0 @@
-*omnicppcomplete.txt* Plugin for C/C++ omnicompletion
-*omnicppcomplete*
-
-Author: Vissale NEANG (fromtonrouge AT gmail DOT com)
-Last Change: 26 sept. 2007
-
-OmniCppComplete version 0.41
-
-For Vim version 7.0 and above
-
-==============================================================================
-
-1. Overview |omnicpp-overview|
-2. Downloads |omnicpp-download|
-3. Installation |omnicpp-installation|
-4. Options |omnicpp-options|
-5. Features |omnicpp-features|
-6. Limitations |omnicpp-limitations|
-7. FAQ & TIPS |omnicpp-faq|
-8. History |omnicpp-history|
-9. Thanks |omnicpp-thanks|
-
-==============================================================================
-1. Overview~
- *omnicpp-overview*
-The purpose of this script is to provide an 'omnifunc' function for C and C++
-language. In a C++ file, while in insert mode, you can use CTRL-X CTRL-O to:
-
- * Complete namespaces, classes, structs and unions
- * Complete attribute members and return type of functions
- * Complete the "this" pointer
- * Complete an object after a cast (C and C++ cast)
- * Complete typedefs and anonymous types
-
-You can set a "may complete" behaviour to start a completion automatically
-after a '.', '->' or '::'. Please see |omnicpp-may-complete| for more details.
-
-The script needs an |Exuberant_ctags| database to work properly.
-
-==============================================================================
-2. Downloads~
- *omnicpp-download*
-You can download the latest release of the script from this url :
-
- http://www.vim.org/scripts/script.php?script_id=1520
-
-You can download |Exuberant_ctags| from :
-
- http://ctags.sourceforge.net
-
-==============================================================================
-3. Installation~
- *omnicpp-installation*
-3.1. Script installation~
-
-Unzip the downloaded file in your personal |vimfiles| directory (~/.vim under
-unix or %HOMEPATH%\vimfiles under windows). The 'omnifunc' will be
-automatically set for C and C++ files.
-
-You also have to enable plugins by adding these two lines in your|.vimrc|file: >
-
- set nocp
- filetype plugin on
-<
-Please see |cp| and |filetype-plugin-on| sections for more details.
-
-3.1.1. Files~
-
-After installation you should find these files :
-
- after\ftplugin\cpp.vim
- after\ftplugin\c.vim
-
- autoload\omni\common\debug.vim
- \utils.vim
-
- autoload\omni\cpp\complete.vim
- \includes.vim
- \items.vim
- \maycomplete.vim
- \namespaces.vim
- \settings.vim
- \tokenizer.vim
- \utils.vim
-
- doc\omnicppcomplete.txt
-
-3.2. Building the Exuberant Ctags database~
-
-To extract C/C++ symbols information, the script needs an |Exuberant_ctags|
-database.
-
-You have to build your database with at least the following options:
- --c++-kinds=+p : Adds prototypes in the database for C/C++ files.
- --fields=+iaS : Adds inheritance (i), access (a) and function
- signatures (S) information.
- --extra=+q : Adds context to the tag name. Note: Without this
- option, the script cannot get class members.
-
-Thus to build recursively a ctags database from the current directory, the
-command looks like this:
->
- ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
-<
-You can add a map in your |.vimrc| file, eg: >
-
- map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
-<
-Or you can add these options in your ctags config file (~/.ctags under unix or
-%HOMEPATH%\ctags.cnf under windows) and execute the command : >
-
- :!ctags -R .
-<
-If your project contains files of other languages you may add the following
-options:
- --languages=c++ : Builds only the tags for C++ files.
-
-If your project contains macros you may also use the -I option.
-
-Please read the ctags help or ctags man page for more details.
-
-3.3. Setting the 'tags' option~
-
-The default value of the option 'tags' is "./tags,tags" ("./tags,./TAGS,tags,TAGS"
-when |+emacs_tags| is enabled), if you build your tag database with the cmd above,
-you normally don't have to change this setting (The cmd used above generates a
-file with the name "tags"). In this case your current working directory must be
-the directory where the tags file reside.
-
-Note: When |+emacs_tags| is enabled, the script may display members twice, it's
- recommended to set tags to "./tags,tags' or "./TAGS,TAGS".
-
-If your tags file is not named "tags" you have to add it in the 'tags'
-option eg: >
-
- set tags+=/usr/tagsdir/mytagfile
-<
-You can ensure that the 'tags' option is set properly by executing the following
-command: >
-
- :tselect MyClass
-<
-Where MyClass is a class of your project. This command should display all
-possible tags for the type MyClass.
-
-3.4. Simple test~
-
-Now you can do a simple test. Edit a C++ file and write the simplest case : >
-
- MyClass myObject;
- myObject.<C-X><C-O>
-<
-You should see class members of MyClass.
-
-==============================================================================
-4. Options~
- *omnicpp-options*
-
-You can change completion behaviour by setting script options in your |.vimrc|
-configuration file.
-
-4.1. Global scope search toggle~
- *OmniCpp_GlobalScopeSearch*
-
-You can enable/disable the global scope search by setting the
-OmniCpp_GlobalScopeSearch option.
-
-Possible values are :
- 0 = disabled
- 1 = enabled
- [default=1] >
-
- let OmniCpp_GlobalScopeSearch = 1
-<
-4.2. Namespace search method~
- *OmniCpp_NamespaceSearch*
-
-You can change the 'using namespace' search behaviour by setting the
-OmniCpp_NamespaceSearch option.
-
-Possible values are :
- 0 = namespaces disabled
- 1 = search namespaces in the current buffer
- 2 = search namespaces in the current buffer and in included files
- [default=1] >
-
- let OmniCpp_NamespaceSearch = 1
-<
-When OmniCpp_NamespaceSearch is 2, "using namespace" declarations are parsed
-in the current buffer and also in included files. To find included files, the
-script use the vim env 'path', so you have to set it properly.
-
-Note: included files are searched with lvimgrep, thus the location list of the
-current window is changed.
-
-Note: When the 'filetype' is "c", namespace search is always disabled even if
-OmniCpp_NamespaceSearch != 0
-
-4.3. Class scope completion mode~
- *OmniCpp_DisplayMode*
-
-When you are completing a class scope (eg: MyClass::<C-X><C-O>), depending on
-the current scope, you may see sometimes static, public, protected or private
-members and sometimes you may see all members. By default the choice is done
-automatically by the script but you can override it with the
-OmniCpp_DisplayMode option.
-
-Note: This option can be use when you have friend classes in your project (the
-script does not support friend classes).
-
-Possible values are :
- 0 = auto
- 1 = always show all members
- [default=0] >
-
- let OmniCpp_DisplayMode = 0
-<
-4.4. Show scope in abbreviation~
- *OmniCpp_ShowScopeInAbbr*
-
-By default, in the |omnicpp-popup| menu, you will see the scope of a match in
-the last column. You can remove this column and add the scope at the beginning
-of match abbreviation.
-eg:
-
-OmniCpp_ShowScopeInAbbr = 0
- +-------------------------------------+
- |method1( f + MyNamespace::MyClass|
- |_member1 m + MyNamespace::MyClass|
- |_member2 m # MyNamespace::MyClass|
- |_member3 m - MyNamespace::MyClass|
- +-------------------------------------+
-
-OmniCpp_ShowScopeInAbbr = 1
- +-------------------------------------+
- |MyNamespace::MyClass::method1( f + |
- |MyNamespace::MyClass::_member1 m + |
- |MyNamespace::MyClass::_member2 m # |
- |MyNamespace::MyClass::_member3 m - |
- +-------------------------------------+
-
-Possible values are :
- 0 = don't show scope in abbreviation
- 1 = show scope in abbreviation and remove the last column
- [default=0] >
-
- let OmniCpp_ShowScopeInAbbr = 0
-<
-4.5. Show prototype in abbreviation~
- *OmniCpp_ShowPrototypeInAbbr*
-
-This option allows to display the prototype of a function in the abbreviation
-part of the popup menu.
-
-Possible values are:
- 0 = don't display prototype in abbreviation
- 1 = display prototype in abbreviation
- [default=0] >
-
- let OmniCpp_ShowPrototypeInAbbr = 0
-<
-4.6. Show access~
- *OmniCpp_ShowAccess*
-
-This option allows to show/hide the access information ('+', '#', '-') in the
-popup menu.
-
-Possible values are:
- 0 = hide access
- 1 = show access
- [default=1] >
-
- let OmniCpp_ShowAccess = 1
-
-4.7. Default using namespace list~
- *OmniCpp_DefaultNamespaces*
-
-When |OmniCpp_NamespaceSearch| is not 0, the script will parse using namespace
-declarations in the current buffer and maybe in included files.
-You can specify manually a default namespace list if you want with the
-OmniCpp_DefaultNamespaces option. Each item in the list is a namespace name.
-eg: If you have
-
- let OmniCpp_DefaultNamespaces = ["std", "MyNamespace"]
-
- It will be the same as inserting this declarations at the top of the
- current buffer :
-
- using namespace std;
- using namespace MyNamespace;
-
-This option can be use if you don't want to parse using namespace declarations
-in included files and want to add namespaces that are always used in your
-project.
-
-Possible values are :
- List of String
- [default=[]] >
-
- let OmniCpp_DefaultNamespaces = []
-<
-4.8. May complete behaviour~
- *omnicpp-may-complete*
-
-This feature allows you to run automatically a completion after a '.', '->'
-or '::'. By default, the "may complete" feature is set automatically for '.'
-and '->'. The reason to not set this feature for the scope operator '::' is
-sometimes you don't want to complete a namespace that contains many members.
-
-To enable/disable the "may complete" behaviour for dot, arrow and scope
-operator, you can change the option OmniCpp_MayCompleteDot,
-OmniCpp_MayCompleteArrow and OmniCpp_MayCompleteScope respectively.
-
- *OmniCpp_MayCompleteDot*
-Possible values are :
- 0 = May complete disabled for dot
- 1 = May complete enabled for dot
- [default=1] >
-
- let OmniCpp_MayCompleteDot = 1
-<
- *OmniCpp_MayCompleteArrow*
-Possible values are :
- 0 = May complete disabled for arrow
- 1 = May complete enabled for arrow
- [default=1] >
-
- let OmniCpp_MayCompleteArrow = 1
-<
- *OmniCpp_MayCompleteScope*
-Possible values are :
- 0 = May complete disabled for scope
- 1 = May complete enabled for scope
- [default=0] >
-
- let OmniCpp_MayCompleteScope = 0
-<
-
-Note: You can obviously continue to use <C-X><C-O>
-
-4.9. Select/Don't select first popup item~
- *OmniCpp_SelectFirstItem*
-
-Note: This option is only used when 'completeopt' does not contain "longest".
-
-When 'completeopt' does not contain "longest", Vim automatically select the
-first entry of the popup menu. You can change this behaviour with the
-OmniCpp_SelectFirstItem option.
-
-Possible values are:
- 0 = don't select first popup item
- 1 = select first popup item (inserting it to the text)
- 2 = select first popup item (without inserting it to the text)
- [default=0] >
-
- let OmniCpp_SelectFirstItem = 0
-
-4.10 Use local search function for variable definitions~
- *OmniCpp_LocalSearchDecl*
-
-The internal search function for variable definitions of vim requires that the
-enclosing braces of the function are located in the first column. You can
-change this behaviour with the OmniCpp_LocalSearchDecl option. The local
-version works irrespective the position of braces.
-
-Possible values are:
- 0 = use standard vim search function
- 1 = use local search function
- [default=0] >
-
-==============================================================================
-5. Features~
- *omnicpp-features*
-5.1. Popup menu~
- *omnicpp-popup*
-Popup menu format:
- +-------------------------------------+
- |method1( f + MyNamespace::MyClass|
- |_member1 m + MyNamespace::MyClass|
- |_member2 m # MyNamespace::MyClass|
- |_member3 m - MyNamespace::MyClass|
- +-------------------------------------+
- ^ ^ ^ ^
- (1) (2)(3) (4)
-
-(1) name of the symbol, when a match ends with '(' it's a function.
-
-(2) kind of the symbol, possible kinds are :
- * c = classes
- * d = macro definitions
- * e = enumerators (values inside an enumeration)
- * f = function definitions
- * g = enumeration names
- * m = class, struct, and union members
- * n = namespaces
- * p = function prototypes
- * s = structure names
- * t = typedefs
- * u = union names
- * v = variable definitions
-
-(3) access, possible values are :
- * + = public
- * # = protected
- * - = private
-Note: enumerators have no access information
-
-(4) scope where the symbol is defined.
-Note: If the scope is empty it's a global symbol
-Note: anonymous scope may end with __anon[number]
-eg: If you have an anonymous enum in MyNamespace::MyClass : >
-
- namespace MyNamespace
- {
- class MyClass
- {
- private:
-
- enum
- {
- E_ENUM0,
- E_ENUM1,
- E_ENUM2
- };
- };
- }
-<
-
-You should see :
-
- +----------------------------------------------+
- |E_ENUM0 e MyNamespace::MyClass::__anon1|
- |E_ENUM1 e MyNamespace::MyClass::__anon1|
- |E_ENUM2 e MyNamespace::MyClass::__anon1|
- +----------------------------------------------+
- ^
- __anon[number]
-
-5.2. Global scope completion~
-
-The global scope completion allows you to complete global symbols for the base
-you are currently typing. The base can start with '::' or not.
-Note: Global scope completion only works with a non empty base, if you run a
-completion just after a '::' the completion will fail. The reason is that if
-there is no base to complete the script will try to display all the tags in
-the database. For small project it could be not a problem but for others you
-may wait 5 minutes or more for a result.
-
-eg1 : >
-
- pthread_cr<C-X><C-O> => pthread_create
-<
-Where pthread_create is a global function.
-eg2: >
- ::globa<C-X><C-O> => ::global_func(
- +----------------+
- |global_func( f|
- |global_var1 v|
- |global_var2 v|
- +----------------+
-<
-Where global_var1, global_var2 and global_func are global symbols
-eg3: >
- ::<C-X><C-O> => [NO MATCH]
-<
-No match because a global completion from an empty base is not allowed.
-
-5.3. Namespace scope completion~
-
-You can complete namespace members after a 'MyNamespace::'. Contrary to global
-scope completion you can run a completion from an empty base.
-Possible members are:
- * Namespaces
- * Classes
- * Structs
- * Unions
- * Enums
- * Functions
- * Variables
- * Typedefs
-
-eg: >
- MyNamespace::<C-X><C-O>
- +--------------------------------+
- |E_ENUM0 e MyNamespace|
- |E_ENUM1 e MyNamespace|
- |E_ENUM2 e MyNamespace|
- |MyClass c MyNamespace|
- |MyEnum g MyNamespace|
- |MyStruct s MyNamespace|
- |MyUnion u MyNamespace|
- |SubNamespace n MyNamespace|
- |doSomething( f MyNamespace|
- |myVar v MyNamespace|
- |something_t t MyNamespace|
- +--------------------------------+
-
-5.4. Class scope completion~
-
-You can complete class members after a 'MyClass::'. Contrary to global scope
-completion you can run a completion from an empty base.
-By default, there is two behaviours for class scope completion.
-
- a) Completion of a base class of the current class scope
-
- When you are completing a base class of the current class scope, you
- will see all members of this class in the popup menu.
- eg: >
-
- class A
- {
- public:
- enum
- {
- E_ENUM0,
- E_ENUM1,
- E_ENUM2,
- };
-
- void func1();
- static int _staticMember;
-
- private:
- int _member;
- };
-
- class B : public A
- {
- public:
- void doSomething();
- };
-
-
- void MyClassB::doSomething()
- {
- MyClassA::<C-X><C-O>
- +---------------------------+
- |E_ENUM0 e MyClassA|
- |E_ENUM1 e MyClassA|
- |E_ENUM2 e MyClassA|
- |func1( f + MyClassA|
- |_member m - MyClassA|
- |_staticMember m + MyClassA|
- +---------------------------+
- }
-<
-
- b) Completion of a non base class of the current class scope
-
- When you are completing a class that is not a base class of the
- current class you will see only enumerators and static members.
- eg: >
-
- class C
- {
- public:
- void doSomething();
- };
-
- void MyClassC::doSomething()
- {
- MyClassA::<C-X><C-O>
- +---------------------------+
- |E_ENUM0 e MyClassA|
- |E_ENUM1 e MyClassA|
- |E_ENUM2 e MyClassA|
- |_staticMember m + MyClassA|
- +---------------------------+
- }
-<
-You can override the default behaviour by setting the
-|OmniCpp_DisplayMode| option.
-
-5.5. Current scope completion~
-
-When you start a completion from an empty instruction you are in "Current
-scope completion" mode. You will see possible members of each context in
-the context stack.
-eg: >
- void MyClass::doSomething()
- {
- using namespace MyNamespace;
- using namespace SubNamespace;
-
- // You will see members of each context in the context stack
- // 1) MyClass members
- // 2) MyNamespace::SubNamespace members
- // 3) MyNamespace members
-
- <C-X><C-O>
- +------------------------------------------+
- |_member1 m + MyClass |
- |_member2 m # MyClass |
- |func1( f MyNamespace::SubNamespace|
- |var v MyNamespace::SubNamespace|
- |func1( f MyNamespace |
- |var v MyNamespace |
- +------------------------------------------+
- }
-<
-
-5.6. Class, Struct and Union members completion~
-
-You can complete members of class, struct and union instances after a '->' or
-'.'.
-eg: >
- MyClass myObject;
- myObject.<C-X><C-O>
- +-----------------------+
- |_member1 m + MyClass |
- |_member2 m # MyClass |
- +-----------------------+
-<
-
-5.7. Attribute members and returned type completion~
-
-You can complete a class member or a return type of a function.
-eg: >
- MyClass myObject;
-
- // Completion of the member _member1
- myObject._member1-><C-X><C-O>
- +------------------------+
- |get( m + AnotherClass1|
- +------------------------+
-
- // Completion of the return type of the function get()
- myObject._member1->get()-><C-X><C-O>
- +--------------------------+
- |_member1 m + AnotherClass2|
- |_member2 m # AnotherClass2|
- |_member3 m - AnotherClass2|
- +--------------------------+
-
-5.8. Anonymous type completion~
-
-Note: To use this feature you need at least|Exuberant_ctags| version 5.6
-
-You can complete an anonymous type like this : >
- struct
- {
- int a;
- int b;
- int c;
- }globalVar;
-
- void func()
- {
- globalVar.<C-X><C-O>
- +---------------+
- |a m + __anon1|
- |b m + __anon1|
- |c m + __anon1|
- +---------------+
- }
-<
-Where globalVar is a global variable of an anonymous type
-
-5.9. Typedef completion~
-
-You can complete a typedef. The typedef is resolved recursively, thus typedef
-of typedef of... may not be a problem.
-
-You can also complete a typedef of an anonymous type, eg : >
- typedef struct
- {
- int a;
- int b;
- int c;
- }something_t;
-
- something_t globalVar;
-
- void func()
- {
- globalVar.<C-X><C-O>
- +---------------+
- |a m + __anon1|
- |b m + __anon1|
- |c m + __anon1|
- +---------------+
- }
-<
-Where globalVar is a global variable of typedef of an anonymous type.
-
-5.10. Completion of the "this" pointer~
-
-You can complete the "this" pointer.
-eg: >
- this-><C-X><C-O>
- +-----------------------+
- |_member1 m + MyClass |
- |_member2 m # MyClass |
- +-----------------------+
-
- (*this).<C-X><C-O>
- +-----------------------+
- |_member1 m + MyClass |
- |_member2 m # MyClass |
- +-----------------------+
-<
-
-5.11. Completion after a cast~
-
-You can complete an object after a C or C++ cast.
-eg: >
- // C cast style
- ((AnotherStruct*)pStruct)-><C-X><C-O>
-
- // C++ cast style
- static_cast<AnotherStruct*>(pStruct)-><C-X><C-O>
-<
-
-5.12. Preview window~
-
-If the 'completeopt' option contains the setting "preview" (this is the
-default value), you will see a preview window during the completion.
-This window shows useful information like function signature, filename where
-the symbol is define etc...
-
-The preview window contains tag information, the list below is non exhaustive.
-
- * name : name of the tag
- * cmd : regexp or line number that helps to find the tag
- * signature : signature for prototypes and functions
- * kind : kind of the tag (eg: namespace, class etc...)
- * access : access information (eg: public, protected, private)
- * inherits : list of base classes
- * filename : filename where the tag is define
-
-5.13. Code tokenization~
-
-When you start a completion, the current instruction is tokenized ignoring
-spaces, tabs, carriage returns and comments. Thus you can complete a symbol
-even if the current instruction is on multiple lines, has comments between
-words etc... :
-eg: this case is unrealistic but it's just for illustration >
-
- myObject [ 0 ]/* Why is there a comment here ?*/
- ->_member
- -> <C-X><C-O>
-<
-
-==============================================================================
-6. Limitations~
- *omnicpp-limitations*
-Some C++ features are not supported by the script, some implemented features
-may not work properly in some conditions. They are multiple reasons like a
-lack of information in the database, performance issues and so on...
-
-6.1. Attribute members and returned type completion~
-
-To work properly, the completion of attribute members and returned type of
-functions depends on how you write your code in the class declaration.
-Because the tags database does not contain information like return type or
-type of a member, the script use the cmd information of the tag to determine
-the type of an attribute member or the return type of a function.
-
-Thus, because the cmd is a regular expression (or line number for #define) if
-you write your code like this : >
-
- class MyClass
- {
- public:
-
- MyOtherClass
- _member;
- };
-<
-The type of _member will not be recognized, because the cmd will be
-/^ _member;$/ and does not contain the type MyOtherClass.
-The correct case should be : >
-
- class MyClass
- {
- public:
-
- MyOtherClass _member;
- };
-<
-It's the same problem for return type of function : >
-
- class MyClass
- {
- public:
-
- MyOtherClass
- getOtherClass();
- };
-<
-Here the cmd will be /^ getOtherClass();$/ and the script won't find the
-return type.
-The correct case should be : >
- class MyClass
- {
- public:
-
- MyOtherClass getOtherClass();
- };
-<
-
-6.2. Static members~
-
-It's the same problem as above, tags database does not contain information
-about static members. The only fast way to get this information is to use the
-cmd.
-
-6.3. Typedef~
-
-It's the same problem as above, tags database does not contain information
-about the type of a typedef. The script use the cmd information to resolve the
-typedef.
-
-6.4. Restricted inheritance access~
-
-Tags database contains inheritance information but unfortunately inheritance
-access are not available. We could use the cmd but we often find code
-indentation like this : >
-
- class A :
- public B,
- protected C,
- private D
- {
- };
-<
-Here the cmd will be /^class A :$/, we can't extract inheritance access.
-
-6.5. Using namespace parsing~
-
-When you start a completion, using namespace declarations are parsed from the
-cursor position to the first scope to detect local using namespace
-declarations. After that, global using namespace declarations are parsed in the
-file and included files.
-
-There is a limitation for global using namespace detection, for performance
-issues only using namespace that starts a line will be detected.
-
-6.6. Friend classes~
-
-Tags database does not contain information about friend classes. The script
-does not support friend classes.
-
-6.7. Templates~
-
-At the moment, |Exuberant_ctags| does not provide additional information for
-templates. That's why the script does not handle templates.
-
-==============================================================================
-7. FAQ & TIPS~
- *omnicpp-faq*
-
-* How to complete STL objects ?
- If you have some troubles to generate a good ctags database for STL you
- can try this solution :
-
- 1) Download SGI's STL from SGI's site
- (http://www.sgi.com/tech/stl/download.html)
- 2) Replace all __STL_BEGIN_NAMESPACE by "namespace std {" and
- __STL_END_NAMESPACE by "}" from header and source files. (with Vim,
- or with tar and sed or another tool)
- 3) Run ctags and put the generated tags file in a directory eg:
- ~/MyTags/stl.tags
- 4) set tags+=~/MyTags/stl.tags
-
- The main problem is that you can't tell to ctags that
- __STL_BEGIN_NAMESPACE = "namespace std {" even with the option -I.
- That's why you need the step 2).
-
- Here is another solution if you have STL sources using _GLIBCXX_STD macro
- (Tip by Nicola Bonelli) : >
-
- let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
-<
-* How to close automatically the preview window after a completion ?
- (Tip by Kamil Renczewski)
-
- You can add to your |vimrc| the following lines : >
-
- autocmd CursorMovedI * if pumvisible() == 0|pclose|endif
- autocmd InsertLeave * if pumvisible() == 0|pclose|endif
-<
-==============================================================================
-8. History~
- *omnicpp-history*
-Version O.41
- - It's recommended to update ctags to version 5.7 or higher
- - The plugin is now activated for C files
- - New value for OmniCpp_SelectFirstItem when the option is equal to
- 2 the first item is selected without inserting it to
- the text (patch from Marek Olszewski)
- - Bug when completing union members fixed with ctags 5.7
- (reported by Willem-Jan de Hoog)
- - New option OmniCpp_LocalSearchDecl (patch from Roland Kuck)
- - Bug when tags=something,,somethingelse (reported by Tobias Pflug)
- - Bug with nested structure (reported by Mikhail Daen)
- - Bug where the script fails to detect the type of a variable when
- the ignorecase option is on (reported by Alexey Vakhov)
- - Error message when trying to use completion on a not yet saved
- Vim buffer (reported by Neil Bird)
- - Error message when trying to use completion on an file opened from
- a tselect command (reported by Henrique Andrade)
-
-Version 0.4
- - The script is renamed to OmniCppComplete according to the library
- script directory structure.
- - OmniCpp_ClassScopeCompletionMethod renamed to OmniCpp_DisplayMode
- - Fixed a bug where the quickfix list is modified after a completion.
- - OmniCpp_ShowPrototypeInAbbr option added. It allows to show the
- function signature in the abbreviation.
- - OmniCpp_ShowAccess option added. It allows to hide the access
- information in the popup menu.
- - The tags database format must be a ctags 5.6 database if you want to
- complete anonymous types.
- - Fixed current scope detection not working properly in destructors.
- - Don't show protected and private members according to the current scope.
- - Overloaded functions are now filtered properly.
- - New cache system using less memory.
- - The class scope of a method is now resolved properly with "using
- namespace" declarations.
- - OmniCpp_SelectFirstItem option added. It allows to not select the first
- item in the popup menu when 'completeopt' does not contain "longest".
- - Fixed the bug where a "random" item in the popup menu is selected
- by default when 'completeopt' does not contain "longest" option.
- - The script is now split in library scripts.
- - Cache added for 'using namespace' search in included files
- - Default value for OmniCpp_NamespaceSearch is now 1 (search only in the
- current buffer).
- - Namespace search automatically disabled for C files even if
- OmniCpp_NamespaceSearch != 0.
- - To avoid linear search in tags files, the ignorecase option is now
- disabled when getting tags datas (the user setting is restored after).
- - Fixed a bug where friend functions may crash the script and also crash vim.
-
-Version 0.32
- - Optimizations in search members methods.
- - 'May complete' behaviour is now set to default for dot '.' and arrow
- '->' (mappings are set in after/ftplugin/cpp.vim)
- - Fixed the option CppOmni_ShowScopeInAbbr not detected after the first
- completion.
- - Exceptions catched from taglist() when a tag file is corrupted.
- - Fixed a bug where enumerators in global scope didn't appear in the
- popup menu.
-
-Version 0.31
- WARNING: For this release and future releases you have to build your tags
- database with this cmd :
- "ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ."
- Please read installation instructions in the documentation for details
-
- - May complete added, please see installation notes for details.
- - Fixed a bug where the completion works while in a comment or in a string.
-
-Version 0.3
- WARNING: For this release and future releases you have to build your tags
- database with this cmd :
- "ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ."
- Please read installation instructions in the documentation for details
-
- - Documentation added.
- - Fixed a bug where typedefs were not correctly resolved in namespaces
- in some cases.
- - Fixed a bug where the type can not be detected when we have a decl
- like this: class A {}globalVar;
- - Fixed a bug in type detection where searchdecl() (gd) find
- incorrect declaration instruction.
- - Global scope completion now only works with non-empty base.
- - Using namespace list is now parsed in the current buffer and in
- included files.
- - Fixed a bug where the completion fails in some cases when the user
- sets the ignorecase to on
- - Preview window information added
- - Some improvements in type detection, the type can be properly detected
- with a declaration like this:
- 'Class1 *class1A = NULL, **class1B = NULL, class1C[9], class1D[1] = {};'
- - Fixed a bug where parent scopes were not displayed in the popup menu
- in the current scope completion mode.
- - Fixed a bug where an error message was displayed when the last
- instruction was not finished.
- - Fixed a bug where the completion fails if a punctuator or operator was
- immediately after the cursor.
- - The script can now detect parent contexts at the cursor position
- thanks to 'using namespace' declarations.
- It can also detect ambiguous namespaces. They are not included in
- the context list.
- - Fixed a bug where the current scope is not properly detected when
- a file starts with a comment
- - Fixed a bug where the type is not detected when we have myObject[0]
- - Removed the system() call in SearchMembers(), no more calls to the
- ctags binary. The user have to build correctly his database with the cmd:
- "ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ."
- - File time cache removed, the user have to rebuild his data base after a
- modification.
-
-Version 0.22
- - Completion of unnamed type (eg: You can complete g_Var defined like
- this 'struct {int a; int b;}g_Var;'). It also works for a typedef of
- an unnamed type (eg: 'typedef struct {int a; int b;}t_mytype; t_mytype
- g_Var;').
- - Tag file's time cache added, if a tag file has changed the global
- scope result cache is cleared.
- - Fixed a bug where the tokenization process enter in an infinite loop
- when a file starts with '/*'.
-
-Version 0.21
- - Improvements on the global scope completion.
- The user can now see the progression of the search and complete
- matches are stored in a cache for optimization. The cache is cleared
- when the tag env is modified.
- - Within a class scope when the user complete an empty word, the popup
- menu displays the members of the class then members of the global
- scope.
- - Fixed a bug where a current scope completion failed after a punctuator
- or operator (eg: after a '=' or '!=').
-
-Version 0.2
- - Improvements in type detection (eg: when a variable is declared in a
- parameter list, a catch clause, etc...)
- - Code tokenization => ignoring spaces, tabs, carriage returns and comments
- You can complete a code even if the instruction has bad
- indentation, spaces or carriage returns between words
- - Completion of class members added
- - Detection of the current scope at the cursor position.
- If you run a completion from en empty line, members of the current
- scope are displayed. It works on the global namespace and the current
- class scope (but there is not the combination of the 2 for the moment)
- - Basic completion on the global namespace (very slow)
- - Completion of returned type added
- - this pointer completion added
- - Completion after a cast added (C and C++ cast)
- - Fixed a bug where the matches of the complete menu are not filtered
- according to what the user typed
- - Change the output of the popup menu. The type of the member
- (function, member, enum etc...) is now display as a single letter.
- The access information is display like this : '+' for a public member
- '#' for a protected member and '-' for a private member.
- The last information is the class, namespace or enum where the member is define.
-
-Version 0.12:
- - Complete check added to the search process, you can now cancel
- the search during a complete search.
-
-Version 0.1:
- - First release
-
-==============================================================================
-9. Thanks~
- *omnicpp-thanks*
- * For advices, bug report, documentation, help, ideas :
- Alexey Vakhov (bug report)
- Arthur Axel "fREW" Schmidt (documentation)
- Dennis Lubert (bug report)
- Henrique Andrade (bug report)
- Kamil Renczewski (tips)
- Marek Olszewski (patch)
- Markus Trenkwalder (bug report)
- Martin Stubenschrott (bug report)
- Mikhail Daen (bug report)
- Neil Bird (bug report)
- Nicola Bonelli (tips)
- Robert Webb (bug report)
- Roland Kuck (patch)
- Tobias Pflug (bug report)
- Willem-Jan de Hoog (bug report)
- Yegappan Lakshmanan (advices)
-
-
- * Darren Hiebert for Exuberant Ctags
-
- * All Vim devs for Vim
-
- * Bram Moolenaar for Vim
-
- * You for using this script :)
-
-==============================================================================
-
- vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:
diff --git a/.vim/doc/surround.txt b/.vim/doc/surround.txt
deleted file mode 100644
index 1f3ba3d..0000000
--- a/.vim/doc/surround.txt
+++ /dev/null
@@ -1,184 +0,0 @@
-*surround.txt* Plugin for deleting, changing, and adding "surroundings"
-
-Author: Tim Pope <vimNOSPAM@tpope.info> *surround-author*
-License: Same terms as Vim itself (see |license|)
-
-This plugin is only available if 'compatible' is not set.
-
-INTRODUCTION *surround*
-
-This plugin is a tool for dealing with pairs of "surroundings." Examples
-of surroundings include parentheses, quotes, and HTML tags. They are
-closely related to what Vim refers to as |text-objects|. Provided
-are mappings to allow for removing, changing, and adding surroundings.
-
-Details follow on the exact semantics, but first, consider the following
-examples. An asterisk (*) is used to denote the cursor position.
-
- Old text Command New text ~
- "Hello *world!" ds" Hello world!
- [123+4*56]/2 cs]) (123+456)/2
- "Look ma, I'm *HTML!" cs"<q> <q>Look ma, I'm HTML!</q>
- if *x>3 { ysW( if ( x>3 ) {
- my $str = *whee!; vlllls' my $str = 'whee!';
-
-While a few features of this plugin will work in older versions of Vim,
-Vim 7 is recommended for full functionality.
-
-MAPPINGS *surround-mappings*
-
-Delete surroundings is *ds*. The next character given determines the target
-to delete. The exact nature of the target are explained in
-|surround-targets| but essentially it is the last character of a
-|text-object|. This mapping deletes the difference between the "inner"
-object and "an" object. This is easiest to understand with some examples:
-
- Old text Command New text ~
- "Hello *world!" ds" Hello world!
- (123+4*56)/2 ds) 123+456/2
- <div>Yo!*</div> dst Yo!
-
-Change surroundings is *cs*. It takes two arguments, a target like with
-|ds|, and a replacement. Details about the second argument can be found
-below in |surround-replacements|. Once again, examples are in order.
-
- Old text Command New text ~
- "Hello *world!" cs"' 'Hello world!'
- "Hello *world!" cs"<q> <q>Hello world!</q>
- (123+4*56)/2 cs)] [123+456]/2
- (123+4*56)/2 cs)[ [ 123+456 ]/2
- <div>Yo!*</div> cst<p> <p>Yo!</p>
-
-*ys* takes an valid Vim motion or text object as the first object, and wraps
-it using the second argument as with |cs|. (Unfortunately there's no good
-mnemonic for "ys").
-
- Old text Command New text ~
- Hello w*orld! ysiw) Hello (world)!
-
-As a special case, *yss* operates on the current line, ignoring leading
-whitespace.
-
- Old text Command New text ~
- Hello w*orld! yssB {Hello world!}
-
-There is also *yS* and *ySS* which indent the surrounded text and place it
-on a line of its own.
-
-In visual mode, a simple "s" with an argument wraps the selection. This is
-referred to as the *vs* mapping, although ordinarily there will be
-additional keystrokes between the v and s. In linewise visual mode, the
-surroundings are placed on separate lines. In blockwise visual mode, each
-line is surrounded.
-
-An "S" in visual mode (*vS*) behaves similarly but always places the
-surroundings on separate lines. Additionally, the surrounded text is
-indented. In blockwise visual mode, using "S" instead of "s" instead skips
-trailing whitespace.
-
-Note that "s" and "S" already have valid meaning in visual mode, but it is
-identical to "c". If you have muscle memory for "s" and would like to use a
-different key, add your own mapping and the existing one will be disabled.
->
- vmap <Leader>s <Plug>Vsurround
- vmap <Leader>S <Plug>VSurround
-<
-Finally, there is an experimental insert mode mapping on <C-S>. Beware that
-this won't work on terminals with flow control (if you accidentally freeze
-your terminal, use <C-Q> to unfreeze it). The mapping inserts the specified
-surroundings and puts the cursor between them. If, immediately after <C-S>
-and before the replacement, a second <C-S> or carriage return is pressed,
-the prefix, cursor, and suffix will be placed on three separate lines. If
-this is a common use case you can add a mapping for it as well.
->
- imap <C-Z> <Plug>Isurround<CR>
-<
-TARGETS *surround-targets*
-
-The |ds| and |cs| commands both take a target as their first argument. The
-possible targets are based closely on the |text-objects| provided by Vim.
-In order for a target to work, the corresponding text object must be
-supported in the version of Vim used (Vim 7 adds several text objects, and
-thus is highly recommended). All targets are currently just one character.
-
-Eight punctuation marks, (, ), {, }, [, ], <, and >, represent themselves
-and their counterpart. If the opening mark is used, contained whitespace is
-also trimmed. The targets b, B, r, and a are aliases for ), }, ], and >
-(the first two mirror Vim; the second two are completely arbitrary and
-subject to change).
-
-Three quote marks, ', ", `, represent themselves, in pairs. They are only
-searched for on the current line.
-
-A t is a pair of HTML or XML tags. See |tag-blocks| for details. Remember
-that you can specify a numerical argument if you want to get to a tag other
-than the innermost one.
-
-The letters w, W, and s correspond to a |word|, a |WORD|, and a |sentence|,
-respectively. These are special in that they have nothing do delete, and
-used with |ds| they are a no-op. With |cs|, one could consider them a
-slight shortcut for ysi (cswb == ysiwb, more or less).
-
-A p represents a |paragraph|. This behaves similarly to w, W, and s above;
-however, newlines are sometimes added and/or removed.
-
-REPLACEMENTS *surround-replacements*
-
-A replacement argument is a single character, and is required by |cs|, |ys|,
-and |vs|. Undefined replacement characters (with the exception of
-alphabetic characters) default to placing themselves at the beginning and
-end of the destination, which can be useful for characters like / and |.
-
-If either ), }, ], or > is used, the text is wrapped in the appropriate
-pair of characters. Similar behavior can be found with (, {, and [ (but not
-<), which append an additional space to the inside. Like with the targets
-above, b, B, r, and a are aliases for ), }, ], and >.
-
-If t or < is used, Vim prompts for an HTML/XML tag to insert. You may
-specify attributes here and they will be stripped from the closing tag.
-End your input by pressing <CR> or >. As an experimental feature, if , or
-<C-T> is used, the tags will appear on lines by themselves.
-
-An experimental replacement of a LaTeX environment is provided on \ and l.
-The name of the environment and any arguments will be input from a prompt.
-The following shows the resulting environment from csp\tabular}{lc<CR>
->
- \begin{tabular}{lc}
- \end{tabular}
-<
-CUSTOMIZING *surround-customizing*
-
-The following adds a potential replacement on "-" (ASCII 45) in PHP files.
-(To determine the ASCII code to use, :echo char2nr("-")). The carriage
-return will be replaced by the original text.
->
- autocmd FileType php let b:surround_45 = "<?php \r ?>"
-<
-This can be used in a PHP file as in the following example.
-
- Old text Command New text ~
- print "Hello *world!" yss- <?php print "Hello world!" ?>
-
-Additionally, one can use a global variable for globally available
-replacements.
->
- let g:surround_45 = "<% \r %>"
- let g:surround_61 = "<%= \r %>"
-<
-ISSUES *surround-issues*
-
-Vim could potentially get confused when deleting/changing occurs at the very
-end of the line. Please report any repeatable instances of this.
-
-Do we need to use |inputsave()|/|inputrestore()| with the tag replacement?
-
-Customization isn't very flexible. Need a system that allows for prompting,
-like with HTML tags and LaTeX environments.
-
-Indenting is handled haphazardly. Need to decide the most appropriate
-behavior and implement it. Right now one can do :let b:surround_indent = 1
-(or the global equivalent) to enable automatic re-indenting by Vim via |=|;
-should this be the default?
-
-It would be nice if |.| would work to repeat an operation.
- vim:tw=78:ts=8:ft=help:norl:
diff --git a/.vim/doc/taglist.txt b/.vim/doc/taglist.txt
deleted file mode 100755
index 6a62b39..0000000
--- a/.vim/doc/taglist.txt
+++ /dev/null
@@ -1,1501 +0,0 @@
-*taglist.txt* Plugin for browsing source code
-
-Author: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
-For Vim version 6.0 and above
-Last change: 2007 May 24
-
-1. Overview |taglist-intro|
-2. Taglist on the internet |taglist-internet|
-3. Requirements |taglist-requirements|
-4. Installation |taglist-install|
-5. Usage |taglist-using|
-6. Options |taglist-options|
-7. Commands |taglist-commands|
-8. Global functions |taglist-functions|
-9. Extending |taglist-extend|
-10. FAQ |taglist-faq|
-11. License |taglist-license|
-12. Todo |taglist-todo|
-
-==============================================================================
- *taglist-intro*
-1. Overview~
-
-The "Tag List" plugin is a source code browser plugin for Vim. This plugin
-allows you to efficiently browse through source code files for different
-programming languages. The "Tag List" plugin provides the following features:
-
- * Displays the tags (functions, classes, structures, variables, etc.)
- defined in a file in a vertically or horizontally split Vim window.
- * In GUI Vim, optionally displays the tags in the Tags drop-down menu and
- in the popup menu.
- * Automatically updates the taglist window as you switch between
- files/buffers. As you open new files, the tags defined in the new files
- are added to the existing file list and the tags defined in all the
- files are displayed grouped by the filename.
- * When a tag name is selected from the taglist window, positions the
- cursor at the definition of the tag in the source file.
- * Automatically highlights the current tag name.
- * Groups the tags by their type and displays them in a foldable tree.
- * Can display the prototype and scope of a tag.
- * Can optionally display the tag prototype instead of the tag name in the
- taglist window.
- * The tag list can be sorted either by name or by chronological order.
- * Supports the following language files: Assembly, ASP, Awk, Beta, C,
- C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp,
- Lua, Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang,
- SML, Sql, TCL, Verilog, Vim and Yacc.
- * Can be easily extended to support new languages. Support for
- existing languages can be modified easily.
- * Provides functions to display the current tag name in the Vim status
- line or the window title bar.
- * The list of tags and files in the taglist can be saved and
- restored across Vim sessions.
- * Provides commands to get the name and prototype of the current tag.
- * Runs in both console/terminal and GUI versions of Vim.
- * Works with the winmanager plugin. Using the winmanager plugin, you
- can use Vim plugins like the file explorer, buffer explorer and the
- taglist plugin at the same time like an IDE.
- * Can be used in both Unix and MS-Windows systems.
-
-==============================================================================
- *taglist-internet*
-2. Taglist on the internet~
-
-The home page of the taglist plugin is at:
->
- http://vim-taglist.sourceforge.net/
-<
-You can subscribe to the taglist mailing list to post your questions or
-suggestions for improvement or to send bug reports. Visit the following page
-for subscribing to the mailing list:
->
- http://groups.yahoo.com/group/taglist
-<
-==============================================================================
- *taglist-requirements*
-3. Requirements~
-
-The taglist plugin requires the following:
-
- * Vim version 6.0 and above
- * Exuberant ctags 5.0 and above
-
-The taglist plugin will work on all the platforms where the exuberant ctags
-utility and Vim are supported (this includes MS-Windows and Unix based
-systems).
-
-The taglist plugin relies on the exuberant ctags utility to dynamically
-generate the tag listing. The exuberant ctags utility must be installed in
-your system to use this plugin. The exuberant ctags utility is shipped with
-most of the Linux distributions. You can download the exuberant ctags utility
-from
->
- http://ctags.sourceforge.net
-<
-The taglist plugin doesn't use or create a tags file and there is no need to
-create a tags file to use this plugin. The taglist plugin will not work with
-the GNU ctags or the Unix ctags utility.
-
-This plugin relies on the Vim "filetype" detection mechanism to determine the
-type of the current file. You have to turn on the Vim filetype detection by
-adding the following line to your .vimrc file:
->
- filetype on
-<
-The taglist plugin will not work if you run Vim in the restricted mode (using
-the -Z command-line argument).
-
-The taglist plugin uses the Vim system() function to invoke the exuberant
-ctags utility. If Vim is compiled without the system() function then you
-cannot use the taglist plugin. Some of the Linux distributions (Suse) compile
-Vim without the system() function for security reasons.
-
-==============================================================================
- *taglist-install*
-4. Installation~
-
-1. Download the taglist.zip file and unzip the files to the $HOME/.vim or the
- $HOME/vimfiles or the $VIM/vimfiles directory. After this step, you should
- have the following two files (the directory structure should be preserved):
-
- plugin/taglist.vim - main taglist plugin file
- doc/taglist.txt - documentation (help) file
-
- Refer to the |add-plugin|and |'runtimepath'| Vim help pages for more
- details about installing Vim plugins.
-2. Change to the $HOME/.vim/doc or $HOME/vimfiles/doc or $VIM/vimfiles/doc
- directory, start Vim and run the ":helptags ." command to process the
- taglist help file. Without this step, you cannot jump to the taglist help
- topics.
-3. If the exuberant ctags utility is not present in one of the directories in
- the PATH environment variable, then set the 'Tlist_Ctags_Cmd' variable to
- point to the location of the exuberant ctags utility (not to the directory)
- in the .vimrc file.
-4. If you are running a terminal/console version of Vim and the terminal
- doesn't support changing the window width then set the
- 'Tlist_Inc_Winwidth' variable to 0 in the .vimrc file.
-5. Restart Vim.
-6. You can now use the ":TlistToggle" command to open/close the taglist
- window. You can use the ":help taglist" command to get more information
- about using the taglist plugin.
-
-To uninstall the taglist plugin, remove the plugin/taglist.vim and
-doc/taglist.txt files from the $HOME/.vim or $HOME/vimfiles directory.
-
-==============================================================================
- *taglist-using*
-5. Usage~
-
-The taglist plugin can be used in several different ways.
-
-1. You can keep the taglist window open during the entire editing session. On
- opening the taglist window, the tags defined in all the files in the Vim
- buffer list will be displayed in the taglist window. As you edit files, the
- tags defined in them will be added to the taglist window. You can select a
- tag from the taglist window and jump to it. The current tag will be
- highlighted in the taglist window. You can close the taglist window when
- you no longer need the window.
-2. You can configure the taglist plugin to process the tags defined in all the
- edited files always. In this configuration, even if the taglist window is
- closed and the taglist menu is not displayed, the taglist plugin will
- processes the tags defined in newly edited files. You can then open the
- taglist window only when you need to select a tag and then automatically
- close the taglist window after selecting the tag.
-3. You can configure the taglist plugin to display only the tags defined in
- the current file in the taglist window. By default, the taglist plugin
- displays the tags defined in all the files in the Vim buffer list. As you
- switch between files, the taglist window will be refreshed to display only
- the tags defined in the current file.
-4. In GUI Vim, you can use the Tags pull-down and popup menu created by the
- taglist plugin to display the tags defined in the current file and select a
- tag to jump to it. You can use the menu without opening the taglist window.
- By default, the Tags menu is disabled.
-5. You can configure the taglist plugin to display the name of the current tag
- in the Vim window status line or in the Vim window title bar. For this to
- work without the taglist window or menu, you need to configure the taglist
- plugin to process the tags defined in a file always.
-6. You can save the tags defined in multiple files to a taglist session file
- and load it when needed. You can also configure the taglist plugin to not
- update the taglist window when editing new files. You can then manually add
- files to the taglist window.
-
-Opening the taglist window~
-You can open the taglist window using the ":TlistOpen" or the ":TlistToggle"
-commands. The ":TlistOpen" command opens the taglist window and jumps to it.
-The ":TlistToggle" command opens or closes (toggle) the taglist window and the
-cursor remains in the current window. If the 'Tlist_GainFocus_On_ToggleOpen'
-variable is set to 1, then the ":TlistToggle" command opens the taglist window
-and moves the cursor to the taglist window.
-
-You can map a key to invoke these commands. For example, the following command
-creates a normal mode mapping for the <F8> key to toggle the taglist window.
->
- nnoremap <silent> <F8> :TlistToggle<CR>
-<
-Add the above mapping to your ~/.vimrc or $HOME/_vimrc file.
-
-To automatically open the taglist window on Vim startup, set the
-'Tlist_Auto_Open' variable to 1.
-
-You can also open the taglist window on startup using the following command
-line:
->
- $ vim +TlistOpen
-<
-Closing the taglist window~
-You can close the taglist window from the taglist window by pressing 'q' or
-using the Vim ":q" command. You can also use any of the Vim window commands to
-close the taglist window. Invoking the ":TlistToggle" command when the taglist
-window is opened, closes the taglist window. You can also use the
-":TlistClose" command to close the taglist window.
-
-To automatically close the taglist window when a tag or file is selected, you
-can set the 'Tlist_Close_On_Select' variable to 1. To exit Vim when only the
-taglist window is present, set the 'Tlist_Exit_OnlyWindow' variable to 1.
-
-Jumping to a tag or a file~
-You can select a tag in the taglist window either by pressing the <Enter> key
-or by double clicking the tag name using the mouse. To jump to a tag on a
-single mouse click set the 'Tlist_Use_SingleClick' variable to 1.
-
-If the selected file is already opened in a window, then the cursor is moved
-to that window. If the file is not currently opened in a window then the file
-is opened in the window used by the taglist plugin to show the previously
-selected file. If there are no usable windows, then the file is opened in a
-new window. The file is not opened in special windows like the quickfix
-window, preview window and windows containing buffer with the 'buftype' option
-set.
-
-To jump to the tag in a new window, press the 'o' key. To open the file in the
-previous window (Ctrl-W_p) use the 'P' key. You can press the 'p' key to jump
-to the tag but still keep the cursor in the taglist window (preview).
-
-To open the selected file in a tab, use the 't' key. If the file is already
-present in a tab then the cursor is moved to that tab otherwise the file is
-opened in a new tab. To jump to a tag in a new tab press Ctrl-t. The taglist
-window is automatically opened in the newly created tab.
-
-Instead of jumping to a tag, you can open a file by pressing the <Enter> key
-or by double clicking the file name using the mouse.
-
-In the taglist window, you can use the [[ or <Backspace> key to jump to the
-beginning of the previous file. You can use the ]] or <Tab> key to jump to the
-beginning of the next file. When you reach the first or last file, the search
-wraps around and the jumps to the next/previous file.
-
-Highlighting the current tag~
-The taglist plugin automatically highlights the name of the current tag in the
-taglist window. The Vim |CursorHold| autocmd event is used for this. If the
-current tag name is not visible in the taglist window, then the taglist window
-contents are scrolled to make that tag name visible. You can also use the
-":TlistHighlightTag" command to force the highlighting of the current tag.
-
-The tag name is highlighted if no activity is performed for |'updatetime'|
-milliseconds. The default value for this Vim option is 4 seconds. To avoid
-unexpected problems, you should not set the |'updatetime'| option to a very
-low value.
-
-To disable the automatic highlighting of the current tag name in the taglist
-window, set the 'Tlist_Auto_Highlight_Tag' variable to zero.
-
-When entering a Vim buffer/window, the taglist plugin automatically highlights
-the current tag in that buffer/window. If you like to disable the automatic
-highlighting of the current tag when entering a buffer, set the
-'Tlist_Highlight_Tag_On_BufEnter' variable to zero.
-
-Adding files to the taglist~
-When the taglist window is opened, all the files in the Vim buffer list are
-processed and the supported files are added to the taglist. When you edit a
-file in Vim, the taglist plugin automatically processes this file and adds it
-to the taglist. If you close the taglist window, the tag information in the
-taglist is retained.
-
-To process files even when the taglist window is not open, set the
-'Tlist_Process_File_Always' variable to 1.
-
-You can manually add multiple files to the taglist without opening them using
-the ":TlistAddFiles" and the ":TlistAddFilesRecursive" commands.
-
-For example, to add all the C files in the /my/project/dir directory to the
-taglist, you can use the following command:
->
- :TlistAddFiles /my/project/dir/*.c
-<
-Note that when adding several files with a large number of tags or a large
-number of files, it will take several seconds to several minutes for the
-taglist plugin to process all the files. You should not interrupt the taglist
-plugin by pressing <CTRL-C>.
-
-You can recursively add multiple files from a directory tree using the
-":TlistAddFilesRecursive" command:
->
- :TlistAddFilesRecursive /my/project/dir *.c
-<
-This command takes two arguments. The first argument specifies the directory
-from which to recursively add the files. The second optional argument
-specifies the wildcard matching pattern for selecting the files to add. The
-default pattern is * and all the files are added.
-
-Displaying tags for only one file~
-The taglist window displays the tags for all the files in the Vim buffer list
-and all the manually added files. To display the tags for only the current
-active buffer, set the 'Tlist_Show_One_File' variable to 1.
-
-Removing files from the taglist~
-You can remove a file from the taglist window, by pressing the 'd' key when the
-cursor is on one of the tags listed for the file in the taglist window. The
-removed file will no longer be displayed in the taglist window in the current
-Vim session. To again display the tags for the file, open the file in a Vim
-window and then use the ":TlistUpdate" command or use ":TlistAddFiles" command
-to add the file to the taglist.
-
-When a buffer is removed from the Vim buffer list using the ":bdelete" or the
-":bwipeout" command, the taglist is updated to remove the stored information
-for this buffer.
-
-Updating the tags displayed for a file~
-The taglist plugin keeps track of the modification time of a file. When the
-modification time changes (the file is modified), the taglist plugin
-automatically updates the tags listed for that file. The modification time of
-a file is checked when you enter a window containing that file or when you
-load that file.
-
-You can also update or refresh the tags displayed for a file by pressing the
-"u" key in the taglist window. If an existing file is modified, after the file
-is saved, the taglist plugin automatically updates the tags displayed for the
-file.
-
-You can also use the ":TlistUpdate" command to update the tags for the current
-buffer after you made some changes to it. You should save the modified buffer
-before you update the taglist window. Otherwise the listed tags will not
-include the new tags created in the buffer.
-
-If you have deleted the tags displayed for a file in the taglist window using
-the 'd' key, you can again display the tags for that file using the
-":TlistUpdate" command.
-
-Controlling the taglist updates~
-To disable the automatic processing of new files or modified files, you can
-set the 'Tlist_Auto_Update' variable to zero. When this variable is set to
-zero, the taglist is updated only when you use the ":TlistUpdate" command or
-the ":TlistAddFiles" or the ":TlistAddFilesRecursive" commands. You can use
-this option to control which files are added to the taglist.
-
-You can use the ":TlistLock" command to lock the taglist contents. After this
-command is executed, new files are not automatically added to the taglist.
-When the taglist is locked, you can use the ":TlistUpdate" command to add the
-current file or the ":TlistAddFiles" or ":TlistAddFilesRecursive" commands to
-add new files to the taglist. To unlock the taglist, use the ":TlistUnlock"
-command.
-
-Displaying the tag prototype~
-To display the prototype of the tag under the cursor in the taglist window,
-press the space bar. If you place the cursor on a tag name in the taglist
-window, then the tag prototype is displayed at the Vim status line after
-|'updatetime'| milliseconds. The default value for the |'updatetime'| Vim
-option is 4 seconds.
-
-You can get the name and prototype of a tag without opening the taglist window
-and the taglist menu using the ":TlistShowTag" and the ":TlistShowPrototype"
-commands. These commands will work only if the current file is already present
-in the taglist. To use these commands without opening the taglist window, set
-the 'Tlist_Process_File_Always' variable to 1.
-
-You can use the ":TlistShowTag" command to display the name of the tag at or
-before the specified line number in the specified file. If the file name and
-line number are not supplied, then this command will display the name of the
-current tag. For example,
->
- :TlistShowTag
- :TlistShowTag myfile.java 100
-<
-You can use the ":TlistShowPrototype" command to display the prototype of the
-tag at or before the specified line number in the specified file. If the file
-name and the line number are not supplied, then this command will display the
-prototype of the current tag. For example,
->
- :TlistShowPrototype
- :TlistShowPrototype myfile.c 50
-<
-In the taglist window, when the mouse is moved over a tag name, the tag
-prototype is displayed in a balloon. This works only in GUI versions where
-balloon evaluation is supported.
-
-Taglist window contents~
-The taglist window contains the tags defined in various files in the taglist
-grouped by the filename and by the tag type (variable, function, class, etc.).
-For tags with scope information (like class members, structures inside
-structures, etc.), the scope information is displayed in square brackets "[]"
-after the tag name.
-
-The contents of the taglist buffer/window are managed by the taglist plugin.
-The |'filetype'| for the taglist buffer is set to 'taglist'. The Vim
-|'modifiable'| option is turned off for the taglist buffer. You should not
-manually edit the taglist buffer, by setting the |'modifiable'| flag. If you
-manually edit the taglist buffer contents, then the taglist plugin will be out
-of sync with the taglist buffer contents and the plugin will no longer work
-correctly. To redisplay the taglist buffer contents again, close the taglist
-window and reopen it.
-
-Opening and closing the tag and file tree~
-In the taglist window, the tag names are displayed as a foldable tree using
-the Vim folding support. You can collapse the tree using the '-' key or using
-the Vim |zc| fold command. You can open the tree using the '+' key or using
-the Vim |zo| fold command. You can open all the folds using the '*' key or
-using the Vim |zR| fold command. You can also use the mouse to open/close the
-folds. You can close all the folds using the '=' key. You should not manually
-create or delete the folds in the taglist window.
-
-To automatically close the fold for the inactive files/buffers and open only
-the fold for the current buffer in the taglist window, set the
-'Tlist_File_Fold_Auto_Close' variable to 1.
-
-Sorting the tags for a file~
-The tags displayed in the taglist window can be sorted either by their name or
-by their chronological order. The default sorting method is by the order in
-which the tags appear in a file. You can change the default sort method by
-setting the 'Tlist_Sort_Type' variable to either "name" or "order". You can
-sort the tags by their name by pressing the "s" key in the taglist window. You
-can again sort the tags by their chronological order using the "s" key. Each
-file in the taglist window can be sorted using different order.
-
-Zooming in and out of the taglist window~
-You can press the 'x' key in the taglist window to maximize the taglist
-window width/height. The window will be maximized to the maximum possible
-width/height without closing the other existing windows. You can again press
-'x' to restore the taglist window to the default width/height.
-
- *taglist-session*
-Taglist Session~
-A taglist session refers to the group of files and their tags stored in the
-taglist in a Vim session.
-
-You can save and restore a taglist session (and all the displayed tags) using
-the ":TlistSessionSave" and ":TlistSessionLoad" commands.
-
-To save the information about the tags and files in the taglist to a file, use
-the ":TlistSessionSave" command and specify the filename:
->
- :TlistSessionSave <file name>
-<
-To load a saved taglist session, use the ":TlistSessionLoad" command: >
-
- :TlistSessionLoad <file name>
-<
-When you load a taglist session file, the tags stored in the file will be
-added to the tags already stored in the taglist.
-
-The taglist session feature can be used to save the tags for large files or a
-group of frequently used files (like a project). By using the taglist session
-file, you can minimize the amount to time it takes to load/refresh the taglist
-for multiple files.
-
-You can create more than one taglist session file for multiple groups of
-files.
-
-Displaying the tag name in the Vim status line or the window title bar~
-You can use the Tlist_Get_Tagname_By_Line() function provided by the taglist
-plugin to display the current tag name in the Vim status line or the window
-title bar. Similarly, you can use the Tlist_Get_Tag_Prototype_By_Line()
-function to display the current tag prototype in the Vim status line or the
-window title bar.
-
-For example, the following command can be used to display the current tag name
-in the status line:
->
- :set statusline=%<%f%=%([%{Tlist_Get_Tagname_By_Line()}]%)
-<
-The following command can be used to display the current tag name in the
-window title bar:
->
- :set title titlestring=%<%f\ %([%{Tlist_Get_Tagname_By_Line()}]%)
-<
-Note that the current tag name can be displayed only after the file is
-processed by the taglist plugin. For this, you have to either set the
-'Tlist_Process_File_Always' variable to 1 or open the taglist window or use
-the taglist menu. For more information about configuring the Vim status line,
-refer to the documentation for the Vim |'statusline'| option.
-
-Changing the taglist window highlighting~
-The following Vim highlight groups are defined and used to highlight the
-various entities in the taglist window:
-
- TagListTagName - Used for tag names
- TagListTagScope - Used for tag scope
- TagListTitle - Used for tag titles
- TagListComment - Used for comments
- TagListFileName - Used for filenames
-
-By default, these highlight groups are linked to the standard Vim highlight
-groups. If you want to change the colors used for these highlight groups,
-prefix the highlight group name with 'My' and define it in your .vimrc or
-.gvimrc file: MyTagListTagName, MyTagListTagScope, MyTagListTitle,
-MyTagListComment and MyTagListFileName. For example, to change the colors
-used for tag names, you can use the following command:
->
- :highlight MyTagListTagName guifg=blue ctermfg=blue
-<
-Controlling the taglist window~
-To use a horizontally split taglist window, instead of a vertically split
-window, set the 'Tlist_Use_Horiz_Window' variable to 1.
-
-To use a vertically split taglist window on the rightmost side of the Vim
-window, set the 'Tlist_Use_Right_Window' variable to 1.
-
-You can specify the width of the vertically split taglist window, by setting
-the 'Tlist_WinWidth' variable. You can specify the height of the horizontally
-split taglist window, by setting the 'Tlist_WinHeight' variable.
-
-When opening a vertically split taglist window, the Vim window width is
-increased to accommodate the new taglist window. When the taglist window is
-closed, the Vim window is reduced. To disable this, set the
-'Tlist_Inc_Winwidth' variable to zero.
-
-To reduce the number of empty lines in the taglist window, set the
-'Tlist_Compact_Format' variable to 1.
-
-To not display the Vim fold column in the taglist window, set the
-'Tlist_Enable_Fold_Column' variable to zero.
-
-To display the tag prototypes instead of the tag names in the taglist window,
-set the 'Tlist_Display_Prototype' variable to 1.
-
-To not display the scope of the tags next to the tag names, set the
-'Tlist_Display_Tag_Scope' variable to zero.
-
- *taglist-keys*
-Taglist window key list~
-The following table lists the description of the keys that can be used
-in the taglist window.
-
- Key Description~
-
- <CR> Jump to the location where the tag under cursor is
- defined.
- o Jump to the location where the tag under cursor is
- defined in a new window.
- P Jump to the tag in the previous (Ctrl-W_p) window.
- p Display the tag definition in the file window and
- keep the cursor in the taglist window itself.
- t Jump to the tag in a new tab. If the file is already
- opened in a tab, move to that tab.
- Ctrl-t Jump to the tag in a new tab.
- <Space> Display the prototype of the tag under the cursor.
- For file names, display the full path to the file,
- file type and the number of tags. For tag types, display the
- tag type and the number of tags.
- u Update the tags listed in the taglist window
- s Change the sort order of the tags (by name or by order)
- d Remove the tags for the file under the cursor
- x Zoom-in or Zoom-out the taglist window
- + Open a fold
- - Close a fold
- * Open all folds
- = Close all folds
- [[ Jump to the beginning of the previous file
- <Backspace> Jump to the beginning of the previous file
- ]] Jump to the beginning of the next file
- <Tab> Jump to the beginning of the next file
- q Close the taglist window
- <F1> Display help
-
-The above keys will work in both the normal mode and the insert mode.
-
- *taglist-menu*
-Taglist menu~
-When using GUI Vim, the taglist plugin can display the tags defined in the
-current file in the drop-down menu and the popup menu. By default, this
-feature is turned off. To turn on this feature, set the 'Tlist_Show_Menu'
-variable to 1.
-
-You can jump to a tag by selecting the tag name from the menu. You can use the
-taglist menu independent of the taglist window i.e. you don't need to open the
-taglist window to get the taglist menu.
-
-When you switch between files/buffers, the taglist menu is automatically
-updated to display the tags defined in the current file/buffer.
-
-The tags are grouped by their type (variables, functions, classes, methods,
-etc.) and displayed as a separate sub-menu for each type. If all the tags
-defined in a file are of the same type (e.g. functions), then the sub-menu is
-not used.
-
-If the number of items in a tag type submenu exceeds the value specified by
-the 'Tlist_Max_Submenu_Items' variable, then the submenu will be split into
-multiple submenus. The default setting for 'Tlist_Max_Submenu_Items' is 25.
-The first and last tag names in the submenu are used to form the submenu name.
-The menu items are prefixed by alpha-numeric characters for easy selection by
-keyboard.
-
-If the popup menu support is enabled (the |'mousemodel'| option contains
-"popup"), then the tags menu is added to the popup menu. You can access
-the popup menu by right clicking on the GUI window.
-
-You can regenerate the tags menu by selecting the 'Tags->Refresh menu' entry.
-You can sort the tags listed in the menu either by name or by order by
-selecting the 'Tags->Sort menu by->Name/Order' menu entry.
-
-You can tear-off the Tags menu and keep it on the side of the Vim window
-for quickly locating the tags.
-
-Using the taglist plugin with the winmanager plugin~
-You can use the taglist plugin with the winmanager plugin. This will allow you
-to use the file explorer, buffer explorer and the taglist plugin at the same
-time in different windows. To use the taglist plugin with the winmanager
-plugin, set 'TagList' in the 'winManagerWindowLayout' variable. For example,
-to use the file explorer plugin and the taglist plugin at the same time, use
-the following setting: >
-
- let winManagerWindowLayout = 'FileExplorer|TagList'
-<
-Getting help~
-If you have installed the taglist help file (this file), then you can use the
-Vim ":help taglist-<keyword>" command to get help on the various taglist
-topics.
-
-You can press the <F1> key in the taglist window to display the help
-information about using the taglist window. If you again press the <F1> key,
-the help information is removed from the taglist window.
-
- *taglist-debug*
-Debugging the taglist plugin~
-You can use the ":TlistDebug" command to enable logging of the debug messages
-from the taglist plugin. To display the logged debug messages, you can use the
-":TlistMessages" command. To disable the logging of the debug messages, use
-the ":TlistUndebug" command.
-
-You can specify a file name to the ":TlistDebug" command to log the debug
-messages to a file. Otherwise, the debug messages are stored in a script-local
-variable. In the later case, to minimize memory usage, only the last 3000
-characters from the debug messages are stored.
-
-==============================================================================
- *taglist-options*
-6. Options~
-
-A number of Vim variables control the behavior of the taglist plugin. These
-variables are initialized to a default value. By changing these variables you
-can change the behavior of the taglist plugin. You need to change these
-settings only if you want to change the behavior of the taglist plugin. You
-should use the |:let| command in your .vimrc file to change the setting of any
-of these variables.
-
-The configurable taglist variables are listed below. For a detailed
-description of these variables refer to the text below this table.
-
-|'Tlist_Auto_Highlight_Tag'| Automatically highlight the current tag in the
- taglist.
-|'Tlist_Auto_Open'| Open the taglist window when Vim starts.
-|'Tlist_Auto_Update'| Automatically update the taglist to include
- newly edited files.
-|'Tlist_Close_On_Select'| Close the taglist window when a file or tag is
- selected.
-|'Tlist_Compact_Format'| Remove extra information and blank lines from
- the taglist window.
-|'Tlist_Ctags_Cmd'| Specifies the path to the ctags utility.
-|'Tlist_Display_Prototype'| Show prototypes and not tags in the taglist
- window.
-|'Tlist_Display_Tag_Scope'| Show tag scope next to the tag name.
-|'Tlist_Enable_Fold_Column'| Show the fold indicator column in the taglist
- window.
-|'Tlist_Exit_OnlyWindow'| Close Vim if the taglist is the only window.
-|'Tlist_File_Fold_Auto_Close'| Close tag folds for inactive buffers.
-|'Tlist_GainFocus_On_ToggleOpen'|
- Jump to taglist window on open.
-|'Tlist_Highlight_Tag_On_BufEnter'|
- On entering a buffer, automatically highlight
- the current tag.
-|'Tlist_Inc_Winwidth'| Increase the Vim window width to accommodate
- the taglist window.
-|'Tlist_Max_Submenu_Items'| Maximum number of items in a tags sub-menu.
-|'Tlist_Max_Tag_Length'| Maximum tag length used in a tag menu entry.
-|'Tlist_Process_File_Always'| Process files even when the taglist window is
- closed.
-|'Tlist_Show_Menu'| Display the tags menu.
-|'Tlist_Show_One_File'| Show tags for the current buffer only.
-|'Tlist_Sort_Type'| Sort method used for arranging the tags.
-|'Tlist_Use_Horiz_Window'| Use a horizontally split window for the
- taglist window.
-|'Tlist_Use_Right_Window'| Place the taglist window on the right side.
-|'Tlist_Use_SingleClick'| Single click on a tag jumps to it.
-|'Tlist_WinHeight'| Horizontally split taglist window height.
-|'Tlist_WinWidth'| Vertically split taglist window width.
-
- *'Tlist_Auto_Highlight_Tag'*
-Tlist_Auto_Highlight_Tag~
-The taglist plugin will automatically highlight the current tag in the taglist
-window. If you want to disable this, then you can set the
-'Tlist_Auto_Highlight_Tag' variable to zero. Note that even though the current
-tag highlighting is disabled, the tags for a new file will still be added to
-the taglist window.
->
- let Tlist_Auto_Highlight_Tag = 0
-<
-With the above variable set to 1, you can use the ":TlistHighlightTag" command
-to highlight the current tag.
-
- *'Tlist_Auto_Open'*
-Tlist_Auto_Open~
-To automatically open the taglist window, when you start Vim, you can set the
-'Tlist_Auto_Open' variable to 1. By default, this variable is set to zero and
-the taglist window will not be opened automatically on Vim startup.
->
- let Tlist_Auto_Open = 1
-<
-The taglist window is opened only when a supported type of file is opened on
-Vim startup. For example, if you open text files, then the taglist window will
-not be opened.
-
- *'Tlist_Auto_Update'*
-Tlist_Auto_Update~
-When a new file is edited, the tags defined in the file are automatically
-processed and added to the taglist. To stop adding new files to the taglist,
-set the 'Tlist_Auto_Update' variable to zero. By default, this variable is set
-to 1.
->
- let Tlist_Auto_Update = 0
-<
-With the above variable set to 1, you can use the ":TlistUpdate" command to
-add the tags defined in the current file to the taglist.
-
- *'Tlist_Close_On_Select'*
-Tlist_Close_On_Select~
-If you want to close the taglist window when a file or tag is selected, then
-set the 'Tlist_Close_On_Select' variable to 1. By default, this variable is
-set zero and when you select a tag or file from the taglist window, the window
-is not closed.
->
- let Tlist_Close_On_Select = 1
-<
- *'Tlist_Compact_Format'*
-Tlist_Compact_Format~
-By default, empty lines are used to separate different tag types displayed for
-a file and the tags displayed for different files in the taglist window. If
-you want to display as many tags as possible in the taglist window, you can
-set the 'Tlist_Compact_Format' variable to 1 to get a compact display.
->
- let Tlist_Compact_Format = 1
-<
- *'Tlist_Ctags_Cmd'*
-Tlist_Ctags_Cmd~
-The 'Tlist_Ctags_Cmd' variable specifies the location (path) of the exuberant
-ctags utility. If exuberant ctags is present in any one of the directories in
-the PATH environment variable, then there is no need to set this variable.
-
-The exuberant ctags tool can be installed under different names. When the
-taglist plugin starts up, if the 'Tlist_Ctags_Cmd' variable is not set, it
-checks for the names exuberant-ctags, exctags, ctags, ctags.exe and tags in
-the PATH environment variable. If any one of the named executable is found,
-then the Tlist_Ctags_Cmd variable is set to that name.
-
-If exuberant ctags is not present in one of the directories specified in the
-PATH environment variable, then set this variable to point to the location of
-the ctags utility in your system. Note that this variable should point to the
-fully qualified exuberant ctags location and NOT to the directory in which
-exuberant ctags is installed. If the exuberant ctags tool is not found in
-either PATH or in the specified location, then the taglist plugin will not be
-loaded. Examples:
->
- let Tlist_Ctags_Cmd = 'd:\tools\ctags.exe'
- let Tlist_Ctags_Cmd = '/usr/local/bin/ctags'
-<
- *'Tlist_Display_Prototype'*
-Tlist_Display_Prototype~
-By default, only the tag name will be displayed in the taglist window. If you
-like to see tag prototypes instead of names, set the 'Tlist_Display_Prototype'
-variable to 1. By default, this variable is set to zero and only tag names
-will be displayed.
->
- let Tlist_Display_Prototype = 1
-<
- *'Tlist_Display_Tag_Scope'*
-Tlist_Display_Tag_Scope~
-By default, the scope of a tag (like a C++ class) will be displayed in
-square brackets next to the tag name. If you don't want the tag scopes
-to be displayed, then set the 'Tlist_Display_Tag_Scope' to zero. By default,
-this variable is set to 1 and the tag scopes will be displayed.
->
- let Tlist_Display_Tag_Scope = 0
-<
- *'Tlist_Enable_Fold_Column'*
-Tlist_Enable_Fold_Column~
-By default, the Vim fold column is enabled and displayed in the taglist
-window. If you wish to disable this (for example, when you are working with a
-narrow Vim window or terminal), you can set the 'Tlist_Enable_Fold_Column'
-variable to zero.
->
- let Tlist_Enable_Fold_Column = 1
-<
- *'Tlist_Exit_OnlyWindow'*
-Tlist_Exit_OnlyWindow~
-If you want to exit Vim if only the taglist window is currently opened, then
-set the 'Tlist_Exit_OnlyWindow' variable to 1. By default, this variable is
-set to zero and the Vim instance will not be closed if only the taglist window
-is present.
->
- let Tlist_Exit_OnlyWindow = 1
-<
- *'Tlist_File_Fold_Auto_Close'*
-Tlist_File_Fold_Auto_Close~
-By default, the tags tree displayed in the taglist window for all the files is
-opened. You can close/fold the tags tree for the files manually. To
-automatically close the tags tree for inactive files, you can set the
-'Tlist_File_Fold_Auto_Close' variable to 1. When this variable is set to 1,
-the tags tree for the current buffer is automatically opened and for all the
-other buffers is closed.
->
- let Tlist_File_Fold_Auto_Close = 1
-<
- *'Tlist_GainFocus_On_ToggleOpen'*
-Tlist_GainFocus_On_ToggleOpen~
-When the taglist window is opened using the ':TlistToggle' command, this
-option controls whether the cursor is moved to the taglist window or remains
-in the current window. By default, this option is set to 0 and the cursor
-remains in the current window. When this variable is set to 1, the cursor
-moves to the taglist window after opening the taglist window.
->
- let Tlist_GainFocus_On_ToggleOpen = 1
-<
- *'Tlist_Highlight_Tag_On_BufEnter'*
-Tlist_Highlight_Tag_On_BufEnter~
-When you enter a Vim buffer/window, the current tag in that buffer/window is
-automatically highlighted in the taglist window. If the current tag name is
-not visible in the taglist window, then the taglist window contents are
-scrolled to make that tag name visible. If you like to disable the automatic
-highlighting of the current tag when entering a buffer, you can set the
-'Tlist_Highlight_Tag_On_BufEnter' variable to zero. The default setting for
-this variable is 1.
->
- let Tlist_Highlight_Tag_On_BufEnter = 0
-<
- *'Tlist_Inc_Winwidth'*
-Tlist_Inc_Winwidth~
-By default, when the width of the window is less than 100 and a new taglist
-window is opened vertically, then the window width is increased by the value
-set in the 'Tlist_WinWidth' variable to accommodate the new window. The value
-of this variable is used only if you are using a vertically split taglist
-window.
-
-If your terminal doesn't support changing the window width from Vim (older
-version of xterm running in a Unix system) or if you see any weird problems in
-the screen due to the change in the window width or if you prefer not to
-adjust the window width then set the 'Tlist_Inc_Winwidth' variable to zero.
-CAUTION: If you are using the MS-Windows version of Vim in a MS-DOS command
-window then you must set this variable to zero, otherwise the system may hang
-due to a Vim limitation (explained in :help win32-problems)
->
- let Tlist_Inc_Winwidth = 0
-<
- *'Tlist_Max_Submenu_Items'*
-Tlist_Max_Submenu_Items~
-If a file contains too many tags of a particular type (function, variable,
-class, etc.), greater than that specified by the 'Tlist_Max_Submenu_Items'
-variable, then the menu for that tag type will be split into multiple
-sub-menus. The default setting for the 'Tlist_Max_Submenu_Items' variable is
-25. This can be changed by setting the 'Tlist_Max_Submenu_Items' variable:
->
- let Tlist_Max_Submenu_Items = 20
-<
-The name of the submenu is formed using the names of the first and the last
-tag entries in that submenu.
-
- *'Tlist_Max_Tag_Length'*
-Tlist_Max_Tag_Length~
-Only the first 'Tlist_Max_Tag_Length' characters from the tag names will be
-used to form the tag type submenu name. The default value for this variable is
-10. Change the 'Tlist_Max_Tag_Length' setting if you want to include more or
-less characters:
->
- let Tlist_Max_Tag_Length = 10
-<
- *'Tlist_Process_File_Always'*
-Tlist_Process_File_Always~
-By default, the taglist plugin will generate and process the tags defined in
-the newly opened files only when the taglist window is opened or when the
-taglist menu is enabled. When the taglist window is closed, the taglist plugin
-will stop processing the tags for newly opened files.
-
-You can set the 'Tlist_Process_File_Always' variable to 1 to generate the list
-of tags for new files even when the taglist window is closed and the taglist
-menu is disabled.
->
- let Tlist_Process_File_Always = 1
-<
-To use the ":TlistShowTag" and the ":TlistShowPrototype" commands without the
-taglist window and the taglist menu, you should set this variable to 1.
-
- *'Tlist_Show_Menu'*
-Tlist_Show_Menu~
-When using GUI Vim, you can display the tags defined in the current file in a
-menu named "Tags". By default, this feature is turned off. To turn on this
-feature, set the 'Tlist_Show_Menu' variable to 1:
->
- let Tlist_Show_Menu = 1
-<
- *'Tlist_Show_One_File'*
-Tlist_Show_One_File~
-By default, the taglist plugin will display the tags defined in all the loaded
-buffers in the taglist window. If you prefer to display the tags defined only
-in the current buffer, then you can set the 'Tlist_Show_One_File' to 1. When
-this variable is set to 1, as you switch between buffers, the taglist window
-will be refreshed to display the tags for the current buffer and the tags for
-the previous buffer will be removed.
->
- let Tlist_Show_One_File = 1
-<
- *'Tlist_Sort_Type'*
-Tlist_Sort_Type~
-The 'Tlist_Sort_Type' variable specifies the sort order for the tags in the
-taglist window. The tags can be sorted either alphabetically by their name or
-by the order of their appearance in the file (chronological order). By
-default, the tag names will be listed by the order in which they are defined
-in the file. You can change the sort type (from name to order or from order to
-name) by pressing the "s" key in the taglist window. You can also change the
-default sort order by setting 'Tlist_Sort_Type' to "name" or "order":
->
- let Tlist_Sort_Type = "name"
-<
- *'Tlist_Use_Horiz_Window'*
-Tlist_Use_Horiz_Window~
-Be default, the tag names are displayed in a vertically split window. If you
-prefer a horizontally split window, then set the 'Tlist_Use_Horiz_Window'
-variable to 1. If you are running MS-Windows version of Vim in a MS-DOS
-command window, then you should use a horizontally split window instead of a
-vertically split window. Also, if you are using an older version of xterm in a
-Unix system that doesn't support changing the xterm window width, you should
-use a horizontally split window.
->
- let Tlist_Use_Horiz_Window = 1
-<
- *'Tlist_Use_Right_Window'*
-Tlist_Use_Right_Window~
-By default, the vertically split taglist window will appear on the left hand
-side. If you prefer to open the window on the right hand side, you can set the
-'Tlist_Use_Right_Window' variable to 1:
->
- let Tlist_Use_Right_Window = 1
-<
- *'Tlist_Use_SingleClick'*
-Tlist_Use_SingleClick~
-By default, when you double click on the tag name using the left mouse
-button, the cursor will be positioned at the definition of the tag. You
-can set the 'Tlist_Use_SingleClick' variable to 1 to jump to a tag when
-you single click on the tag name using the mouse. By default this variable
-is set to zero.
->
- let Tlist_Use_SingleClick = 1
-<
-Due to a bug in Vim, if you set 'Tlist_Use_SingleClick' to 1 and try to resize
-the taglist window using the mouse, then Vim will crash. This problem is fixed
-in Vim 6.3 and above. In the meantime, instead of resizing the taglist window
-using the mouse, you can use normal Vim window resizing commands to resize the
-taglist window.
-
- *'Tlist_WinHeight'*
-Tlist_WinHeight~
-The default height of the horizontally split taglist window is 10. This can be
-changed by modifying the 'Tlist_WinHeight' variable:
->
- let Tlist_WinHeight = 20
-<
-The |'winfixheight'| option is set for the taglist window, to maintain the
-height of the taglist window, when new Vim windows are opened and existing
-windows are closed.
-
- *'Tlist_WinWidth'*
-Tlist_WinWidth~
-The default width of the vertically split taglist window is 30. This can be
-changed by modifying the 'Tlist_WinWidth' variable:
->
- let Tlist_WinWidth = 20
-<
-Note that the value of the |'winwidth'| option setting determines the minimum
-width of the current window. If you set the 'Tlist_WinWidth' variable to a
-value less than that of the |'winwidth'| option setting, then Vim will use the
-value of the |'winwidth'| option.
-
-When new Vim windows are opened and existing windows are closed, the taglist
-plugin will try to maintain the width of the taglist window to the size
-specified by the 'Tlist_WinWidth' variable.
-
-==============================================================================
- *taglist-commands*
-7. Commands~
-
-The taglist plugin provides the following ex-mode commands:
-
-|:TlistAddFiles| Add multiple files to the taglist.
-|:TlistAddFilesRecursive|
- Add files recursively to the taglist.
-|:TlistClose| Close the taglist window.
-|:TlistDebug| Start logging of taglist debug messages.
-|:TlistLock| Stop adding new files to the taglist.
-|:TlistMessages| Display the logged taglist plugin debug messages.
-|:TlistOpen| Open and jump to the taglist window.
-|:TlistSessionSave| Save the information about files and tags in the
- taglist to a session file.
-|:TlistSessionLoad| Load the information about files and tags stored
- in a session file to taglist.
-|:TlistShowPrototype| Display the prototype of the tag at or before the
- specified line number.
-|:TlistShowTag| Display the name of the tag defined at or before the
- specified line number.
-|:TlistHighlightTag| Highlight the current tag in the taglist window.
-|:TlistToggle| Open or close (toggle) the taglist window.
-|:TlistUndebug| Stop logging of taglist debug messages.
-|:TlistUnlock| Start adding new files to the taglist.
-|:TlistUpdate| Update the tags for the current buffer.
-
- *:TlistAddFiles*
-:TlistAddFiles {file(s)} [file(s) ...]
- Add one or more specified files to the taglist. You can
- specify multiple filenames using wildcards. To specify a
- file name with space character, you should escape the space
- character with a backslash.
- Examples:
->
- :TlistAddFiles *.c *.cpp
- :TlistAddFiles file1.html file2.html
-<
- If you specify a large number of files, then it will take some
- time for the taglist plugin to process all of them. The
- specified files will not be edited in a Vim window and will
- not be added to the Vim buffer list.
-
- *:TlistAddFilesRecursive*
-:TlistAddFilesRecursive {directory} [ {pattern} ]
- Add files matching {pattern} recursively from the specified
- {directory} to the taglist. If {pattern} is not specified,
- then '*' is assumed. To specify the current directory, use "."
- for {directory}. To specify a directory name with space
- character, you should escape the space character with a
- backslash.
- Examples:
->
- :TlistAddFilesRecursive myproject *.java
- :TlistAddFilesRecursive smallproject
-<
- If large number of files are present in the specified
- directory tree, then it will take some time for the taglist
- plugin to process all of them.
-
- *:TlistClose*
-:TlistClose Close the taglist window. This command can be used from any
- one of the Vim windows.
-
- *:TlistDebug*
-:TlistDebug [filename]
- Start logging of debug messages from the taglist plugin.
- If {filename} is specified, then the debug messages are stored
- in the specified file. Otherwise, the debug messages are
- stored in a script local variable. If the file {filename} is
- already present, then it is overwritten.
-
- *:TlistLock*
-:TlistLock
- Lock the taglist and don't process new files. After this
- command is executed, newly edited files will not be added to
- the taglist.
-
- *:TlistMessages*
-:TlistMessages
- Display the logged debug messages from the taglist plugin
- in a window. This command works only when logging to a
- script-local variable.
-
- *:TlistOpen*
-:TlistOpen Open and jump to the taglist window. Creates the taglist
- window, if the window is not opened currently. After executing
- this command, the cursor is moved to the taglist window. When
- the taglist window is opened for the first time, all the files
- in the buffer list are processed and the tags defined in them
- are displayed in the taglist window.
-
- *:TlistSessionSave*
-:TlistSessionSave {filename}
- Saves the information about files and tags in the taglist to
- the specified file. This command can be used to save and
- restore the taglist contents across Vim sessions.
-
- *:TlistSessionLoad*
-:TlistSessionLoad {filename}
- Load the information about files and tags stored in the
- specified session file to the taglist.
-
- *:TlistShowPrototype*
-:TlistShowPrototype [filename] [linenumber]
- Display the prototype of the tag at or before the specified
- line number. If the file name and the line number are not
- specified, then the current file name and line number are
- used. A tag spans multiple lines starting from the line where
- it is defined to the line before the next tag. This command
- displays the prototype for the tag for any line number in this
- range.
-
- *:TlistShowTag*
-:TlistShowTag [filename] [linenumber]
- Display the name of the tag defined at or before the specified
- line number. If the file name and the line number are not
- specified, then the current file name and line number are
- used. A tag spans multiple lines starting from the line where
- it is defined to the line before the next tag. This command
- displays the tag name for any line number in this range.
-
- *:TlistHighlightTag*
-:TlistHighlightTag
- Highlight the current tag in the taglist window. By default,
- the taglist plugin periodically updates the taglist window to
- highlight the current tag. This command can be used to force
- the taglist plugin to highlight the current tag.
-
- *:TlistToggle*
-:TlistToggle Open or close (toggle) the taglist window. Opens the taglist
- window, if the window is not opened currently. Closes the
- taglist window, if the taglist window is already opened. When
- the taglist window is opened for the first time, all the files
- in the buffer list are processed and the tags are displayed in
- the taglist window. After executing this command, the cursor
- is not moved from the current window to the taglist window.
-
- *:TlistUndebug*
-:TlistUndebug
- Stop logging of debug messages from the taglist plugin.
-
- *:TlistUnlock*
-:TlistUnlock
- Unlock the taglist and start processing newly edited files.
-
- *:TlistUpdate*
-:TlistUpdate Update the tags information for the current buffer. This
- command can be used to re-process the current file/buffer and
- get the tags information. As the taglist plugin uses the file
- saved in the disk (instead of the file displayed in a Vim
- buffer), you should save a modified buffer before you update
- the taglist. Otherwise the listed tags will not include the
- new tags created in the buffer. You can use this command even
- when the taglist window is not opened.
-
-==============================================================================
- *taglist-functions*
-8. Global functions~
-
-The taglist plugin provides several global functions that can be used from
-other Vim plugins to interact with the taglist plugin. These functions are
-described below.
-
-|Tlist_Update_File_Tags()| Update the tags for the specified file
-|Tlist_Get_Tag_Prototype_By_Line()| Return the prototype of the tag at or
- before the specified line number in the
- specified file.
-|Tlist_Get_Tagname_By_Line()| Return the name of the tag at or
- before the specified line number in
- the specified file.
-|Tlist_Set_App()| Set the name of the application
- controlling the taglist window.
-
- *Tlist_Update_File_Tags()*
-Tlist_Update_File_Tags({filename}, {filetype})
- Update the tags for the file {filename}. The second argument
- specifies the Vim filetype for the file. If the taglist plugin
- has not processed the file previously, then the exuberant
- ctags tool is invoked to generate the tags for the file.
-
- *Tlist_Get_Tag_Prototype_By_Line()*
-Tlist_Get_Tag_Prototype_By_Line([{filename}, {linenumber}])
- Return the prototype of the tag at or before the specified
- line number in the specified file. If the filename and line
- number are not specified, then the current buffer name and the
- current line number are used.
-
- *Tlist_Get_Tagname_By_Line()*
-Tlist_Get_Tagname_By_Line([{filename}, {linenumber}])
- Return the name of the tag at or before the specified line
- number in the specified file. If the filename and line number
- are not specified, then the current buffer name and the
- current line number are used.
-
- *Tlist_Set_App()*
-Tlist_Set_App({appname})
- Set the name of the plugin that controls the taglist plugin
- window and buffer. This can be used to integrate the taglist
- plugin with other Vim plugins.
-
- For example, the winmanager plugin and the Cream package use
- this function and specify the appname as "winmanager" and
- "cream" respectively.
-
- By default, the taglist plugin is a stand-alone plugin and
- controls the taglist window and buffer. If the taglist window
- is controlled by an external plugin, then the appname should
- be set appropriately.
-
-==============================================================================
- *taglist-extend*
-9. Extending~
-
-The taglist plugin supports all the languages supported by the exuberant ctags
-tool, which includes the following languages: Assembly, ASP, Awk, Beta, C,
-C++, C#, Cobol, Eiffel, Erlang, Fortran, HTML, Java, Javascript, Lisp, Lua,
-Make, Pascal, Perl, PHP, Python, Rexx, Ruby, Scheme, Shell, Slang, SML, Sql,
-TCL, Verilog, Vim and Yacc.
-
-You can extend the taglist plugin to add support for new languages and also
-modify the support for the above listed languages.
-
-You should NOT make modifications to the taglist plugin script file to add
-support for new languages. You will lose these changes when you upgrade to the
-next version of the taglist plugin. Instead you should follow the below
-described instructions to extend the taglist plugin.
-
-You can extend the taglist plugin by setting variables in the .vimrc or _vimrc
-file. The name of these variables depends on the language name and is
-described below.
-
-Modifying support for an existing language~
-To modify the support for an already supported language, you have to set the
-tlist_xxx_settings variable in the ~/.vimrc or $HOME/_vimrc file. Replace xxx
-with the Vim filetype name for the language file. For example, to modify the
-support for the perl language files, you have to set the tlist_perl_settings
-variable. To modify the support for java files, you have to set the
-tlist_java_settings variable.
-
-To determine the filetype name used by Vim for a file, use the following
-command in the buffer containing the file:
-
- :set filetype
-
-The above command will display the Vim filetype for the current buffer.
-
-The format of the value set in the tlist_xxx_settings variable is
-
- <language_name>;flag1:name1;flag2:name2;flag3:name3
-
-The different fields in the value are separated by the ';' character.
-
-The first field 'language_name' is the name used by exuberant ctags to refer
-to this language file. This name can be different from the file type name used
-by Vim. For example, for C++, the language name used by ctags is 'c++' but the
-filetype name used by Vim is 'cpp'. To get the list of language names
-supported by exuberant ctags, use the following command:
-
- $ ctags --list-maps=all
-
-The remaining fields follow the format "flag:name". The sub-field 'flag' is
-the language specific flag used by exuberant ctags to generate the
-corresponding tags. For example, for the C language, to list only the
-functions, the 'f' flag is used. To get the list of flags supported by
-exuberant ctags for the various languages use the following command:
-
- $ ctags --list-kinds=all
-
-The sub-field 'name' specifies the title text to use for displaying the tags
-of a particular type. For example, 'name' can be set to 'functions'. This
-field can be set to any text string name.
-
-For example, to list only the classes and functions defined in a C++ language
-file, add the following line to your .vimrc file:
-
- let tlist_cpp_settings = 'c++;c:class;f:function'
-
-In the above setting, 'cpp' is the Vim filetype name and 'c++' is the name
-used by the exuberant ctags tool. 'c' and 'f' are the flags passed to
-exuberant ctags to list C++ classes and functions and 'class' is the title
-used for the class tags and 'function' is the title used for the function tags
-in the taglist window.
-
-For example, to display only functions defined in a C file and to use "My
-Functions" as the title for the function tags, use
-
- let tlist_c_settings = 'c;f:My Functions'
-
-When you set the tlist_xxx_settings variable, you will override the default
-setting used by the taglist plugin for the 'xxx' language. You cannot add to
-the default options used by the taglist plugin for a particular file type. To
-add to the options used by the taglist plugin for a language, copy the option
-values from the taglist plugin file to your .vimrc file and modify it.
-
-Adding support for a new language~
-If you want to add support for a new language to the taglist plugin, you need
-to first extend the exuberant ctags tool. For more information about extending
-exuberant ctags, visit the following page:
-
- http://ctags.sourceforge.net/EXTENDING.html
-
-To add support for a new language, set the tlist_xxx_settings variable in the
-~/.vimrc file appropriately as described above. Replace 'xxx' in the variable
-name with the Vim filetype name for the new language.
-
-For example, to extend the taglist plugin to support the latex language, you
-can use the following line (assuming, you have already extended exuberant
-ctags to support the latex language):
-
- let tlist_tex_settings='latex;b:bibitem;c:command;l:label'
-
-With the above line, when you edit files of filetype "tex" in Vim, the taglist
-plugin will invoke the exuberant ctags tool passing the "latex" filetype and
-the flags b, c and l to generate the tags. The text heading 'bibitem',
-'command' and 'label' will be used in the taglist window for the tags which
-are generated for the flags b, c and l respectively.
-
-==============================================================================
- *taglist-faq*
-10. Frequently Asked Questions~
-
-Q. The taglist plugin doesn't work. The taglist window is empty and the tags
- defined in a file are not displayed.
-A. Are you using Vim version 6.0 and above? The taglist plugin relies on the
- features supported by Vim version 6.0 and above. You can use the following
- command to get the Vim version:
->
- $ vim --version
-<
- Are you using exuberant ctags version 5.0 and above? The taglist plugin
- relies on the features supported by exuberant ctags and will not work with
- GNU ctags or the Unix ctags utility. You can use the following command to
- determine whether the ctags installed in your system is exuberant ctags:
->
- $ ctags --version
-<
- Is exuberant ctags present in one of the directories in your PATH? If not,
- you need to set the Tlist_Ctags_Cmd variable to point to the location of
- exuberant ctags. Use the following Vim command to verify that this is setup
- correctly:
->
- :echo system(Tlist_Ctags_Cmd . ' --version')
-<
- The above command should display the version information for exuberant
- ctags.
-
- Did you turn on the Vim filetype detection? The taglist plugin relies on
- the filetype detected by Vim and passes the filetype to the exuberant ctags
- utility to parse the tags. Check the output of the following Vim command:
->
- :filetype
-<
- The output of the above command should contain "filetype detection:ON".
- To turn on the filetype detection, add the following line to the .vimrc or
- _vimrc file:
->
- filetype on
-<
- Is your version of Vim compiled with the support for the system() function?
- The following Vim command should display 1:
->
- :echo exists('*system')
-<
- In some Linux distributions (particularly Suse Linux), the default Vim
- installation is built without the support for the system() function. The
- taglist plugin uses the system() function to invoke the exuberant ctags
- utility. You need to rebuild Vim after enabling the support for the
- system() function. If you use the default build options, the system()
- function will be supported.
-
- Do you have the |'shellslash'| option set? You can try disabling the
- |'shellslash'| option. When the taglist plugin invokes the exuberant ctags
- utility with the path to the file, if the incorrect slashes are used, then
- you will see errors.
-
- Check the shell related Vim options values using the following command:
->
- :set shell? shellcmdflag? shellpipe?
- :set shellquote? shellredir? shellxquote?
-<
- If these options are set in your .vimrc or _vimrc file, try removing those
- lines.
-
- Are you using a Unix shell in a MS-Windows environment? For example,
- the Unix shell from the MKS-toolkit. Do you have the SHELL environment
- set to point to this shell? You can try resetting the SHELL environment
- variable.
-
- If you are using a Unix shell on MS-Windows, you should try to use
- exuberant ctags that is compiled for Unix-like environments so that
- exuberant ctags will understand path names with forward slash characters.
-
- Is your filetype supported by the exuberant ctags utility? The file types
- supported by the exuberant ctags utility are listed in the ctags help. If a
- file type is not supported, you have to extend exuberant ctags. You can use
- the following command to list the filetypes supported by exuberant ctags:
->
- ctags --list-languages
-<
- Run the following command from the shell prompt and check whether the tags
- defined in your file are listed in the output from exuberant ctags:
->
- ctags -f - --format=2 --excmd=pattern --fields=nks <filename>
-<
- If you see your tags in the output from the above command, then the
- exuberant ctags utility is properly parsing your file.
-
- Do you have the .ctags or _ctags or the ctags.cnf file in your home
- directory for specifying default options or for extending exuberant ctags?
- If you do have this file, check the options in this file and make sure
- these options are not interfering with the operation of the taglist plugin.
-
- If you are using MS-Windows, check the value of the TEMP and TMP
- environment variables. If these environment variables are set to a path
- with space characters in the name, then try using the DOS 8.3 short name
- for the path or set them to a path without the space characters in the
- name. For example, if the temporary directory name is "C:\Documents and
- Settings\xyz\Local Settings\Temp", then try setting the TEMP variable to
- the following:
->
- set TEMP=C:\DOCUMEN~1\xyz\LOCALS~1\Temp
-<
- If exuberant ctags is installed in a directory with space characters in the
- name, then try adding the directory to the PATH environment variable or try
- setting the 'Tlist_Ctags_Cmd' variable to the shortest path name to ctags
- or try copying the exuberant ctags to a path without space characters in
- the name. For example, if exuberant ctags is installed in the directory
- "C:\Program Files\Ctags", then try setting the 'Tlist_Ctags_Cmd' variable
- as below:
->
- let Tlist_Ctags_Cmd='C:\Progra~1\Ctags\ctags.exe'
-<
- If you are using a cygwin compiled version of exuberant ctags on MS-Windows,
- make sure that either you have the cygwin compiled sort utility installed
- and available in your PATH or compile exuberant ctags with internal sort
- support. Otherwise, when exuberant ctags sorts the tags output by invoking
- the sort utility, it may end up invoking the MS-Windows version of
- sort.exe, thereby resulting in failure.
-
-Q. When I try to open the taglist window, I am seeing the following error
- message. How do I fix this problem?
-
- Taglist: Failed to generate tags for /my/path/to/file
- ctags: illegal option -- -^@usage: ctags [-BFadtuwvx] [-f tagsfile] file ...
-
-A. The taglist plugin will work only with the exuberant ctags tool. You
- cannot use the GNU ctags or the Unix ctags program with the taglist plugin.
- You will see an error message similar to the one shown above, if you try
- use a non-exuberant ctags program with Vim. To fix this problem, either add
- the exuberant ctags tool location to the PATH environment variable or set
- the 'Tlist_Ctags_Cmd' variable.
-
-Q. A file has more than one tag with the same name. When I select a tag name
- from the taglist window, the cursor is positioned at the incorrect tag
- location.
-A. The taglist plugin uses the search pattern generated by the exuberant ctags
- utility to position the cursor at the location of a tag definition. If a
- file has more than one tag with the same name and same prototype, then the
- search pattern will be the same. In this case, when searching for the tag
- pattern, the cursor may be positioned at the incorrect location.
-
-Q. I have made some modifications to my file and introduced new
- functions/classes/variables. I have not yet saved my file. The taglist
- plugin is not displaying the new tags when I update the taglist window.
-A. The exuberant ctags utility will process only files that are present in the
- disk. To list the tags defined in a file, you have to save the file and
- then update the taglist window.
-
-Q. I have created a ctags file using the exuberant ctags utility for my source
- tree. How do I configure the taglist plugin to use this tags file?
-A. The taglist plugin doesn't use a tags file stored in disk. For every opened
- file, the taglist plugin invokes the exuberant ctags utility to get the
- list of tags dynamically. The Vim system() function is used to invoke
- exuberant ctags and get the ctags output. This function internally uses a
- temporary file to store the output. This file is deleted after the output
- from the command is read. So you will never see the file that contains the
- output of exuberant ctags.
-
-Q. When I set the |'updatetime'| option to a low value (less than 1000) and if
- I keep pressing a key with the taglist window open, the current buffer
- contents are changed. Why is this?
-A. The taglist plugin uses the |CursorHold| autocmd to highlight the current
- tag. The CursorHold autocmd triggers for every |'updatetime'| milliseconds.
- If the |'updatetime'| option is set to a low value, then the CursorHold
- autocmd will be triggered frequently. As the taglist plugin changes
- the focus to the taglist window to highlight the current tag, this could
- interfere with the key movement resulting in changing the contents of
- the current buffer. The workaround for this problem is to not set the
- |'updatetime'| option to a low value.
-
-==============================================================================
- *taglist-license*
-11. License~
-Permission is hereby granted to use and distribute the taglist plugin, with or
-without modifications, provided that this copyright notice is copied with it.
-Like anything else that's free, taglist.vim is provided *as is* and comes with
-no warranty of any kind, either expressed or implied. In no event will the
-copyright holder be liable for any damamges resulting from the use of this
-software.
-
-==============================================================================
- *taglist-todo*
-12. Todo~
-
-1. Group tags according to the scope and display them. For example,
- group all the tags belonging to a C++/Java class
-2. Support for displaying tags in a modified (not-yet-saved) file.
-3. Automatically open the taglist window only for selected filetypes.
- For other filetypes, close the taglist window.
-4. When using the shell from the MKS toolkit, the taglist plugin
- doesn't work.
-5. The taglist plugin doesn't work with files edited remotely using the
- netrw plugin. The exuberant ctags utility cannot process files over
- scp/rcp/ftp, etc.
-
-==============================================================================
-
-vim:tw=78:ts=8:noet:ft=help:
diff --git a/.vim/doc/tags b/.vim/doc/tags
deleted file mode 100644
index d4f773b..0000000
--- a/.vim/doc/tags
+++ /dev/null
@@ -1,290 +0,0 @@
-'Tlist_Auto_Highlight_Tag' taglist.txt /*'Tlist_Auto_Highlight_Tag'*
-'Tlist_Auto_Open' taglist.txt /*'Tlist_Auto_Open'*
-'Tlist_Auto_Update' taglist.txt /*'Tlist_Auto_Update'*
-'Tlist_Close_On_Select' taglist.txt /*'Tlist_Close_On_Select'*
-'Tlist_Compact_Format' taglist.txt /*'Tlist_Compact_Format'*
-'Tlist_Ctags_Cmd' taglist.txt /*'Tlist_Ctags_Cmd'*
-'Tlist_Display_Prototype' taglist.txt /*'Tlist_Display_Prototype'*
-'Tlist_Display_Tag_Scope' taglist.txt /*'Tlist_Display_Tag_Scope'*
-'Tlist_Enable_Fold_Column' taglist.txt /*'Tlist_Enable_Fold_Column'*
-'Tlist_Exit_OnlyWindow' taglist.txt /*'Tlist_Exit_OnlyWindow'*
-'Tlist_File_Fold_Auto_Close' taglist.txt /*'Tlist_File_Fold_Auto_Close'*
-'Tlist_GainFocus_On_ToggleOpen' taglist.txt /*'Tlist_GainFocus_On_ToggleOpen'*
-'Tlist_Highlight_Tag_On_BufEnter' taglist.txt /*'Tlist_Highlight_Tag_On_BufEnter'*
-'Tlist_Inc_Winwidth' taglist.txt /*'Tlist_Inc_Winwidth'*
-'Tlist_Max_Submenu_Items' taglist.txt /*'Tlist_Max_Submenu_Items'*
-'Tlist_Max_Tag_Length' taglist.txt /*'Tlist_Max_Tag_Length'*
-'Tlist_Process_File_Always' taglist.txt /*'Tlist_Process_File_Always'*
-'Tlist_Show_Menu' taglist.txt /*'Tlist_Show_Menu'*
-'Tlist_Show_One_File' taglist.txt /*'Tlist_Show_One_File'*
-'Tlist_Sort_Type' taglist.txt /*'Tlist_Sort_Type'*
-'Tlist_Use_Horiz_Window' taglist.txt /*'Tlist_Use_Horiz_Window'*
-'Tlist_Use_Right_Window' taglist.txt /*'Tlist_Use_Right_Window'*
-'Tlist_Use_SingleClick' taglist.txt /*'Tlist_Use_SingleClick'*
-'Tlist_WinHeight' taglist.txt /*'Tlist_WinHeight'*
-'Tlist_WinWidth' taglist.txt /*'Tlist_WinWidth'*
-:CVSEdit vcscommand.txt /*:CVSEdit*
-:CVSEditors vcscommand.txt /*:CVSEditors*
-:CVSUnedit vcscommand.txt /*:CVSUnedit*
-:CVSWatch vcscommand.txt /*:CVSWatch*
-:CVSWatchAdd vcscommand.txt /*:CVSWatchAdd*
-:CVSWatchOff vcscommand.txt /*:CVSWatchOff*
-:CVSWatchOn vcscommand.txt /*:CVSWatchOn*
-:CVSWatchRemove vcscommand.txt /*:CVSWatchRemove*
-:CVSWatchers vcscommand.txt /*:CVSWatchers*
-:DocIndex haskellmode.txt /*:DocIndex*
-:DocSettings haskellmode.txt /*:DocSettings*
-:ExportDocIndex haskellmode.txt /*:ExportDocIndex*
-:FlagReference haskellmode.txt /*:FlagReference*
-:GHCReload haskellmode.txt /*:GHCReload*
-:GHCStaticOptions haskellmode.txt /*:GHCStaticOptions*
-:GHCi haskellmode.txt /*:GHCi*
-:HpasteIndex haskellmode.txt /*:HpasteIndex*
-:HpastePostNew haskellmode.txt /*:HpastePostNew*
-:IDoc haskellmode.txt /*:IDoc*
-:MDoc haskellmode.txt /*:MDoc*
-:NERDTree NERD_tree.txt /*:NERDTree*
-:NERDTreeToggle NERD_tree.txt /*:NERDTreeToggle*
-:TlistAddFiles taglist.txt /*:TlistAddFiles*
-:TlistAddFilesRecursive taglist.txt /*:TlistAddFilesRecursive*
-:TlistClose taglist.txt /*:TlistClose*
-:TlistDebug taglist.txt /*:TlistDebug*
-:TlistHighlightTag taglist.txt /*:TlistHighlightTag*
-:TlistLock taglist.txt /*:TlistLock*
-:TlistMessages taglist.txt /*:TlistMessages*
-:TlistOpen taglist.txt /*:TlistOpen*
-:TlistSessionLoad taglist.txt /*:TlistSessionLoad*
-:TlistSessionSave taglist.txt /*:TlistSessionSave*
-:TlistShowPrototype taglist.txt /*:TlistShowPrototype*
-:TlistShowTag taglist.txt /*:TlistShowTag*
-:TlistToggle taglist.txt /*:TlistToggle*
-:TlistUndebug taglist.txt /*:TlistUndebug*
-:TlistUnlock taglist.txt /*:TlistUnlock*
-:TlistUpdate taglist.txt /*:TlistUpdate*
-:VCSAdd vcscommand.txt /*:VCSAdd*
-:VCSAnnotate vcscommand.txt /*:VCSAnnotate*
-:VCSBlame vcscommand.txt /*:VCSBlame*
-:VCSCommit vcscommand.txt /*:VCSCommit*
-:VCSDelete vcscommand.txt /*:VCSDelete*
-:VCSDiff vcscommand.txt /*:VCSDiff*
-:VCSGotoOriginal vcscommand.txt /*:VCSGotoOriginal*
-:VCSInfo vcscommand.txt /*:VCSInfo*
-:VCSLock vcscommand.txt /*:VCSLock*
-:VCSLog vcscommand.txt /*:VCSLog*
-:VCSRemove vcscommand.txt /*:VCSRemove*
-:VCSRevert vcscommand.txt /*:VCSRevert*
-:VCSReview vcscommand.txt /*:VCSReview*
-:VCSStatus vcscommand.txt /*:VCSStatus*
-:VCSUnlock vcscommand.txt /*:VCSUnlock*
-:VCSUpdate vcscommand.txt /*:VCSUpdate*
-:VCSVimDiff vcscommand.txt /*:VCSVimDiff*
-NERDChristmasTree NERD_tree.txt /*NERDChristmasTree*
-NERDTree NERD_tree.txt /*NERDTree*
-NERDTree-! NERD_tree.txt /*NERDTree-!*
-NERDTree-? NERD_tree.txt /*NERDTree-?*
-NERDTree-C NERD_tree.txt /*NERDTree-C*
-NERDTree-F NERD_tree.txt /*NERDTree-F*
-NERDTree-H NERD_tree.txt /*NERDTree-H*
-NERDTree-J NERD_tree.txt /*NERDTree-J*
-NERDTree-K NERD_tree.txt /*NERDTree-K*
-NERDTree-O NERD_tree.txt /*NERDTree-O*
-NERDTree-P NERD_tree.txt /*NERDTree-P*
-NERDTree-R NERD_tree.txt /*NERDTree-R*
-NERDTree-T NERD_tree.txt /*NERDTree-T*
-NERDTree-U NERD_tree.txt /*NERDTree-U*
-NERDTree-X NERD_tree.txt /*NERDTree-X*
-NERDTree-c-j NERD_tree.txt /*NERDTree-c-j*
-NERDTree-c-k NERD_tree.txt /*NERDTree-c-k*
-NERDTree-contents NERD_tree.txt /*NERDTree-contents*
-NERDTree-e NERD_tree.txt /*NERDTree-e*
-NERDTree-f NERD_tree.txt /*NERDTree-f*
-NERDTree-go NERD_tree.txt /*NERDTree-go*
-NERDTree-gtab NERD_tree.txt /*NERDTree-gtab*
-NERDTree-m NERD_tree.txt /*NERDTree-m*
-NERDTree-o NERD_tree.txt /*NERDTree-o*
-NERDTree-p NERD_tree.txt /*NERDTree-p*
-NERDTree-q NERD_tree.txt /*NERDTree-q*
-NERDTree-r NERD_tree.txt /*NERDTree-r*
-NERDTree-t NERD_tree.txt /*NERDTree-t*
-NERDTree-tab NERD_tree.txt /*NERDTree-tab*
-NERDTree-u NERD_tree.txt /*NERDTree-u*
-NERDTree-x NERD_tree.txt /*NERDTree-x*
-NERDTreeAuthor NERD_tree.txt /*NERDTreeAuthor*
-NERDTreeAutoCenter NERD_tree.txt /*NERDTreeAutoCenter*
-NERDTreeAutoCenterThreshold NERD_tree.txt /*NERDTreeAutoCenterThreshold*
-NERDTreeCaseSensitiveSort NERD_tree.txt /*NERDTreeCaseSensitiveSort*
-NERDTreeChDirMode NERD_tree.txt /*NERDTreeChDirMode*
-NERDTreeChangelog NERD_tree.txt /*NERDTreeChangelog*
-NERDTreeCommands NERD_tree.txt /*NERDTreeCommands*
-NERDTreeCredits NERD_tree.txt /*NERDTreeCredits*
-NERDTreeFilesysMenu NERD_tree.txt /*NERDTreeFilesysMenu*
-NERDTreeFunctionality NERD_tree.txt /*NERDTreeFunctionality*
-NERDTreeHighlightCursorline NERD_tree.txt /*NERDTreeHighlightCursorline*
-NERDTreeIgnore NERD_tree.txt /*NERDTreeIgnore*
-NERDTreeMappings NERD_tree.txt /*NERDTreeMappings*
-NERDTreeMouseMode NERD_tree.txt /*NERDTreeMouseMode*
-NERDTreeOptionDetails NERD_tree.txt /*NERDTreeOptionDetails*
-NERDTreeOptionSummary NERD_tree.txt /*NERDTreeOptionSummary*
-NERDTreeOptions NERD_tree.txt /*NERDTreeOptions*
-NERDTreePublicFunctions NERD_tree.txt /*NERDTreePublicFunctions*
-NERDTreeShowFiles NERD_tree.txt /*NERDTreeShowFiles*
-NERDTreeShowHidden NERD_tree.txt /*NERDTreeShowHidden*
-NERDTreeSortOrder NERD_tree.txt /*NERDTreeSortOrder*
-NERDTreeSplitVertical NERD_tree.txt /*NERDTreeSplitVertical*
-NERDTreeTodo NERD_tree.txt /*NERDTreeTodo*
-NERDTreeWinPos NERD_tree.txt /*NERDTreeWinPos*
-NERDTreeWinSize NERD_tree.txt /*NERDTreeWinSize*
-NERD_tree.txt NERD_tree.txt /*NERD_tree.txt*
-OmniCpp_DefaultNamespaces omnicppcomplete.txt /*OmniCpp_DefaultNamespaces*
-OmniCpp_DisplayMode omnicppcomplete.txt /*OmniCpp_DisplayMode*
-OmniCpp_GlobalScopeSearch omnicppcomplete.txt /*OmniCpp_GlobalScopeSearch*
-OmniCpp_LocalSearchDecl omnicppcomplete.txt /*OmniCpp_LocalSearchDecl*
-OmniCpp_MayCompleteArrow omnicppcomplete.txt /*OmniCpp_MayCompleteArrow*
-OmniCpp_MayCompleteDot omnicppcomplete.txt /*OmniCpp_MayCompleteDot*
-OmniCpp_MayCompleteScope omnicppcomplete.txt /*OmniCpp_MayCompleteScope*
-OmniCpp_NamespaceSearch omnicppcomplete.txt /*OmniCpp_NamespaceSearch*
-OmniCpp_SelectFirstItem omnicppcomplete.txt /*OmniCpp_SelectFirstItem*
-OmniCpp_ShowAccess omnicppcomplete.txt /*OmniCpp_ShowAccess*
-OmniCpp_ShowPrototypeInAbbr omnicppcomplete.txt /*OmniCpp_ShowPrototypeInAbbr*
-OmniCpp_ShowScopeInAbbr omnicppcomplete.txt /*OmniCpp_ShowScopeInAbbr*
-Tlist_Get_Tag_Prototype_By_Line() taglist.txt /*Tlist_Get_Tag_Prototype_By_Line()*
-Tlist_Get_Tagname_By_Line() taglist.txt /*Tlist_Get_Tagname_By_Line()*
-Tlist_Set_App() taglist.txt /*Tlist_Set_App()*
-Tlist_Update_File_Tags() taglist.txt /*Tlist_Update_File_Tags()*
-VCSCommandCVSDiffOpt vcscommand.txt /*VCSCommandCVSDiffOpt*
-VCSCommandCVSExec vcscommand.txt /*VCSCommandCVSExec*
-VCSCommandCommitOnWrite vcscommand.txt /*VCSCommandCommitOnWrite*
-VCSCommandDeleteOnHide vcscommand.txt /*VCSCommandDeleteOnHide*
-VCSCommandDiffSplit vcscommand.txt /*VCSCommandDiffSplit*
-VCSCommandDisableAll vcscommand.txt /*VCSCommandDisableAll*
-VCSCommandDisableExtensionMappings vcscommand.txt /*VCSCommandDisableExtensionMappings*
-VCSCommandDisableMappings vcscommand.txt /*VCSCommandDisableMappings*
-VCSCommandEdit vcscommand.txt /*VCSCommandEdit*
-VCSCommandEnableBufferSetup vcscommand.txt /*VCSCommandEnableBufferSetup*
-VCSCommandMapPrefix vcscommand.txt /*VCSCommandMapPrefix*
-VCSCommandMappings vcscommand.txt /*VCSCommandMappings*
-VCSCommandResultBufferNameExtension vcscommand.txt /*VCSCommandResultBufferNameExtension*
-VCSCommandResultBufferNameFunction vcscommand.txt /*VCSCommandResultBufferNameFunction*
-VCSCommandSVKExec vcscommand.txt /*VCSCommandSVKExec*
-VCSCommandSVNDiffExt vcscommand.txt /*VCSCommandSVNDiffExt*
-VCSCommandSVNDiffOpt vcscommand.txt /*VCSCommandSVNDiffOpt*
-VCSCommandSVNExec vcscommand.txt /*VCSCommandSVNExec*
-VCSCommandSplit vcscommand.txt /*VCSCommandSplit*
-VCSCommandVCSTypeOverride vcscommand.txt /*VCSCommandVCSTypeOverride*
-_. haskellmode.txt /*_.*
-_? haskellmode.txt /*_?*
-_?1 haskellmode.txt /*_?1*
-_?2 haskellmode.txt /*_?2*
-_T haskellmode.txt /*_T*
-_ct haskellmode.txt /*_ct*
-_i haskellmode.txt /*_i*
-_ie haskellmode.txt /*_ie*
-_im haskellmode.txt /*_im*
-_iq haskellmode.txt /*_iq*
-_iqm haskellmode.txt /*_iqm*
-_lang haskellmode.txt /*_lang*
-_opt haskellmode.txt /*_opt*
-_si haskellmode.txt /*_si*
-_t haskellmode.txt /*_t*
-b:VCSCommandCommand vcscommand.txt /*b:VCSCommandCommand*
-b:VCSCommandOriginalBuffer vcscommand.txt /*b:VCSCommandOriginalBuffer*
-b:VCSCommandSourceFile vcscommand.txt /*b:VCSCommandSourceFile*
-b:VCSCommandVCSType vcscommand.txt /*b:VCSCommandVCSType*
-compiler-ghc haskellmode.txt /*compiler-ghc*
-cvscommand-changes vcscommand.txt /*cvscommand-changes*
-g:ghc haskellmode.txt /*g:ghc*
-g:haddock_browser haskellmode.txt /*g:haddock_browser*
-g:haddock_browser_callformat haskellmode.txt /*g:haddock_browser_callformat*
-g:haddock_docdir haskellmode.txt /*g:haddock_docdir*
-g:haddock_indexfiledir haskellmode.txt /*g:haddock_indexfiledir*
-g:wget haskellmode.txt /*g:wget*
-ghc haskellmode.txt /*ghc*
-ghc-compiler haskellmode.txt /*ghc-compiler*
-haddock haskellmode.txt /*haddock*
-haskellmode haskellmode.txt /*haskellmode*
-haskellmode-XO haskellmode.txt /*haskellmode-XO*
-haskellmode-XU haskellmode.txt /*haskellmode-XU*
-haskellmode-compiler haskellmode.txt /*haskellmode-compiler*
-haskellmode-editing haskellmode.txt /*haskellmode-editing*
-haskellmode-haddock haskellmode.txt /*haskellmode-haddock*
-haskellmode-hpaste haskellmode.txt /*haskellmode-hpaste*
-haskellmode-indexing haskellmode.txt /*haskellmode-indexing*
-haskellmode-lookup haskellmode.txt /*haskellmode-lookup*
-haskellmode-omni-completion haskellmode.txt /*haskellmode-omni-completion*
-haskellmode-overview haskellmode.txt /*haskellmode-overview*
-haskellmode-quickref haskellmode.txt /*haskellmode-quickref*
-haskellmode-requirements haskellmode.txt /*haskellmode-requirements*
-haskellmode-resources haskellmode.txt /*haskellmode-resources*
-haskellmode-settings haskellmode.txt /*haskellmode-settings*
-haskellmode-settings-fine haskellmode.txt /*haskellmode-settings-fine*
-haskellmode-settings-main haskellmode.txt /*haskellmode-settings-main*
-haskellmode-user-completion haskellmode.txt /*haskellmode-user-completion*
-haskellmode.txt haskellmode.txt /*haskellmode.txt*
-hpaste haskellmode.txt /*hpaste*
-loaded_nerd_tree NERD_tree.txt /*loaded_nerd_tree*
-omnicpp-download omnicppcomplete.txt /*omnicpp-download*
-omnicpp-faq omnicppcomplete.txt /*omnicpp-faq*
-omnicpp-features omnicppcomplete.txt /*omnicpp-features*
-omnicpp-history omnicppcomplete.txt /*omnicpp-history*
-omnicpp-installation omnicppcomplete.txt /*omnicpp-installation*
-omnicpp-limitations omnicppcomplete.txt /*omnicpp-limitations*
-omnicpp-may-complete omnicppcomplete.txt /*omnicpp-may-complete*
-omnicpp-options omnicppcomplete.txt /*omnicpp-options*
-omnicpp-overview omnicppcomplete.txt /*omnicpp-overview*
-omnicpp-popup omnicppcomplete.txt /*omnicpp-popup*
-omnicpp-thanks omnicppcomplete.txt /*omnicpp-thanks*
-omnicppcomplete omnicppcomplete.txt /*omnicppcomplete*
-omnicppcomplete.txt omnicppcomplete.txt /*omnicppcomplete.txt*
-surround surround.txt /*surround*
-surround-author surround.txt /*surround-author*
-surround-customizing surround.txt /*surround-customizing*
-surround-issues surround.txt /*surround-issues*
-surround-mappings surround.txt /*surround-mappings*
-surround-replacements surround.txt /*surround-replacements*
-surround-targets surround.txt /*surround-targets*
-surround.txt surround.txt /*surround.txt*
-taglist-commands taglist.txt /*taglist-commands*
-taglist-debug taglist.txt /*taglist-debug*
-taglist-extend taglist.txt /*taglist-extend*
-taglist-faq taglist.txt /*taglist-faq*
-taglist-functions taglist.txt /*taglist-functions*
-taglist-install taglist.txt /*taglist-install*
-taglist-internet taglist.txt /*taglist-internet*
-taglist-intro taglist.txt /*taglist-intro*
-taglist-keys taglist.txt /*taglist-keys*
-taglist-license taglist.txt /*taglist-license*
-taglist-menu taglist.txt /*taglist-menu*
-taglist-options taglist.txt /*taglist-options*
-taglist-requirements taglist.txt /*taglist-requirements*
-taglist-session taglist.txt /*taglist-session*
-taglist-todo taglist.txt /*taglist-todo*
-taglist-using taglist.txt /*taglist-using*
-taglist.txt taglist.txt /*taglist.txt*
-vcscommand vcscommand.txt /*vcscommand*
-vcscommand-buffer-management vcscommand.txt /*vcscommand-buffer-management*
-vcscommand-buffer-variables vcscommand.txt /*vcscommand-buffer-variables*
-vcscommand-bugs vcscommand.txt /*vcscommand-bugs*
-vcscommand-commands vcscommand.txt /*vcscommand-commands*
-vcscommand-config vcscommand.txt /*vcscommand-config*
-vcscommand-contents vcscommand.txt /*vcscommand-contents*
-vcscommand-customize vcscommand.txt /*vcscommand-customize*
-vcscommand-events vcscommand.txt /*vcscommand-events*
-vcscommand-install vcscommand.txt /*vcscommand-install*
-vcscommand-intro vcscommand.txt /*vcscommand-intro*
-vcscommand-manual vcscommand.txt /*vcscommand-manual*
-vcscommand-mappings vcscommand.txt /*vcscommand-mappings*
-vcscommand-mappings-override vcscommand.txt /*vcscommand-mappings-override*
-vcscommand-naming vcscommand.txt /*vcscommand-naming*
-vcscommand-options vcscommand.txt /*vcscommand-options*
-vcscommand-ssh vcscommand.txt /*vcscommand-ssh*
-vcscommand-ssh-config vcscommand.txt /*vcscommand-ssh-config*
-vcscommand-ssh-env vcscommand.txt /*vcscommand-ssh-env*
-vcscommand-ssh-other vcscommand.txt /*vcscommand-ssh-other*
-vcscommand-ssh-wrapper vcscommand.txt /*vcscommand-ssh-wrapper*
-vcscommand-statusline vcscommand.txt /*vcscommand-statusline*
-vcscommand.txt vcscommand.txt /*vcscommand.txt*
-vs surround.txt /*vs*
-yS surround.txt /*yS*
-ySS surround.txt /*ySS*
-ys surround.txt /*ys*
-yss surround.txt /*yss*
diff --git a/.vim/doc/vcscommand.txt b/.vim/doc/vcscommand.txt
deleted file mode 100644
index cf6bd97..0000000
--- a/.vim/doc/vcscommand.txt
+++ /dev/null
@@ -1,819 +0,0 @@
-*vcscommand.txt* vcscommand
-Copyright (c) 2007 Bob Hiestand
-
-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.
-
-For instructions on installing this file, type
- :help add-local-help
-inside Vim.
-
-Author: Bob Hiestand <bob.hiestand@gmail.com>
-Credits: Benji Fisher's excellent MatchIt documentation
-
-==============================================================================
-1. Contents *vcscommand-contents*
-
- Installation : |vcscommand-install|
- vcscommand Intro : |vcscommand|
- vcscommand Manual : |vcscommand-manual|
- Customization : |vcscommand-customize|
- SSH "integration" : |vcscommand-ssh|
- Changes from cvscommand : |cvscommand-changes|
- Bugs : |vcscommand-bugs|
-
-==============================================================================
-
-2. vcscommand Installation *vcscommand-install*
-
-The vcscommand plugin comprises five files: vcscommand.vim, vcssvn.vim,
-vcscvs.vim, vcssvk.vim and vcscommand.txt (this file). In order to install
-the plugin, place the vcscommand.vim, vcssvn.vim, vcssvk.vim, and vcscvs.vim
-files into a plugin directory in your runtime path (please see
-|add-global-plugin| and |'runtimepath'|.
-
-This help file can be included in the VIM help system by copying it into a
-'doc' directory in your runtime path and then executing the |:helptags|
-command, specifying the full path of the 'doc' directory. Please see
-|add-local-help| for more details.
-
-vcscommand may be customized by setting variables, creating maps, and
-specifying event handlers. Please see |vcscommand-customize| for more
-details.
-
-==============================================================================
-
-3. vcscommand Intro *vcscommand*
- *vcscommand-intro*
-
-The vcscommand plugin provides global ex commands for manipulating
-version-controlled source files, currently those controlled either by CVS or
-Subversion. In general, each command operates on the current buffer and
-accomplishes a separate source control function, such as update, commit, log,
-and others (please see |vcscommand-commands| for a list of all available
-commands). The results of each operation are displayed in a scratch buffer.
-Several buffer variables are defined for those scratch buffers (please see
-|vcscommand-buffer-variables|).
-
-The notion of "current file" means either the current buffer, or, in the case
-of a directory buffer (such as Explorer or netrw buffers), the directory (and
-all subdirectories) represented by the the buffer.
-
-For convenience, any vcscommand invoked on a vcscommand scratch buffer acts as
-though it was invoked on the original file and splits the screen so that the
-output appears in a new window.
-
-Many of the commands accept revisions as arguments. By default, most operate
-on the most recent revision on the current branch if no revision is specified.
-
-Each vcscommand is mapped to a key sequence starting with the <Leader>
-keystroke. The default mappings may be overridden by supplying different
-mappings before the plugin is loaded, such as in the vimrc, in the standard
-fashion for plugin mappings. For examples, please see
-|vcscommand-mappings-override|.
-
-The vcscommand plugin may be configured in several ways. For more details,
-please see |vcscommand-customize|.
-
-==============================================================================
-
-4. vcscommand Manual *vcscommand-manual*
-
-4.1 vcscommand commands *vcscommand-commands*
-
-vcscommand defines the following commands:
-
-|:VCSAdd|
-|:VCSAnnotate|
-|:VCSBlame|
-|:VCSCommit|
-|:VCSDelete|
-|:VCSDiff|
-|:VCSGotoOriginal|
-|:VCSLog|
-|:VCSRemove|
-|:VCSRevert|
-|:VCSReview|
-|:VCSStatus|
-|:VCSUpdate|
-|:VCSVimDiff|
-
-The following commands are specific to CVS files:
-
-|:CVSEdit|
-|:CVSEditors|
-|:CVSUnedit|
-|:CVSWatch|
-|:CVSWatchAdd|
-|:CVSWatchOn|
-|:CVSWatchOff|
-|:CVSWatchRemove|
-|:CVSWatchers|
-
-:VCSAdd *:VCSAdd*
-
-This command adds the current file to source control. Please note, this does
-not commit the newly-added file. All parameters to the command are passed to
-the underlying VCS.
-
-:VCSAnnotate[!] *:VCSAnnotate*
-
-This command displays the current file with each line annotated with the
-version in which it was most recently changed. If an argument is given, the
-argument is used as a revision number to display. If not given an argument,
-it uses the most recent version of the file (on the current branch, if under
-CVS control). Additionally, if the current buffer is a VCSAnnotate buffer
-already, the version number on the current line is used.
-
-If '!' is used, the view of the annotated buffer is split so that the
-annotation is in a separate window from the content, and each is highlighted
-separately.
-
-For CVS buffers, the 'VCSCommandCVSAnnotateParent' option, if set to non-zero,
-will cause the above behavior to change. Instead of annotating the version on
-the current line, the parent revision is used instead, crossing branches if
-necessary.
-
-The filetype of the vcscommand scratch buffer is set to one of 'CVSAnnotate',
-'SVNAnnotate', 'SVKAnnotate' or 'gitAnnotate' as appropriate, to take advantage of the
-bundled syntax files.
-
-:VCSBlame[!] *:VCSBlame*
-
-Alias for |:VCSAnnotate|.
-
-:VCSCommit[!] *:VCSCommit*
-
-This command commits changes to the current file to source control.
-
-If called with arguments, the arguments are the log message.
-
-If '!' is used, an empty log message is committed.
-
-If called with no arguments, this is a two-step command. The first step opens
-a buffer to accept a log message. When that buffer is written, it is
-automatically closed and the file is committed using the information from that
-log message. The commit can be abandoned if the log message buffer is deleted
-or wiped before being written.
-
-Alternatively, the mapping that is used to invoke :VCSCommit (by default
-<Leader>cc) can be used in the log message buffer to immediately commit. This
-is useful if the |VCSCommandCommitOnWrite| variable is set to 0 to disable the
-normal commit-on-write behavior.
-
-:VCSDelete *:VCSDelete*
-
-Deletes the current file and removes it from source control. All parameters
-to the command are passed to the underlying VCS.
-
-:VCSDiff *:VCSDiff*
-
-With no arguments, this displays the differences between the current file and
-its parent version under source control in a new scratch buffer.
-
-With one argument, the diff is performed on the current file against the
-specified revision.
-
-With two arguments, the diff is performed between the specified revisions of
-the current file.
-
-For CVS, this command uses the |VCSCommandCVSDiffOpt| variable to specify diff
-options. If that variable does not exist, a plugin-specific default is used.
-If you wish to have no options, then set it to the empty string.
-
-For SVN, this command uses the |VCSCommandSVNDiffOpt| variable to specify diff
-options. If that variable does not exist, the SVN default is used.
-Additionally, |VCSCommandSVNDiffExt| can be used to select an external diff
-application.
-
-:VCSGotoOriginal *:VCSGotoOriginal*
-
-This command jumps to the source buffer if the current buffer is a VCS scratch
-buffer.
-
-:VCSGotoOriginal!
-
-Like ":VCSGotoOriginal" but also executes :bufwipeout on all VCS scrach
-buffers associated with the original file.
-
-:VCSInfo *:VCSInfo*
-
-This command displays extended information about the current file in a new
-scratch buffer.
-
-:VCSLock *:VCSLock*
-
-This command locks the current file in order to prevent other users from
-concurrently modifying it. The exact semantics of this command depend on the
-underlying VCS. This does nothing in CVS. All parameters are passed to the
-underlying VCS.
-
-:VCSLog *:VCSLog*
-
-Displays the version history of the current file in a new scratch buffer. If
-there is one parameter supplied, it is taken as as a revision parameters to be
-passed through to the underlying VCS. Otherwise, all parameters are passed to
-the underlying VCS.
-
-:VCSRemove *:VCSRemove*
-
-Alias for |:VCSDelete|.
-
-:VCSRevert *:VCSRevert*
-
-This command replaces the current file with the most recent version from the
-repository in order to wipe out any undesired changes.
-
-:VCSReview *:VCSReview*
-
-Displays a particular version of the current file in a new scratch buffer. If
-no argument is given, the most recent version of the file on the current
-branch is retrieved.
-
-:VCSStatus *:VCSStatus*
-
-Displays versioning information about the current file in a new scratch
-buffer. All parameters are passed to the underlying VCS.
-
-
-:VCSUnlock *:VCSUnlock*
-
-Unlocks the current file in order to allow other users from concurrently
-modifying it. The exact semantics of this command depend on the underlying
-VCS. All parameters are passed to the underlying VCS.
-
-:VCSUpdate *:VCSUpdate*
-
-Updates the current file with any relevant changes from the repository. This
-intentionally does not automatically reload the current buffer, though vim
-should prompt the user to do so if the underlying file is altered by this
-command.
-
-:VCSVimDiff *:VCSVimDiff*
-
-Uses vimdiff to display differences between versions of the current file.
-
-If no revision is specified, the most recent version of the file on the
-current branch is used. With one argument, that argument is used as the
-revision as above. With two arguments, the differences between the two
-revisions is displayed using vimdiff.
-
-With either zero or one argument, the original buffer is used to perform the
-vimdiff. When the scratch buffer is closed, the original buffer will be
-returned to normal mode.
-
-Once vimdiff mode is started using the above methods, additional vimdiff
-buffers may be added by passing a single version argument to the command.
-There may be up to 4 vimdiff buffers total.
-
-Using the 2-argument form of the command resets the vimdiff to only those 2
-versions. Additionally, invoking the command on a different file will close
-the previous vimdiff buffers.
-
-:CVSEdit *:CVSEdit*
-
-This command performs "cvs edit" on the current file. Yes, the output buffer
-in this case is almost completely useless.
-
-:CVSEditors *:CVSEditors*
-
-This command performs "cvs edit" on the current file.
-
-:CVSUnedit *:CVSUnedit*
-
-Performs "cvs unedit" on the current file. Again, yes, the output buffer here
-is basically useless.
-
-:CVSWatch *:CVSWatch*
-
-This command takes an argument which must be one of [on|off|add|remove]. The
-command performs "cvs watch" with the given argument on the current file.
-
-:CVSWatchAdd *:CVSWatchAdd*
-
-This command is an alias for ":CVSWatch add"
-
-:CVSWatchOn *:CVSWatchOn*
-
-This command is an alias for ":CVSWatch on"
-
-:CVSWatchOff *:CVSWatchOff*
-
-This command is an alias for ":CVSWatch off"
-
-:CVSWatchRemove *:CVSWatchRemove*
-
-This command is an alias for ":CVSWatch remove"
-
-:CVSWatchers *:CVSWatchers*
-
-This command performs "cvs watchers" on the current file.
-
-4.2 Mappings *vcscommand-mappings*
-
-By default, a mapping is defined for each command. These mappings execute the
-default (no-argument) form of each command.
-
-<Leader>ca VCSAdd
-<Leader>cn VCSAnnotate
-<Leader>cN VCSAnnotate!
-<Leader>cc VCSCommit
-<Leader>cD VCSDelete
-<Leader>cd VCSDiff
-<Leader>cg VCSGotoOriginal
-<Leader>cG VCSGotoOriginal!
-<Leader>ci VCSInfo
-<Leader>cl VCSLog
-<Leader>cL VCSLock
-<Leader>cr VCSReview
-<Leader>cs VCSStatus
-<Leader>cu VCSUpdate
-<Leader>cU VCSUnlock
-<Leader>cv VCSVimDiff
-
-Only for CVS buffers:
-
-<Leader>ce CVSEdit
-<Leader>cE CVSEditors
-<Leader>ct CVSUnedit
-<Leader>cwv CVSWatchers
-<Leader>cwa CVSWatchAdd
-<Leader>cwn CVSWatchOn
-<Leader>cwf CVSWatchOff
-<Leader>cwf CVSWatchRemove
-
- *vcscommand-mappings-override*
-
-The default mappings can be overridden by user-provided instead by mapping to
-<Plug>CommandName. This is especially useful when these mappings collide with
-other existing mappings (vim will warn of this during plugin initialization,
-but will not clobber the existing mappings).
-
-There are three methods for controlling mapping:
-
-First, maps can be overriden for individual commands. For instance, to
-override the default mapping for :VCSAdd to set it to '\add', add the
-following to the vimrc:
-
-nmap \add <Plug>VCSAdd
-
-Second, the default map prefix ('<Leader>c') can be overridden by defining the
-|VCSCommandMapPrefix| variable.
-
-Third, the entire set of default maps can be overridden by defining the
-|VCSCommandMappings| variable.
-
-
-4.3 Automatic buffer variables *vcscommand-buffer-variables*
-
-Several buffer variables are defined in each vcscommand result buffer. These
-may be useful for additional customization in callbacks defined in the event
-handlers (please see |vcscommand-events|).
-
-The following variables are automatically defined:
-
-b:VCSCommandOriginalBuffer *b:VCSCommandOriginalBuffer*
-
-This variable is set to the buffer number of the source file.
-
-b:VCSCommandCommand *b:VCSCommandCommand*
-
-This variable is set to the name of the vcscommand that created the result
-buffer.
-
-b:VCSCommandSourceFile *b:VCSCommandSourceFile*
-
-This variable is set to the name of the original file under source control.
-
-b:VCSCommandVCSType *b:VCSCommandVCSType*
-
-This variable is set to the type of the source control. This variable is also
-set on the original file itself.
-==============================================================================
-
-5. Configuration and customization *vcscommand-customize*
- *vcscommand-config*
-
-The vcscommand plugin can be configured in several ways: by setting
-configuration variables (see |vcscommand-options|) or by defining vcscommand
-event handlers (see |vcscommand-events|). Additionally, the vcscommand plugin
-supports a customized status line (see |vcscommand-statusline| and
-|vcscommand-buffer-management|).
-
-5.1 vcscommand configuration variables *vcscommand-options*
-
-Several variables affect the plugin's behavior. These variables are checked
-at time of execution, and may be defined at the window, buffer, or global
-level and are checked in that order of precedence.
-
-
-The following variables are available:
-
-|VCSCommandCommitOnWrite|
-|VCSCommandCVSDiffOpt|
-|VCSCommandCVSExec|
-|VCSCommandDeleteOnHide|
-|VCSCommandDiffSplit|
-|VCSCommandDisableAll|
-|VCSCommandDisableMappings|
-|VCSCommandDisableExtensionMappings|
-|VCSCommandEdit|
-|VCSCommandEnableBufferSetup|
-|VCSCommandMappings|
-|VCSCommandMapPrefix|
-|VCSCommandResultBufferNameExtension|
-|VCSCommandResultBufferNameFunction|
-|VCSCommandSplit|
-|VCSCommandSVKExec|
-|VCSCommandSVNDiffExt|
-|VCSCommandSVNDiffOpt|
-|VCSCommandSVNExec|
-|VCSCommandVCSTypeOverride|
-
-VCSCommandCommitOnWrite *VCSCommandCommitOnWrite*
-
-This variable, if set to a non-zero value, causes the pending commit
-to take place immediately as soon as the log message buffer is written.
-If set to zero, only the VCSCommit mapping will cause the pending commit to
-occur. If not set, it defaults to 1.
-
-VCSCommandCVSExec *VCSCommandCVSExec*
-
-This variable controls the executable used for all CVS commands If not set,
-it defaults to "cvs".
-
-VCSCommandDeleteOnHide *VCSCommandDeleteOnHide*
-
-This variable, if set to a non-zero value, causes the temporary result buffers
-to automatically delete themselves when hidden.
-
-VCSCommandCVSDiffOpt *VCSCommandCVSDiffOpt*
-
-This variable, if set, determines the options passed to the diff command of
-CVS. If not set, it defaults to 'u'.
-
-VCSCommandDiffSplit *VCSCommandDiffSplit*
-
-This variable overrides the |VCSCommandSplit| variable, but only for buffers
-created with |:VCSVimDiff|.
-
-VCSCommandDisableAll *VCSCommandDisableAll*
-
-This variable, if set, prevents the plugin or any extensions from loading at
-all. This is useful when a single runtime distribution is used on multiple
-systems with varying versions.
-
-VCSCommandDisableMappings *VCSCommandDisableMappings*
-
-This variable, if set to a non-zero value, prevents the default command
-mappings from being set. This supercedes
-|VCSCommandDisableExtensionMappings|.
-
-VCSCommandDisableExtensionMappings *VCSCommandDisableExtensionMappings*
-
-This variable, if set to a non-zero value, prevents the default command
-mappings from being set for commands specific to an individual VCS.
-
-VCSCommandEdit *VCSCommandEdit*
-
-This variable controls whether the original buffer is replaced ('edit') or
-split ('split'). If not set, it defaults to 'split'.
-
-VCSCommandEnableBufferSetup *VCSCommandEnableBufferSetup*
-
-This variable, if set to a non-zero value, activates VCS buffer management
-mode see (|vcscommand-buffer-management|). This mode means that the
-'VCSCommandBufferInfo' variable is filled with version information if the file
-is VCS-controlled. This is useful for displaying version information in the
-status bar.
-
-VCSCommandMappings *VCSCommandMappings*
-
-This variable, if set, overrides the default mappings used for shortcuts. It
-should be a List of 2-element Lists, each containing a shortcut and function
-name pair. The value of the '|VCSCommandMapPrefix|' variable will be added to
-each shortcut.
-
-VCSCommandMapPrefix *VCSCommandMapPrefix*
-
-This variable, if set, overrides the default mapping prefix ('<Leader>c').
-This allows customization of the mapping space used by the vcscommand
-shortcuts.
-
-VCSCommandResultBufferNameExtension *VCSCommandResultBufferNameExtension*
-
-This variable, if set to a non-blank value, is appended to the name of the VCS
-command output buffers. For example, '.vcs'. Using this option may help
-avoid problems caused by autocommands dependent on file extension.
-
-VCSCommandResultBufferNameFunction *VCSCommandResultBufferNameFunction*
-
-This variable, if set, specifies a custom function for naming VCS command
-output buffers. This function is expected to return the new buffer name, and
-will be passed the following arguments:
-
- command - name of the VCS command being executed (such as 'Log' or
- 'Diff').
-
- originalBuffer - buffer number of the source file.
-
- vcsType - type of VCS controlling this file (such as 'CVS' or 'SVN').
-
- statusText - extra text associated with the VCS action (such as version
- numbers).
-
-VCSCommandSplit *VCSCommandSplit*
-
-This variable controls the orientation of the various window splits that
-may occur.
-
-If set to 'horizontal', the resulting windows will be on stacked on top of
-one another. If set to 'vertical', the resulting windows will be
-side-by-side. If not set, it defaults to 'horizontal' for all but
-VCSVimDiff windows. VCSVimDiff windows default to the user's 'diffopt'
-setting, if set, otherwise 'vertical'.
-
-VCSCommandSVKExec *VCSCommandSVKExec*
-
-This variable controls the executable used for all SVK commands If not set,
-it defaults to "svk".
-
-VCSCommandSVNDiffExt *VCSCommandSVNDiffExt*
-
-This variable, if set, is passed to SVN via the --diff-cmd command to select
-an external application for performing the diff.
-
-VCSCommandSVNDiffOpt *VCSCommandSVNDiffOpt*
-
-This variable, if set, determines the options passed with the '-x' parameter
-to the SVN diff command. If not set, no options are passed.
-
-VCSCommandSVNExec *VCSCommandSVNExec*
-
-This variable controls the executable used for all SVN commands If not set,
-it defaults to "svn".
-
-VCSCommandVCSTypeOverride *VCSCommandVCSTypeOverride*
-
-This variable allows the VCS type detection to be overridden on a path-by-path
-basis. The value of this variable is expected to be a List of Lists. Each
-item in the high-level List is a List containing two elements. The first
-element is a regular expression that will be matched against the full file
-name of a given buffer. If it matches, the second element will be used as the
-VCS type.
-
-5.2 VCSCommand events *vcscommand-events*
-
-For additional customization, vcscommand can trigger user-defined events.
-Event handlers are provided by defining User event autocommands (see
-|autocommand|, |User|) in the vcscommand group with patterns matching the
-event name.
-
-For instance, the following could be added to the vimrc to provide a 'q'
-mapping to quit a vcscommand scratch buffer:
-
-augroup VCSCommand
- au User VCSBufferCreated silent! nmap <unique> <buffer> q :bwipeout<cr>
-augroup END
-
-The following hooks are available:
-
-VCSBufferCreated This event is fired just after a vcscommand
- result buffer is created and populated. It is
- executed within the context of the vcscommand
- buffer. The vcscommand buffer variables may
- be useful for handlers of this event (please
- see |vcscommand-buffer-variables|).
-
-VCSBufferSetup This event is fired just after vcscommand buffer
- setup occurs, if enabled.
-
-VCSPluginInit This event is fired when the vcscommand plugin
- first loads.
-
-VCSPluginFinish This event is fired just after the vcscommand
- plugin loads.
-
-VCSVimDiffFinish This event is fired just after the VCSVimDiff
- command executes to allow customization of,
- for instance, window placement and focus.
-
-Additionally, there is another hook which is used internally to handle loading
-the multiple scripts in order. This hook should probably not be used by an
-end user without a good idea of how it works. Among other things, any events
-associated with this hook are cleared after they are executed (during
-vcscommand.vim script initialization).
-
-VCSLoadExtensions This event is fired just before the
- VCSPluginFinish. It is used internally to
- execute any commands from the VCS
- implementation plugins that needs to be
- deferred until the primary plugin is
- initialized.
-
-5.3 vcscommand buffer naming *vcscommand-naming*
-
-vcscommand result buffers use the following naming convention:
-[{VCS type} {VCS command} {Source file name}]
-
-If additional buffers are created that would otherwise conflict, a
-distinguishing number is added:
-
-[{VCS type} {VCS command} {Source file name}] (1,2, etc)
-
-5.4 vcscommand status line support *vcscommand-statusline*
-
-It is intended that the user will customize the |'statusline'| option to
-include vcscommand result buffer attributes. A sample function that may be
-used in the |'statusline'| option is provided by the plugin,
-VCSCommandGetStatusLine(). In order to use that function in the status line, do
-something like the following:
-
-set statusline=%<%f\ %{VCSCommandGetStatusLine()}\ %h%m%r%=%l,%c%V\ %P
-
-of which %{VCSCommandGetStatusLine()} is the relevant portion.
-
-The sample VCSCommandGetStatusLine() function handles both vcscommand result
-buffers and VCS-managed files if vcscommand buffer management is enabled
-(please see |vcscommand-buffer-management|).
-
-5.5 vcscommand buffer management *vcscommand-buffer-management*
-
-The vcscommand plugin can operate in buffer management mode, which means that
-it attempts to set a buffer variable ('VCSCommandBufferInfo') upon entry into
-a buffer. This is rather slow because it means that the VCS will be invoked
-at each entry into a buffer (during the |BufEnter| autocommand).
-
-This mode is disabled by default. In order to enable it, set the
-|VCSCommandEnableBufferSetup| variable to a true (non-zero) value. Enabling
-this mode simply provides the buffer variable mentioned above. The user must
-explicitly include information from the variable in the |'statusline'| option
-if they are to appear in the status line (but see |vcscommand-statusline| for
-a simple way to do that).
-
-The 'VCSCommandBufferInfo' variable is a list which contains, in order, the
-revision of the current file, the latest revision of the file in the
-repository, and (for CVS) the name of the branch. If those values cannot be
-determined, the list is a single element: 'Unknown'.
-
-==============================================================================
-
-6. SSH "integration" *vcscommand-ssh*
-
-The following instructions are intended for use in integrating the
-vcscommand.vim plugin with an SSH-based CVS environment.
-
-Familiarity with SSH and CVS are assumed.
-
-These instructions assume that the intent is to have a message box pop up in
-order to allow the user to enter a passphrase. If, instead, the user is
-comfortable using certificate-based authentication, then only instructions
-6.1.1 and 6.1.2 (and optionally 6.1.4) need to be followed; ssh should then
-work transparently.
-
-6.1 Environment settings *vcscommand-ssh-env*
-
-6.1.1 CVSROOT should be set to something like:
-
- :ext:user@host:/path_to_repository
-
-6.1.2 CVS_RSH should be set to:
-
- ssh
-
- Together, those settings tell CVS to use ssh as the transport when
- performing CVS calls.
-
-6.1.3 SSH_ASKPASS should be set to the password-dialog program. In my case,
- running gnome, it's set to:
-
- /usr/libexec/openssh/gnome-ssh-askpass
-
- This tells SSH how to get passwords if no input is available.
-
-6.1.4 OPTIONAL. You may need to set SSH_SERVER to the location of the cvs
- executable on the remote (server) machine.
-
-6.2 CVS wrapper program *vcscommand-ssh-wrapper*
-
-Now you need to convince SSH to use the password-dialog program. This means
-you need to execute SSH (and therefore CVS) without standard input. The
-following script is a simple perl wrapper that dissasociates the CVS command
-from the current terminal. Specific steps to do this may vary from system to
-system; the following example works for me on linux.
-
-#!/usr/bin/perl -w
-use strict;
-use POSIX qw(setsid);
-open STDIN, '/dev/null';
-fork and do {wait; exit;};
-setsid;
-exec('cvs', @ARGV);
-
-6.3 Configuring vcscommand.vim *vcscommand-ssh-config*
-
-At this point, you should be able to use your wrapper script to invoke CVS with
-various commands, and get the password dialog. All that's left is to make CVS
-use your newly-created wrapper script.
-
-6.3.1 Tell vcscommand.vim what CVS executable to use. The easiest way to do this
- is globally, by putting the following in your .vimrc:
-
- let VCSCommandCVSExec=/path/to/cvs/wrapper/script
-
-6.4 Where to go from here *vcscommand-ssh-other*
-
-The script given above works even when non-SSH CVS connections are used,
-except possibly when interactively entering the message for CVS commit log
-(depending on the editor you use... VIM works fine). Since the vcscommand.vim
-plugin handles that message without a terminal, the wrapper script can be used
-all the time.
-
-This allows mixed-mode operation, where some work is done with SSH-based CVS
-repositories, and others with pserver or local access.
-
-It is possible, though beyond the scope of the plugin, to dynamically set the
-CVS executable based on the CVSROOT for the file being edited. The user
-events provided (such as VCSBufferCreated and VCSBufferSetup) can be used to
-set a buffer-local value (b:VCSCommandCVSExec) to override the CVS executable
-on a file-by-file basis. Alternatively, much the same can be done (less
-automatically) by the various project-oriented plugins out there.
-
-It is highly recommended for ease-of-use that certificates with no passphrase
-or ssh-agent are employed so that the user is not given the password prompt
-too often.
-
-==============================================================================
-
-7. Changes from cvscommand *cvscommand-changes*
-
-1. Require Vim 7 in order to leverage several convenient features; also
-because I wanted to play with Vim 7.
-
-2. Renamed commands to start with 'VCS' instead of 'CVS'. The exceptions are
-the 'CVSEdit' and 'CVSWatch' family of commands, which are specific to CVS.
-
-3. Renamed options, events to start with 'VCSCommand'.
-
-4. Removed option to jump to the parent version of the current line in an
-annotated buffer, as opposed to the version on the current line. This made
-little sense in the branching scheme used by subversion, where jumping to a
-parent branch required finding a different location in the repository. It
-didn't work consistently in CVS anyway.
-
-5. Removed option to have nameless scratch buffers.
-
-6. Changed default behavior of scratch buffers to split the window instead of
-displaying in the current window. This may still be overridden using the
-'VCSCommandEdit' option.
-
-7. Split plugin into multiple plugins.
-
-8. Added 'VCSLock' and 'VCSUnlock' commands. These are implemented for
-subversion but not for CVS. These were not kept specific to subversion as they
-seemed more general in nature and more likely to be supported by any future VCS
-supported by this plugin.
-
-9. Changed name of buffer variables set by commands.
-
-'b:cvsOrigBuffNR' became 'b:VCSCommandOriginalBuffer'
-'b:cvscmd' became 'b:VCSCommandCommand'
-
-10. Added new automatic variables to command result buffers.
-
-'b:VCSCommandSourceFile'
-'b:VCSCommandVCSType'
-
-==============================================================================
-
-8. Known bugs *vcscommand-bugs*
-
-Please let me know if you run across any.
-
-CVSUnedit may, if a file is changed from the repository, provide prompt text
-to determine whether the changes should be thrown away. Currently, that text
-shows up in the CVS result buffer as information; there is no way for the user
-to actually respond to the prompt and the CVS unedit command does nothing. If
-this really bothers anyone, please let me know.
-
-VCSVimDiff, when using the original (real) source buffer as one of the diff
-buffers, uses some hacks to try to restore the state of the original buffer
-when the scratch buffer containing the other version is destroyed. There may
-still be bugs in here, depending on many configuration details.
-
-vim:tw=78:ts=8:ft=help