From da8114758e333b9860e67fea7a8c5d7fca3707c2 Mon Sep 17 00:00:00 2001 From: yongyu-lee Date: Mon, 20 Oct 2014 16:22:20 +0900 Subject: [PATCH] add setup resources --- Setup.md | 8 + resources/.tmux.conf | 54 + resources/.vim/.netrwhist | 5 + resources/.vim/bufexplorer.zip | Bin 0 -> 18603 bytes resources/.vim/doc/bufexplorer.txt | 513 +++ resources/.vim/doc/taglist.txt | 1501 +++++++ resources/.vim/doc/tags | 110 + resources/.vim/doc/winmanager.txt | 503 +++ resources/.vim/plugin/bufexplorer.vim | 1162 ++++++ resources/.vim/plugin/ipy.vim | 665 +++ resources/.vim/plugin/taglist.vim | 4545 +++++++++++++++++++++ resources/.vim/plugin/winfileexplorer.vim | 1490 +++++++ resources/.vim/plugin/winmanager.vim | 1328 ++++++ resources/.vim/plugin/wintagexplorer.vim | 510 +++ resources/.vim/taglist_45.zip | Bin 0 -> 50243 bytes resources/.vim/winmanager.zip | Bin 0 -> 36327 bytes resources/.vimrc | 321 ++ resources/.zshrc | 81 + 18 files changed, 12796 insertions(+) create mode 100644 Setup.md create mode 100644 resources/.tmux.conf create mode 100644 resources/.vim/.netrwhist create mode 100644 resources/.vim/bufexplorer.zip create mode 100644 resources/.vim/doc/bufexplorer.txt create mode 100755 resources/.vim/doc/taglist.txt create mode 100644 resources/.vim/doc/tags create mode 100644 resources/.vim/doc/winmanager.txt create mode 100644 resources/.vim/plugin/bufexplorer.vim create mode 100644 resources/.vim/plugin/ipy.vim create mode 100644 resources/.vim/plugin/taglist.vim create mode 100644 resources/.vim/plugin/winfileexplorer.vim create mode 100644 resources/.vim/plugin/winmanager.vim create mode 100644 resources/.vim/plugin/wintagexplorer.vim create mode 100644 resources/.vim/taglist_45.zip create mode 100644 resources/.vim/winmanager.zip create mode 100644 resources/.vimrc create mode 100644 resources/.zshrc diff --git a/Setup.md b/Setup.md new file mode 100644 index 000000000..2cbe90714 --- /dev/null +++ b/Setup.md @@ -0,0 +1,8 @@ +* change ZSH_THEME and import git-prompt in ~/.zshrc + * ZSH_THEME="my" + * source $ZSH/git-prompt/zshrc.sh +* copy these files from resources directory to home directory + * .vimrc + * .vim + * .tmux.conf + diff --git a/resources/.tmux.conf b/resources/.tmux.conf new file mode 100644 index 000000000..6744cd7b6 --- /dev/null +++ b/resources/.tmux.conf @@ -0,0 +1,54 @@ +# option +set-option -g status-keys vi +set-option -g status-utf8 on +set-option -g default-terminal 'screen-256color' +set-option -g default-shell '/bin/zsh' + +set-option -g status-fg magenta +set-option -g status-bg default +set-option -g status-left-length 20 +set-option -g status-left ' #[fg=green]#(whoami)#[default]@#[fg=cyan]#h#[default]' +set-option -g status-right "#[fg=yellow]#(date +'%a %m/%d %H:%M') " + +set-option -g pane-border-bg white + +# window-option +set-window-option -g mode-keys vi +set-window-option -g utf8 on +set-window-option -g monitor-activity on +set-window-option -g monitor-content '%alert%' +set-window-option -g window-status-content-attr reverse +set-window-option -g window-status-content-fg red +set-window-option -g window-status-content-bg default + +set-window-option -g window-status-current-attr bright +set-window-option -g window-status-current-fg yellow +set-window-option -g window-status-current-bg default +set-window-option -g window-status-format '#I:#W[#P]#F' +set-window-option -g window-status-current-format '#I:#W[#P]#F' + +set-option -g pane-active-border-bg green + +# bind key +bind-key -n C-e command-prompt + +unbind-key % +bind-key | split-window -h +bind-key - split-window -v + +bind-key -n C-w choose-window + +bind-key h select-pane -L +bind-key j select-pane -D +bind-key k select-pane -U +unbind-key l +bind-key l select-pane -R + +bind-key -n C-o last-window + +bind-key -n M-o run-shell "tmux swap-pane -U; tmux last-pane " + +bind-key [ copy -u +bind-key -n C-] paste + +bind-key -t vi-copy Y copy-line diff --git a/resources/.vim/.netrwhist b/resources/.vim/.netrwhist new file mode 100644 index 000000000..f01bded7b --- /dev/null +++ b/resources/.vim/.netrwhist @@ -0,0 +1,5 @@ +let g:netrw_dirhistmax =10 +let g:netrw_dirhist_cnt =3 +let g:netrw_dirhist_1='/Users/ri_eiyoku/Documents' +let g:netrw_dirhist_2='/Users/ri_eiyoku/Documents/yy1441yy_backup' +let g:netrw_dirhist_3='/Users/ri_eiyoku/Documents/yy1441yy_backup/server-configure' diff --git a/resources/.vim/bufexplorer.zip b/resources/.vim/bufexplorer.zip new file mode 100644 index 0000000000000000000000000000000000000000..167e0643a225462c0be6114855c10f4f4febba5f GIT binary patch literal 18603 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 literal 0 HcmV?d00001 diff --git a/resources/.vim/doc/bufexplorer.txt b/resources/.vim/doc/bufexplorer.txt new file mode 100644 index 000000000..06e922375 --- /dev/null +++ b/resources/.vim/doc/bufexplorer.txt @@ -0,0 +1,513 @@ +*bufexplorer.txt* Buffer Explorer Last Change: 22 Oct 2010 + +Buffer Explorer *buffer-explorer* *bufexplorer* + Version 7.2.8 + +Plugin for easily exploring (or browsing) Vim |:buffers|. + +|bufexplorer-installation| Installation +|bufexplorer-usage| Usage +|bufexplorer-windowlayout| Window Layout +|bufexplorer-customization| Customization +|bufexplorer-changelog| Change Log +|bufexplorer-todo| Todo +|bufexplorer-credits| Credits + +For Vim version 7.0 and above. +This plugin is only available if 'compatible' is not set. + +{Vi does not have any of this} + +============================================================================== +INSTALLATION *bufexplorer-installation* + +To install: + - Download the bufexplorer.zip. + - Extract the zip archive into your runtime directory. + The archive contains plugin/bufexplorer.vim, and doc/bufexplorer.txt. + - Start Vim or goto an existing instance of Vim. + - Execute the following command: +> + :helptag /doc +< + This will generate all the help tags for any file located in the doc + directory. + +============================================================================== +USAGE *bufexplorer-usage* + +To start exploring in the current window, use: > + \be or :BufExplorer +To start exploring in a newly split horizontal window, use: > + \bs or :BufExplorerHorizontalSplit +To start exploring in a newly split vertical window, use: > + \bv or :BufExplorerVerticalSplit + +If you would like to use something other than '\', you may simply change the +leader (see |mapleader|). + +Note: If the current buffer is modified when bufexplorer started, the current + window is always split and the new bufexplorer is displayed in that new + window. + +Commands to use once exploring: + + Toggle help information. + Opens the buffer that is under the cursor into the current + window. + Opens the buffer that is under the cursor into the current + window. + Opens the buffer that is under the cursor in another tab. + d |:delete|the buffer under the cursor from the list. The + buffer's 'buflisted' is cleared. This allows for the buffer to + be displayed again using the 'show unlisted' command. + R Toggles relative path/absolute path. + T Toggles to show only buffers for this tab or not. + D |:wipeout|the buffer under the cursor from the list. When a + buffers is wiped, it will not be shown when unlisted buffer are + displayed. + f Toggles whether you are taken to the active window when + selecting a buffer or not. + o Opens the buffer that is under the cursor into the current + window. + p Toggles the showing of a split filename/pathname. + q Quit exploring. + r Reverses the order the buffers are listed in. + s Selects the order the buffers are listed in. Either by buffer + number, file name, file extension, most recently used (MRU), or + full path. + t Opens the buffer that is under the cursor in another tab. + u Toggles the showing of "unlisted" buffers. + +Once invoked, Buffer Explorer displays a sorted list (MRU is the default +sort method) of all the buffers that are currently opened. You are then +able to move the cursor to the line containing the buffer's name you are +wanting to act upon. Once you have selected the buffer you would like, +you can then either open it, close it(delete), resort the list, reverse +the sort, quit exploring and so on... + +=============================================================================== +WINDOW LAYOUT *bufexplorer-windowlayout* + +------------------------------------------------------------------------------- +" Press for Help +" Sorted by mru | Locate buffer | Absolute Split path +"= + 01 %a bufexplorer.txt C:\Vim\vimfiles\doc line 87 + 02 # bufexplorer.vim c:\Vim\vimfiles\plugin line 1 +------------------------------------------------------------------------------- + | | | | | + | | | | +-- Current Line #. + | | | +-- Relative/Full Path + | | +-- Buffer Name. + | +-- Buffer Attributes. See|:buffers|for more information. + +-- Buffer Number. See|:buffers|for more information. + +=============================================================================== +CUSTOMIZATION *bufexplorer-customization* + + *g:bufExplorerChgWin* +If set, bufexplorer will bring up the selected buffer in the window specified +by g:bufExplorerChgWin. + + *g:bufExplorerDefaultHelp* +To control whether the default help is displayed or not, use: > + let g:bufExplorerDefaultHelp=0 " Do not show default help. + let g:bufExplorerDefaultHelp=1 " Show default help. +The default is to show the default help. + + *g:bufExplorerDetailedHelp* +To control whether detailed help is display by, use: > + let g:bufExplorerDetailedHelp=0 " Do not show detailed help. + let g:bufExplorerDetailedHelp=1 " Show detailed help. +The default is NOT to show detailed help. + + *g:bufExplorerFindActive* +To control whether you are taken to the active window when selecting a buffer, +use: > + let g:bufExplorerFindActive=0 " Do not go to active window. + let g:bufExplorerFindActive=1 " Go to active window. +The default is to be taken to the active window. + + *g:bufExplorerFuncRef* +When a buffer is selected, the functions specified either singly or as a list +will be called. + + *g:bufExplorerReverseSort* +To control whether to sort the buffer in reverse order or not, use: > + let g:bufExplorerReverseSort=0 " Do not sort in reverse order. + let g:bufExplorerReverseSort=1 " Sort in reverse order. +The default is NOT to sort in reverse order. + + *g:bufExplorerShowDirectories* +Directories usually show up in the list from using a command like ":e .". +To control whether to show directories in the buffer list or not, use: > + let g:bufExplorerShowDirectories=1 " Show directories. + let g:bufExplorerShowDirectories=0 " Don't show directories. +The default is to show directories. + + *g:bufExplorerShowRelativePath* +To control whether to show absolute paths or relative to the current +directory, use: > + let g:bufExplorerShowRelativePath=0 " Show absolute paths. + let g:bufExplorerShowRelativePath=1 " Show relative paths. +The default is to show absolute paths. + + *g:bufExplorerShowTabBuffer* +To control weither or not to show buffers on for the specific tab or not, use: > + let g:bufExplorerShowTabBuffer=0 " No. + let g:bufExplorerShowTabBuffer=1 " Yes. +The default is not to show. + + *g:bufExplorerShowUnlisted* +To control whether to show unlisted buffer or not, use: > + let g:bufExplorerShowUnlisted=0 " Do not show unlisted buffers. + let g:bufExplorerShowUnlisted=1 " Show unlisted buffers. +The default is to NOT show unlisted buffers. + + *g:bufExplorerSortBy* +To control what field the buffers are sorted by, use: > + let g:bufExplorerSortBy='extension' " Sort by file extension. + let g:bufExplorerSortBy='fullpath' " Sort by full file path name. + let g:bufExplorerSortBy='mru' " Sort by most recently used. + let g:bufExplorerSortBy='name' " Sort by the buffer's name. + let g:bufExplorerSortBy='number' " Sort by the buffer's number. +The default is to sort by mru. + + *g:bufExplorerSplitBelow* +To control where the new split window will be placed above or below the +current window, use: > + let g:bufExplorerSplitBelow=1 " Split new window below current. + let g:bufExplorerSplitBelow=0 " Split new window above current. +The default is to use what ever is set by the global &splitbelow +variable. + + *g:bufExplorerSplitOutPathName* +To control whether to split out the path and file name or not, use: > + let g:bufExplorerSplitOutPathName=1 " Split the path and file name. + let g:bufExplorerSplitOutPathName=0 " Don't split the path and file + " name. +The default is to split the path and file name. + + *g:bufExplorerSplitRight* +To control where the new vsplit window will be placed to the left or right of +current window, use: > + let g:bufExplorerSplitRight=0 " Split left. + let g:bufExplorerSplitRight=1 " Split right. +The default is to use the global &splitright. + +=============================================================================== +CHANGE LOG *bufexplorer-changelog* + +7.2.8 - Enhancements: + * Thanks to Charles Campbell for integrating bufexplorer with GDBMGR. + http://mysite.verizon.net/astronaut/vim/index.html#GDBMGR +7.2.7 - Fix: + * My 1st attempt to fix the "cache" issue where buffers information + has changed but the cache/display does not reflect those changes. + More work still needs to be done. +7.2.6 - Fix: + * Thanks to Michael Henry for pointing out that I totally forgot to + update the inline help to reflect the previous change to the 'd' + and 'D' keys. Opps! +7.2.5 - Fix: + * Philip Morant suggested switching the command (bwipe) associated + with the 'd' key with the command (bdelete) associated with the 'D' + key. This made sense since the 'd' key is more likely to be used + compared to the 'D' key. +7.2.4 - Fix: + * I did not implement the patch provided by Godefroid Chapelle + correctly. I missed one line which happened to be the most + important one :) +7.2.3 - Enhancements: + * Thanks to David Fishburn for helping me out with a much needed + code overhaul as well as some awesome performance enhancements. + He also reworked the handling of tabs. + * Thanks to Vladimir Dobriakov for making the suggestions on + enhancing the documentation to include a better explaination of + what is contained in the main bufexplorer window. + * Thanks to Yuriy Ershov for added code that when the bufexplorer + window is opened, the cursor is now positioned at the line with the + active buffer (useful in non-MRU sort modes). + * Yuriy also added the abiltiy to cycle through the sort fields in + reverse order. + Fixes: + * Thanks to Michael Henry for supplying a patch that allows + bufexplorer to be opened even when there is one buffer or less. + * Thanks to Godefroid Chapelle for supplying a patch that fixed + MRU sort order after loading a session. +7.2.2 - Fixes: + * Thanks to David L. Dight for spotting and fixing an issue when + using ctrl^. bufexplorer would incorrectly handle the previous + buffer so that when ctrl^ was pressed the incorrect file was opened. +7.2.1 - Fixes: + * Thanks to Dimitar for spotting and fixing a feature that was + inadvertently left out of the previous version. The feature was + when bufexplorer was used together with WinManager, you could use + the tab key to open a buffer in a split window. +7.2.0 - Enhancements: + * For all those missing the \bs and \bv commands, these have now + returned. Thanks to Phil O'Connell for asking for the return of + these missing features and helping test out this version. + Fixes: + * Fixed problem with the bufExplorerFindActive code not working + correctly. + * Fixed an incompatibility between bufexplorer and netrw that caused + buffers to be incorrectly removed from the MRU list. +7.1.7 - Fixes: + * TaCahiroy fixed several issues related to opening a buffer in a + tab. +7.1.6 - Fixes: + * Removed ff=unix from modeline in bufexplorer.txt. Found by Bill + McCarthy. +7.1.5 - Fixes: + * Could not open unnamed buffers. Fixed by TaCahiroy. +7.1.4 - Fixes: + * Sometimes when a file's path has 'white space' in it, extra buffers + would be created containing each piece of the path. i.e: + opening c:\document and settings\test.txt would create a buffer + named "and" and a buffer named "Documents". This was reported and + fixed by TaCa Yoss. +7.1.3 - Fixes: + * Added code to allow only one instance of the plugin to run at a + time. Thanks Dennis Hostetler. +7.1.2 - Fixes: + * Fixed a jumplist issue spotted by JiangJun. I overlooked the + 'jumplist' and with a couple calls to 'keepjumps', everything is + fine again. + * Went back to just having a plugin file, no autoload file. By having + the autoload, WinManager was no longer working and without really + digging into the cause, it was easier to go back to using just a + plugin file. +7.1.1 - Fixes: + * A problem spotted by Thomas Arendsen Hein. + When running Vim (7.1.94), error E493 was being thrown. + Enhancements: + * Added 'D' for 'delete' buffer as the 'd' command was a 'wipe' + buffer. +7.1.0 - Another 'major' update, some by Dave Larson, some by me. + * Making use of 'autoload' now to make the plugin load quicker. + * Removed '\bs' and '\bv'. These are now controlled by the user. The + user can issue a ':sp' or ':vs' to create a horizontal or vertical + split window and then issue a '\be' + * Added handling of tabs. +7.0.17 - Fixed issue with 'drop' command. + Various enhancements and improvements. +7.0.16 - Fixed issue reported by Liu Jiaping on non Windows systems, which was + ... + Open file1, open file2, modify file1, open bufexplorer, you get the + following error: + + --------8<-------- + Error detected while processing function + 14_StartBufExplorer..14_SplitOpen: + line 4: + E37: No write since last change (add ! to override) + + But the worse thing is, when I want to save the current buffer and + type ':w', I get another error message: + E382: Cannot write, 'buftype' option is set + --------8<-------- + +7.0.15 - Thanks to Mark Smithfield for suggesting bufexplorer needed to handle + the ':args' command. +7.0.14 - Thanks to Randall Hansen for removing the requirement of terminal + versions to be recompiled with 'gui' support so the 'drop' command + would work. The 'drop' command is really not needed in terminal + versions. +7.0.13 - Fixed integration with WinManager. + Thanks to Dave Eggum for another update. + - Fix: The detailed help didn't display the mapping for toggling + the split type, even though the split type is displayed. + - Fixed incorrect description in the detailed help for toggling + relative or full paths. + - Deprecated s:ExtractBufferNbr(). Vim's str2nr() does the same + thing. + - Created a s:Set() function that sets a variable only if it hasn't + already been defined. It's useful for initializing all those + default settings. + - Removed checks for repetitive command definitions. They were + unnecessary. + - Made the help highlighting a little more fancy. + - Minor reverse compatibility issue: Changed ambiguous setting + names to be more descriptive of what they do (also makes the code + easier to follow): + Changed bufExplorerSortDirection to bufExplorerReverseSort + Changed bufExplorerSplitType to bufExplorerSplitVertical + Changed bufExplorerOpenMode to bufExplorerUseCurrentWindow + - When the BufExplorer window closes, all the file-local marks are + now deleted. This may have the benefit of cleaning up some of the + jumplist. + - Changed the name of the parameter for StartBufExplorer from + "split" to "open". The parameter is a string which specifies how + the buffer will be open, not if it is split or not. + - Deprecated DoAnyMoreBuffersExist() - it is a one line function + only used in one spot. + - Created four functions (SplitOpen(), RebuildBufferList(), + UpdateHelpStatus() and ReSortListing()) all with one purpose - to + reduce repeated code. + - Changed the name of AddHeader() to CreateHelp() to be more + descriptive of what it does. It now returns an array instead of + updating the window directly. This has the benefit of making the + code more efficient since the text the function returns is used a + little differently in the two places the function is called. + - Other minor simplifications. +7.0.12 - MAJOR Update. + This version will ONLY run with Vim version 7.0 or greater. + Dave Eggum has made some 'significant' updates to this latest + version: + - Added BufExplorerGetAltBuf() global function to be used in the + user’s rulerformat. + - Added g:bufExplorerSplitRight option. + - Added g:bufExplorerShowRelativePath option with mapping. + - Added current line highlighting. + - The split type can now be changed whether bufexplorer is opened + in split mode or not. + - Various major and minor bug fixes and speed improvements. + - Sort by extension. + Other improvements/changes: + - Changed the help key from '?' to to be more 'standard'. + - Fixed splitting of vertical bufexplorer window. + Hopefully I have not forgot something :) +7.0.11 - Fixed a couple of highlighting bugs, reported by David Eggum. He also + changed passive voice to active on a couple of warning messages. +7.0.10 - Fixed bug report by Xiangjiang Ma. If the 'ssl' option is set, + the slash character used when displaying the path was incorrect. +7.0.9 - Martin Grenfell found and eliminated an annoying bug in the + bufexplorer/winmanager integration. The bug was were an + annoying message would be displayed when a window was split or + a new file was opened in a new window. Thanks Martin! +7.0.8 - Thanks to Mike Li for catching a bug in the WinManager integration. + The bug was related to the incorrect displaying of the buffer + explorer's window title. +7.0.7 - Thanks to Jeremy Cowgar for adding a new enhancement. This + enhancement allows the user to press 'S', that is capital S, which + will open the buffer under the cursor in a newly created split + window. +7.0.6 - Thanks to Larry Zhang for finding a bug in the "split" buffer code. + If you force set g:bufExplorerSplitType='v' in your vimrc, and if you + tried to do a \bs to split the bufexplorer window, it would always + split horizontal, not vertical. He also found that I had a typeo in + that the variable g:bufExplorerSplitVertSize was all lower case in + the documentation which was incorrect. +7.0.5 - Thanks to Mun Johl for pointing out a bug that if a buffer was + modified, the '+' was not showing up correctly. +7.0.4 - Fixed a problem discovered first by Xiangjiang Ma. Well since I've + been using vim 7.0 and not 6.3, I started using a function (getftype) + that is not in 6.3. So for backward compatibility, I conditionaly use + this function now. Thus, the g:bufExplorerShowDirectories feature is + only available when using vim 7.0 and above. +7.0.3 - Thanks to Erwin Waterlander for finding a problem when the last + buffer was deleted. This issue got me to rewrite the buffer display + logic (which I've wanted to do for sometime now). + Also great thanks to Dave Eggum for coming up with idea for + g:bufExplorerShowDirectories. Read the above information about this + feature. +7.0.2 - Thanks to Thomas Arendsen Hein for finding a problem when a user + has the default help turned off and then brought up the explorer. An + E493 would be displayed. +7.0.1 - Thanks to Erwin Waterlander for finding a couple problems. + The first problem allowed a modified buffer to be deleted. Opps! The + second problem occurred when several files were opened, BufExplorer + was started, the current buffer was deleted using the 'd' option, and + then BufExplorer was exited. The deleted buffer was still visible + while it is not in the buffers list. Opps again! +7.0.0 - Thanks to Shankar R. for suggesting to add the ability to set + the fixed width (g:bufExplorerSplitVertSize) of a new window + when opening bufexplorer vertically and fixed height + (g:bufExplorerSplitHorzSize) of a new window when opening + bufexplorer horizontally. By default, the windows are normally + split to use half the existing width or height. +6.3.0 - Added keepjumps so that the jumps list would not get cluttered with + bufexplorer related stuff. +6.2.3 - Thanks to Jay Logan for finding a bug in the vertical split position + of the code. When selecting that the window was to be split + vertically by doing a '\bv', from then on, all splits, i.e. '\bs', + were split vertically, even though g:bufExplorerSplitType was not set + to 'v'. +6.2.2 - Thanks to Patrik Modesto for adding a small improvement. For some + reason his bufexplorer window was always showing up folded. He added + 'setlocal nofoldenable' and it was fixed. +6.2.1 - Thanks goes out to Takashi Matsuo for added the 'fullPath' sorting + logic and option. +6.2.0 - Thanks goes out to Simon Johann-Ganter for spotting and fixing a + problem in that the last search pattern is overridden by the search + pattern for blank lines. +6.1.6 - Thanks to Artem Chuprina for finding a pesky bug that has been around + for sometime now. The key mapping was causing the buffer + explored to close prematurely when vim was run in an xterm. The + key mapping is now removed. +6.1.5 - Thanks to Khorev Sergey. Added option to show default help or not. +6.1.4 - Thanks goes out to Valery Kondakoff for suggesting the addition of + setlocal nonumber and foldcolumn=0. This allows for line numbering + and folding to be turned off temporarily while in the explorer. +6.1.3 - Added folding. Did some code cleanup. Added the ability to force the + newly split window to be temporarily vertical, which was suggested by + Thomas Glanzmann. +6.1.2 - Now pressing the key will quit, just like 'q'. + Added folds to hide winmanager configuration. + If anyone had the 'C' option in their cpoptions they would receive + a E10 error on startup of BufExplorer. cpo is now saved, updated and + restored. Thanks to Charles E Campbell, Jr. + Attempted to make sure there can only be one BufExplorer window open + at a time. +6.1.1 - Thanks to Brian D. Goodwin for adding toupper to FileNameCmp. This + way buffers sorted by name will be in the correct order regardless of + case. +6.0.16 - Thanks to Andre Pang for the original patch/idea to get bufexplorer + to work in insertmode/modeless mode (evim). Added Initialize + and Cleanup autocommands to handle commands that need to be + performed when starting or leaving bufexplorer. +6.0.15 - Srinath Avadhanulax added a patch for winmanager.vim. +6.0.14 - Fix a few more bug that I thought I already had fixed. Thanks + to Eric Bloodworth for adding 'Open Mode/Edit in Place'. Added + vertical splitting. +6.0.13 - Thanks to Charles E Campbell, Jr. for pointing out some embarrassing + typos that I had in the documentation. I guess I need to run + the spell checker more :o) +6.0.12 - Thanks to Madoka Machitani, for the tip on adding the augroup command + around the MRUList autocommands. +6.0.11 - Fixed bug report by Xiangjiang Ma. '"=' was being added to the + search history which messed up hlsearch. +6.0.10 - Added the necessary hooks so that the Srinath Avadhanula's + winmanager.vim script could more easily integrate with this script. + Tried to improve performance. +6.0.9 - Added MRU (Most Recently Used) sort ordering. +6.0.8 - Was not resetting the showcmd command correctly. + Added nifty help file. +6.0.7 - Thanks to Brett Carlane for some great enhancements. Some are added, + some are not, yet. Added highlighting of current and alternate + filenames. Added splitting of path/filename toggle. Reworked + ShowBuffers(). + Changed my email address. +6.0.6 - Copyright notice added. Needed this so that it could be distributed + with Debian Linux. Fixed problem with the SortListing() function + failing when there was only one buffer to display. +6.0.5 - Fixed problems reported by David Pascoe, in that you where unable to + hit 'd' on a buffer that belonged to a files that no longer existed + and that the 'yank' buffer was being overridden by the help text when + the bufexplorer was opened. +6.0.4 - Thanks to Charles Campbell, Jr. for making this plugin more plugin + *compliant*, adding default keymappings of be and bs + as well as fixing the 'w:sortDirLabel not being defined' bug. +6.0.3 - Added sorting capabilities. Sort taken from explorer.vim. +6.0.2 - Can't remember. (2001-07-25) +6.0.1 - Initial release. + +=============================================================================== +TODO *bufexplorer-todo* + +- Nothing as of now, buf if you have any suggestions, drop me an email. + +=============================================================================== +CREDITS *bufexplorer-credits* + +Author: Jeff Lanzarotta + +Credit must go out to Bram Moolenaar and all the Vim developers for +making the world's best editor (IMHO). I also want to thank everyone who +helped and gave me suggestions. I wouldn't want to leave anyone out so I +won't list names. + +=============================================================================== +vim:tw=78:noet:wrap:ts=8:ft=help:norl: diff --git a/resources/.vim/doc/taglist.txt b/resources/.vim/doc/taglist.txt new file mode 100755 index 000000000..6a62b3963 --- /dev/null +++ b/resources/.vim/doc/taglist.txt @@ -0,0 +1,1501 @@ +*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 key to toggle the taglist window. +> + nnoremap :TlistToggle +< +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 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 key +or by double clicking the file name using the mouse. + +In the taglist window, you can use the [[ or key to jump to the +beginning of the previous file. You can use the ]] or 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 . + +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 +< +To load a saved taglist session, use the ":TlistSessionLoad" command: > + + :TlistSessionLoad +< +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~ + + 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. + 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 + Jump to the beginning of the previous file + ]] Jump to the beginning of the next file + Jump to the beginning of the next file + q Close the taglist window + 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-" command to get help on the various taglist +topics. + +You can press the key in the taglist window to display the help +information about using the taglist window. If you again press the 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 + + ;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 +< + 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/resources/.vim/doc/tags b/resources/.vim/doc/tags new file mode 100644 index 000000000..0c083f081 --- /dev/null +++ b/resources/.vim/doc/tags @@ -0,0 +1,110 @@ +'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'* +: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* +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()* +WinManagerFileEdit winmanager.txt /*WinManagerFileEdit* +WinManagerForceReSize winmanager.txt /*WinManagerForceReSize* +WinManagerResumeAUs winmanager.txt /*WinManagerResumeAUs* +WinManagerSuspendAUs winmanager.txt /*WinManagerSuspendAUs* +bufexplorer bufexplorer.txt /*bufexplorer* +bufexplorer-changelog bufexplorer.txt /*bufexplorer-changelog* +bufexplorer-credits bufexplorer.txt /*bufexplorer-credits* +bufexplorer-customization bufexplorer.txt /*bufexplorer-customization* +bufexplorer-installation bufexplorer.txt /*bufexplorer-installation* +bufexplorer-todo bufexplorer.txt /*bufexplorer-todo* +bufexplorer-usage bufexplorer.txt /*bufexplorer-usage* +bufexplorer-windowlayout bufexplorer.txt /*bufexplorer-windowlayout* +bufexplorer.txt bufexplorer.txt /*bufexplorer.txt* +buffer-explorer bufexplorer.txt /*buffer-explorer* +g:bufExplorerChgWin bufexplorer.txt /*g:bufExplorerChgWin* +g:bufExplorerDefaultHelp bufexplorer.txt /*g:bufExplorerDefaultHelp* +g:bufExplorerDetailedHelp bufexplorer.txt /*g:bufExplorerDetailedHelp* +g:bufExplorerFindActive bufexplorer.txt /*g:bufExplorerFindActive* +g:bufExplorerFuncRef bufexplorer.txt /*g:bufExplorerFuncRef* +g:bufExplorerReverseSort bufexplorer.txt /*g:bufExplorerReverseSort* +g:bufExplorerShowDirectories bufexplorer.txt /*g:bufExplorerShowDirectories* +g:bufExplorerShowRelativePath bufexplorer.txt /*g:bufExplorerShowRelativePath* +g:bufExplorerShowTabBuffer bufexplorer.txt /*g:bufExplorerShowTabBuffer* +g:bufExplorerShowUnlisted bufexplorer.txt /*g:bufExplorerShowUnlisted* +g:bufExplorerSortBy bufexplorer.txt /*g:bufExplorerSortBy* +g:bufExplorerSplitBelow bufexplorer.txt /*g:bufExplorerSplitBelow* +g:bufExplorerSplitOutPathName bufexplorer.txt /*g:bufExplorerSplitOutPathName* +g:bufExplorerSplitRight bufexplorer.txt /*g:bufExplorerSplitRight* +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* +winmanager winmanager.txt /*winmanager* +winmanager-adding winmanager.txt /*winmanager-adding* +winmanager-bufexplorer-settings winmanager.txt /*winmanager-bufexplorer-settings* +winmanager-bug winmanager.txt /*winmanager-bug* +winmanager-commands winmanager.txt /*winmanager-commands* +winmanager-customizing winmanager.txt /*winmanager-customizing* +winmanager-details winmanager.txt /*winmanager-details* +winmanager-fileexplorer-settings winmanager.txt /*winmanager-fileexplorer-settings* +winmanager-hook-isvalid winmanager.txt /*winmanager-hook-isvalid* +winmanager-hook-refresh winmanager.txt /*winmanager-hook-refresh* +winmanager-hook-resize winmanager.txt /*winmanager-hook-resize* +winmanager-hook-start winmanager.txt /*winmanager-hook-start* +winmanager-hook-title winmanager.txt /*winmanager-hook-title* +winmanager-hooks winmanager.txt /*winmanager-hooks* +winmanager-installing winmanager.txt /*winmanager-installing* +winmanager-overview winmanager.txt /*winmanager-overview* +winmanager-plugin winmanager.txt /*winmanager-plugin* +winmanager-settings winmanager.txt /*winmanager-settings* +winmanager-thanks winmanager.txt /*winmanager-thanks* +winmanager-updates winmanager.txt /*winmanager-updates* diff --git a/resources/.vim/doc/winmanager.txt b/resources/.vim/doc/winmanager.txt new file mode 100644 index 000000000..fed519850 --- /dev/null +++ b/resources/.vim/doc/winmanager.txt @@ -0,0 +1,503 @@ +*winmanager* Plugin for a classical Windows style IDE for Vim 6.0 + For Vim version 6.0. + Last Change: Sun Mar 31 11:00 PM 2002 PST + + By Srinath Avadhanula + (srinath@fastmail.fm) + + *winmanager-plugin* + +winmanager.vim is a plugin which implements a classical windows type IDE in +Vim-6.0, where the directory and buffer browsers are displayed in 2 windows on +the left and the current editing is done on the right. When you open up a new +vim window, simply type in :WMToggle. This will start up winmanager. + +Note This plugin is available only if 'compatible' is not set + You can avoid loading this plugin by setting the "loaded_winmanager" + variable > + :let loaded_winmanager = 1 + +{Vi does not have any of this} +=========================================================================== +OVERVIEW *winmanager-overview* + +|winmanager-installing| Please follow these instructions for installing + winmanager. + +|winmanager-customizing| Describes ways of customizing the window layout, i.e + how to club various explorers into groups, how to + change their relative position, etc. + +|winmanager-details| details of using winmanager. keyboard shortcuts + and other usage details. + +|winmanager-commands| commands provided to the user. its useful to + set keyboard shortcuts to these commands. + +|winmanager-settings| settings (typically made in ~/.vimrc) which + affect the behavior of winmanager. + +|winmanager-adding| one of the most important new features of this + version is the creation of a framework whereby adding + other plugins like explorer.vim or bufexplorer.vim to + winmanager. This section describes briefly the + implementation of winmanager and then describes how + to add a new plugin to winmanager + +|add-local-help| how to use this text file as a vim help file. +|winmanager-bug| bug reports are welcome. +|winmanager-thanks| thanks to the many people who helped! + +=========================================================================== +UPDATES *winmanager-updates* + +The official releases can be found at: > + http://vim.sourceforge.net/scripts/script.php?script_id=95 +However, I will only update the vim.sf.net version of winmanager.zip in case +of a major bug or new feature. For small (and not so bothersome) bug-fixes, I +will put the latest version at: > + http://robotics.eecs.berkeley.edu/~srinath/vim/winmanager-2.0.htm +and also announce it in vim@vim.org when an update occurs. +Therefore if you want to keep to be kept abreast of updates, you could +check occassionally at vim@vim.org. (you can also use your mail server's +filtering capability to effectively subscribe to the announcement). + +============================================================================ +INSTALLING *winmanager-installing* + +winmanager.vim should start working as soon as you restart vim after unzipping +the .zip file you got this from into ~/.vim (unix) or ~\vimfiles (dos) + +winmanager only recognizes plugins whose name appears in the global variable > + g:winManagerWindowLayout +< +By default this global variable has the value > + g:winManagerWindowLayout = 'FileExplorer,TagsExplorer|BufExplorer' +< +(which is the value which winmanager uses if its not set in the user's .vimrc) + +This global variable is responsible for making winmanager recognize the +existence of the explorers and simultaneously custome the window layout. See +the next section for how to set this variable for various custom layouts of +winmanager. + +============================================================================ +CUSTOMIZING *winmanager-customizing* + +The layout of winmanager is controlled by changing the value of the +"g:winManagerWindowLayout" variable. The general form of this variable is +> + g:winManagerWindowLayout = + 'Group1_Member1,Group1_Member2|Group2_Member_1,Group2_Member_2' +< +i.e, explorer "groups" are seperated by the '|' character. Within each group, +individual explorer plugin names are seperated by the comma (',') character. +What winmanager does is display only 1 member from each group in a window. The +user can go to a window and press to display the next explorer belonging +to that group. This ability to "group" windows is valuable to preserve screen +real-estate by using them only as needed. + +Thus for the default value of 'g:winManagerWindowLayout', winmanager will +split the vim window as follows: + +-----------+-------------------+ + | | | + | File | | + | explorer | File being | + | | edited | + | | | + +-----------+ | + | Buffer | | + | explorer | | + | | | + +-----------+-------------------+ + +The user can go the [File List] window and press to goto the +'TagsExplorer' view. + +Removing a plugin name from the 'g:winManagerWindowLayout' variable means +winmanager no longer sees that variable. + +============================================================================ +COMMANDS *winmanager-commands* + +:WMToggle :toggles the visibility of winmanager. This can + also be used to start winmanager for the first + time. A handy mapping is: > + :map :WMToggle +< mnemonic: window-toggle : + +:FirstExplorerWindow :directly takes you to the first explorer window + from the top left corner which is visible. > + :map :FirstExplorerWindow +< mnemonic: window-first : + +:BottomExplorerWindow :directly takes you to the last explorere window + from the top-left which is visible. > + :map :BottomExplorerWindow +< mnemonic: window-last : + +NOTE: winmanager does not provide any mappings by default. These have to set +in the user's .vimrc if you want to use mappings. + +============================================================================ +SETTINGS *winmanager-settings* + +The values of the following global variables should be set in your .vimrc +file if you want a different value than the default: + +g:persistentBehaviour: if set to 0, then as soon as you quit all the files + and only the explorer windows are the ones left, vim will quit. the + default is 1, which means that the explorer windows persist even if + they are the only ones visible. + +g:winManagerWidth: the width of the explorer areas. + (default 25) + +g:defaultExplorer: If you want winmanager to assume the functioning of the + default explorer.vim which ships with vim, set this variable to 0. + (default 1). If this variable is set to 1, then winmanager will behave as + follows: + . if the user starts off vim with a command such as + ":vim some/dir/" then winmanager starts off the window layout with + FileExplorer at the top left window. as of now it changes the + g:windowLayout variable so that file explorer appears in the top left + window. + . if on the other hand the user does ":e some/dir/" while _inside_ vim, + then the behavior is consistent with the original behavior of the + explorer.vim plugin which ships with vim, i.e, the directory is opened + in a buffer and the user can use that to open a file in that window. + Note that the commands ":Explore" and ":Sexplore" are still available if + you set this variable to 1. + winfileexplorer.vim, the modification of explorer.vim which ships with + this version is different from the standard explorer.vim in that it has + display caching. i.e, the directory is read and sorted only the first + time. From the second time on, the directory list is cached in a script + variable so display is faster. + + *winmanager-fileexplorer-settings* +See |explorer| for details. +NOTE: Some of the settings used in explorer.vim are not utlized in +winmanager. + *winmanager-bufexplorer-settings* +g:bufExplorerMaxHeight: the buffer list window dynamicall rescales itself to + occupy only the minimum space required to display all the windows. you + can set a maximum number of lines for this window. (defualt 15) +See |bufexplorer| for details on additional options. +NOTE: Some of the settings used in bufexplorer.vim are not utlized in +winmanager. + +============================================================================= +DETAILED HELP *winmanager-details* + +When winmanager starts up, it divides up the whole vim window into 2 +"regions". The region on the left is the "explorer area" where the various +explorer plugins are displayed. The region on the right is the "file editing +area", where the user works on his current editing session. + + +--------+-------------------+ + | | | + | | 2(i) | + | 1(i) | | + | +-------------------+ + | | | + +--------+ 2(ii) | + | 1(ii) | | + +--------+-------------------+ + +The explorer area (area 1) might contain multiple windows each of which might +contain multiple explorers. In the default configuration (for +g:winManagerWindowLayout = 'FileExplorer,TagsExplorer|BufExplorer'), the first +window can be thought of as containing 2 explorers, the file explorer plugin +and the tags explorer plugin, while the bottom window contains bufexplorer by +itself. + +When a window contains multiple explorers, then the user can cycle between +them by pressing (mnemonic: next) or (mnemonic: previous). + +This section describes the various keyboard shortcuts for the 3 plugins which +are used with winmanager by default. +NOTE: Other plugins might be distributed as add-ins to winmanager. In that +case, please refer to the help which ships with that plugin. + +1. File Explorer plugin +This plugin displays the current directory. Its a modification of the standard +explorer.vim which ships with vim6.0. The following keyboard shortcuts are +available with this plugin: + if on a directory, enters it and displays it in the same + area. If on a file, then opens it in the File Editing Area. + Attempts to open in the same window as the one visited + before, otherwise split open a new window horizontally. if + this sounds a bit confusing, it isnt. its the most intuitive + behaviour that one expects. +<2-leftmouse> (doubleclick) the same as + open the file or directory in a new window in the FileEditing + area. +c change the pwd to the directory currently displayed +C change the currently displayed directory to pwd (converse of + c) this helps in changing to different drives in windows. + i.e, if you are currently on the c: drive and you want to + change to the d: drive, you will have to do + cd d:\ + and then press 'C' in the file explorer area. +s select sort field (size, date, name) +r reverse direction of sort +f add current directory to list of favorites. +R rename file +D delete file (or range of files in visual mode) +- move up one level + refresh the file list + +2. Buffer Explorer plugin +See |bufexplorer-usage| for details. +NOTE: In addition to those shortcuts, winmanager adds the following: + Opens the buffer under the cursor in a split window even if + the current buffer is not modified. + +This window is dynamically rescaled and re-displayed. i.e, when a new window +opens somehwere, the buffer list is automatically updated. also, it tries to +occupy the minimum possible space required to display the files. + +3. File Editing Area +The area where normal editing takes place. The commands in the File Explorer +and Buffer Explorer shouldnt affect the layout of the windows here. Some +mappings which I find useful (which should be placed in your .vimrc if you +plan on using WManager often) is +> + map :BottomExplorerWindow + map :FirstExplorerWindow + map :WMToggle + +Pressing CTRL-W-B should then take you directly to the last explorer window +Similarly pressing CTRL-W-F should take you to the first explorer window. +CTRL-W-T will toggle between the winmanager visible and invisible. + +============================================================================= +ADDING NEW PLUGINS *winmanager-adding* + +This section is of interest only to people who might want to extend winmanager +by adding other plugins to it. The casual user can skip it. + +One of the most important new features of winmanager2.x is the ability to let +other users add IDE type plugins to winmanager.vim with a minimum of effort. +The way winmanager ships, it usually contains the following plugins: +> + (FileExplorer, TagsExplorer) + (BufExplorer) + +i.e, FileExplorer and TagsExplorer occupy one window as a single group, while +BufExplorer occupies another window. "Adding" a plugin means that you will be +able to add a seperate IDE plugin, (call it "YourPlugin" henceforth) either to +one of these groups or seperately by itself. This section describes how to +accomplish this. Although the section is somewhat lengthy, please rest assured +that its really quite simple to do. Have a look at |wintagexplorer|.vim for a +small plugin which accomplishes this. + +To better understand the process, its helpful to give a short description of +the workings of winmanager. When a user wants to use your plugin, he +"registers" it with winmanager, i.e he adds the "name" of the plugin to the +variable g:winManagerWindowLayout in his .vimrc as: + + " this line goes in the user's .vimrc + let g:winManagerWindowLayout = "FileExplorer,TagsExplorer|YourPlugin" + +When winmanager starts up, it remembers the string "YourPlugin" internally as +the plugins "name". (The reason for making this a part of the user's .vimrc +is that that way, he can customize the window layout according to his +preferences). + +In addition to registering, the plugin itself initializes a variable called +the "title" which starts with the name, such as: > + + " this line goes in your script file. + let g:YourPlugin_title = "[My Plugin Title]" + +< +NOTE: Just like the rest of the hooks provided by your plugin, this global +variable name is formed according the rule: g:_title. + +When winmanager starts up, it performs the following 2 actions: + 1. It opens a new file with the "title" provided by the plugin. This + automatically ensures that the same buffer is opened for multiple + invokations of the plugin. + NOTE: It is very important for this reason that the plugin's name be + distinct so that there is a low (ideally zero) probability of a file + with the same name existing on a user's system. + 2. It modifies the "name" string (in this case "YourPlugin") to form + "call YourPlugin_Start()" and then |exec|s this string. Thus winmanager + communicates with your plugin by using a number of such "hooks" or + global functions which all start with the string "YourPlugin" which are + defined in the script file you create. + +In order to enable the dynamic nature of winmanager, where you can have your +plugin change its display every time a |BufEnter| or |BufDelete| event occurs, +it is necessary to provide a few other hooks. Every time a BufEnter or +BufDelete event occurs, winmanager makes a loop over all the visible buffers. +Then it "refreshes" the display of that plugin if it is "invalid". The +following paragraphs describe the hooks that have to be provided to enable +this. + + *winmanager-hooks* + +The following is a list of hooks which should be provided. A few of them are +optional. Consider the case where you want to add a plugin which you have +named "YourPlugin". In the following discussion, a "hook" simply refers to a +globally visible function which is formed according to the rule that it start +with the string "YourPlugin_", where "YourPlugin" is the name of your plugin. + + *winmanager-hook-start* +YourPlugin_Start() This function is called during initialization. It +{Mandatory} can be assumed (and _should_ be) that the focus is + already in the buffer where stuff needs to be + displayed. i.e, the plugin shouldnt open some other + buffer during this function. (i.e, commands such as + ":e", ":vsplit", ":wincmd h" etc in this stage are + bad. If however, you absolutely need to switch + buffers or something which will cause |BufEnter| or + |BufDelete| events, then you need to temporarily + switch winmanager off by using + |WinManagerSuspendAUs|) + + *winmanager-hook-isvalid* +YourPlugin_IsValid() winmanager is dynamic in the sense that it allows the +{Mandatory} plugins to change their displays when a BufEnter event + occurs. At each BufEnter event, winmanager will cycle + through all the visible explorers asking them if + their display is "valid". If it isn't, then they will + be redrawn by calling the next function. + + For plugins such as bufexplorer which change with + every BufEnter, it is sufficient to make this always + return 1. For plugins such as fileexplorer, the + display never changes with the BufEnter even. hence + in its case, it will always return 0. + + *winmanager-hook-refresh* +YourPlugin_Refresh() If the YourPlugin_IsValid() function returns 0, then +{Optional} this function is called to update the display. if the + first function always returns 1, then this function + need not be defined. + NOTE: It is not clear at this time whether this + function is really necessary. It might be obsoleted + in the future. Future versions might call the + _Start() function instead. + NOTE: It has been obsoleted as of version 2.1 + + *winmanager-hook-resize* +YourPlugin_ReSize() The plugins can also be dynamically resizable. (the +{Optional} current bufexplorer which ships with the winmanager + exhibits this behavior). If a plugin creates such a + function, then it will be called after its Refresh() + function. The reason for not letting the plugin make + this a part of its Refresh() function is that + sometimes resizing is not allowed, such as in + instances where there is no window above or below the + plugin to take the slack of a resize. + + +In addition, the plugin should also initialize the following global variable + + *winmanager-hook-title* +g:YourPlugin_title This is the name of the buffer associated with + this plugin. The reason for a title in addition to a + name is that the name should be such that a global + function of that name can be defined. However, the + title can be more descriptive and contain spaces + etc. For example, the present distribution of + FileExplorer has the title "[File List]". Also, + winmanager opens a file with this name (using an + equivalent of ":e g:YourPlugin_title"), which + automatically ensures that new buffers are not eaten + up in multiple invokations of winmanager, toggling + visibility of buffers, etc. + NOTE: It is very important for this reason that the + plugin's name be distinct so that there is a low + (ideally zero) probability of a file with the same + name existing on a user's system. + +In addition to YourPlugin providing winmanager with hooks, winmanager also +provides the following hooks for use by YourPlugin: + + *WinManagerFileEdit* +WinManagerFileEdit({filename}, {split}) + This function _must_ be used when the plugin wants + to open a new file in the file editing area for + editing. Its not sufficient to do something like + ":wincmd p" and then ":e filename", because first of + all the ":wincmd p" command gets screwed + (unfortunately) in the presence of winmanager + because of the (sometimes) large movement winmanager + does over all visible windows to maintain the + dynamic nature. Secondly, doing a simple ":e + filename" will not preserve the @# and the @% + registers properly, causing handy commands such as + |CTRL-^| to totally mis-behave. + + The first argument should be (preferably) the + (complete) name of the file to be opened (including + the full path to it if possible). The second + argument decides whether winmanager should attempt + to open the file in the same window as the last + window or to split a new window to open the file. + + *WinManagerSuspendAUs* +WinManagerSuspendAUs() This makes winmanager stop responding to the + |BufEnter| or |BufDelete| autocommands like it + normally does. Please use this function with care. + You will need to use this when you are performing + some action which causes these events but you dont + want to have winmanager go through the whole + isvalid/refresh cycle. NOTE: Take care to definitely + reset the behavior by using the next function. + + *WinManagerResumeAUs* +WinManagerResumeAUs() This is the converse of |WinManagerSuspendAUs()|. It + makes winmanager start responding to events with the + usual isvalid/refresh cycle. + + *WinManagerForceReSize* +WinManagerForceReSize() Normally, winmanager calls the YourPlugin_ReSize() + function after the YourPlugin_Refresh(). However, + this happens only every |BufEnter| event. When the + plugin performs some function which requires it to + resize even when there was no |BufEnter| or + |BufDelete| event, use this function. Please avoid + making a call to YourPlugin_ReSize() because a + number of safety checks have to be performed before + a resizing is "legal". + +Finally, if you do plan on making an addin to winmanager, feel free to contact +me for help/comments/suggestions. You might also want to take a look at: > + http://robotics.eecs.berkeley.edu/~srinath/vim/explorerSample.vim +for a simple template of an add-in plugin. + +============================================================================= +BUGS *winmanager-bug* + +Please send any comments for improvements or bug-reports to > + srinath@fastmail.fm +If the bug is repeatable, then it will be of great help if a short description +of the events leading to the bug are also given. + +Note "I dont like winmanager" is not a bug report, only an opinion ;-) + +============================================================================= +THANKS *winmanager-thanks* + +I am really grateful to all those who emailed me with bug-reports and comments +for improvement. Most of all, a huge thanks to Xiangjiang Ma for his enormous +support and extremeley helpful QA. + +Other people who helped greatly: + Madoka Machitani: fixed a couple of typos and gave some ideas for making + things more robust. + Colin Dearing: gave many useful suggestions for improvement which lead to + the fast redraw capability of winmanager + Jeff Lanzarotta: for agreeing to make changes to bufexplorer.vim so that + bufexplorer.vim would be compatible with the latest version of + winmanager.vim + + and finally all the great support I got from vim@vim.org and comp.editors + helped a lot. + + +vim:tw=78:et:ts=4:ft=help:norl: diff --git a/resources/.vim/plugin/bufexplorer.vim b/resources/.vim/plugin/bufexplorer.vim new file mode 100644 index 000000000..feca8b782 --- /dev/null +++ b/resources/.vim/plugin/bufexplorer.vim @@ -0,0 +1,1162 @@ +"============================================================================== +" Copyright: Copyright (C) 2001-2010 Jeff Lanzarotta +" Permission is hereby granted to use and distribute this code, +" with or without modifications, provided that this copyright +" notice is copied with it. Like anything else that's free, +" bufexplorer.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 damages +" resulting from the use of this software. +" Name Of File: bufexplorer.vim +" Description: Buffer Explorer Vim Plugin +" Maintainer: Jeff Lanzarotta (delux256-vim at yahoo dot com) +" Last Changed: Friday, 22 October 2010 +" Version: See g:bufexplorer_version for version number. +" Usage: This file should reside in the plugin directory and be +" automatically sourced. +" +" You may use the default keymappings of +" +" be - Opens BE. +" bs - Opens horizontally window BE. +" bv - Opens vertically window BE. +" +" Or you can use +" +" ":BufExplorer" - Opens BE. +" ":BufExplorerHorizontalSplit" - Opens horizontally window BE. +" ":BufExplorerVerticalSplit" - Opens vertically window BE. +" +" For more help see supplied documentation. +" History: See supplied documentation. +"============================================================================== + +" Exit quickly if already running or when 'compatible' is set. {{{1 +if exists("g:bufexplorer_version") || &cp + finish +endif +"1}}} + +" Version number +let g:bufexplorer_version = "7.2.8" + +" Check for Vim version 700 or greater {{{1 +if v:version < 700 + echo "Sorry, bufexplorer ".g:bufexplorer_version."\nONLY runs with Vim 7.0 and greater." + finish +endif + +" Public Interface {{{1 +if maparg("be") =~ 'BufExplorer' + nunmap be +endif + +if maparg("bs") =~ 'BufExplorerHorizontalSplit' + nunmap bs +endif + +if maparg("bv") =~ 'BufExplorerVerticalSplit' + nunmap bv +endif + +nmap