mirror of
https://github.com/akelge/vim
synced 2025-07-12 09:32:09 +00:00
migration bro
This commit is contained in:
1602
doc/Align.txt
Normal file
1602
doc/Align.txt
Normal file
File diff suppressed because it is too large
Load Diff
988
doc/NERD_commenter.txt
Normal file
988
doc/NERD_commenter.txt
Normal file
@ -0,0 +1,988 @@
|
||||
*NERD_commenter.txt* Plugin for commenting code
|
||||
|
||||
|
||||
NERD COMMENTER REFERENCE MANUAL~
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
==============================================================================
|
||||
CONTENTS *NERDCommenterContents*
|
||||
|
||||
1.Intro...................................|NERDCommenter|
|
||||
2.Installation............................|NERDComInstallation|
|
||||
3.Functionality provided..................|NERDComFunctionality|
|
||||
3.1 Functionality Summary.............|NERDComFunctionalitySummary|
|
||||
3.2 Functionality Details.............|NERDComFunctionalityDetails|
|
||||
3.2.1 Comment map.................|NERDComComment|
|
||||
3.2.2 Nested comment map..........|NERDComNestedComment|
|
||||
3.2.3 Toggle comment map..........|NERDComToggleComment|
|
||||
3.2.4 Minimal comment map.........|NERDComMinimalComment|
|
||||
3.2.5 Invert comment map..........|NERDComInvertComment|
|
||||
3.2.6 Sexy comment map............|NERDComSexyComment|
|
||||
3.2.7 Yank comment map............|NERDComYankComment|
|
||||
3.2.8 Comment to EOL map..........|NERDComEOLComment|
|
||||
3.2.9 Append com to line map......|NERDComAppendComment|
|
||||
3.2.10 Insert comment map.........|NERDComInsertComment|
|
||||
3.2.11 Use alternate delims map...|NERDComAltDelim|
|
||||
3.2.12 Comment aligned maps.......|NERDComAlignedComment|
|
||||
3.2.13 Uncomment line map.........|NERDComUncommentLine|
|
||||
3.4 Sexy Comments.....................|NERDComSexyComments|
|
||||
3.5 The NERDComment function..........|NERDComNERDComment|
|
||||
4.Options.................................|NERDComOptions|
|
||||
4.1 Options summary...................|NERDComOptionsSummary|
|
||||
4.2 Options details...................|NERDComOptionsDetails|
|
||||
4.3 Default delimiter Options.........|NERDComDefaultDelims|
|
||||
5. Customising key mappings...............|NERDComMappings|
|
||||
6. Issues with the script.................|NERDComIssues|
|
||||
6.1 Delimiter detection heuristics....|NERDComHeuristics|
|
||||
6.2 Nesting issues....................|NERDComNesting|
|
||||
7.About.. ............................|NERDComAbout|
|
||||
8.Changelog...............................|NERDComChangelog|
|
||||
9.Credits.................................|NERDComCredits|
|
||||
10.License................................|NERDComLicense|
|
||||
|
||||
==============================================================================
|
||||
1. Intro *NERDCommenter*
|
||||
|
||||
The NERD commenter provides many different commenting operations and styles
|
||||
which are invoked via key mappings and a menu. These operations are available
|
||||
for most filetypes.
|
||||
|
||||
There are also options that allow to tweak the commenting engine to your
|
||||
taste.
|
||||
|
||||
==============================================================================
|
||||
2. Installation *NERDComInstallation*
|
||||
|
||||
The NERD Commenter requires Vim 7 or higher.
|
||||
|
||||
Extract the plugin files in your ~/.vim (*nix) or ~/vimfiles (Windows). You
|
||||
should have 2 files: >
|
||||
plugin/NERD_commenter.vim
|
||||
doc/NERD_commenter.txt
|
||||
<
|
||||
Next, to finish installing the help file run: >
|
||||
:helptags ~/.vim/doc
|
||||
<
|
||||
See |add-local-help| for more details.
|
||||
|
||||
Make sure that you have filetype plugins enabled, as the script makes use of
|
||||
|'commentstring'| where possible (which is usually set in a filetype plugin).
|
||||
See |filetype-plugin-on| for details, but basically, stick this in your vimrc >
|
||||
filetype plugin on
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
3. Functionality provided *NERDComFunctionality*
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.1 Functionality summary *NERDComFunctionalitySummary*
|
||||
|
||||
The following key mappings are provided by default (there is also a menu
|
||||
with items corresponding to all the mappings below):
|
||||
|
||||
[count]<leader>cc |NERDComComment|
|
||||
Comment out the current line or text selected in visual mode.
|
||||
|
||||
|
||||
[count]<leader>cn |NERDComNestedComment|
|
||||
Same as <leader>cc but forces nesting.
|
||||
|
||||
|
||||
[count]<leader>c<space> |NERDComToggleComment|
|
||||
Toggles the comment state of the selected line(s). If the topmost selected
|
||||
line is commented, all selected lines are uncommented and vice versa.
|
||||
|
||||
|
||||
[count]<leader>cm |NERDComMinimalComment|
|
||||
Comments the given lines using only one set of multipart delimiters.
|
||||
|
||||
|
||||
[count]<leader>ci |NERDComInvertComment|
|
||||
Toggles the comment state of the selected line(s) individually.
|
||||
|
||||
|
||||
[count]<leader>cs |NERDComSexyComment|
|
||||
Comments out the selected lines ``sexily''
|
||||
|
||||
|
||||
[count]<leader>cy |NERDComYankComment|
|
||||
Same as <leader>cc except that the commented line(s) are yanked first.
|
||||
|
||||
|
||||
<leader>c$ |NERDComEOLComment|
|
||||
Comments the current line from the cursor to the end of line.
|
||||
|
||||
|
||||
<leader>cA |NERDComAppendComment|
|
||||
Adds comment delimiters to the end of line and goes into insert mode between
|
||||
them.
|
||||
|
||||
|
||||
|NERDComInsertComment|
|
||||
Adds comment delimiters at the current cursor position and inserts between.
|
||||
Disabled by default.
|
||||
|
||||
|
||||
<leader>ca |NERDComAltDelim|
|
||||
Switches to the alternative set of delimiters.
|
||||
|
||||
|
||||
[count]<leader>cl
|
||||
[count]<leader>cb |NERDComAlignedComment|
|
||||
Same as |NERDComComment| except that the delimiters are aligned down the
|
||||
left side (<leader>cl) or both sides (<leader>cb).
|
||||
|
||||
|
||||
[count]<leader>cu |NERDComUncommentLine|
|
||||
Uncomments the selected line(s).
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2 Functionality details *NERDComFunctionalityDetails*
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.1 Comment map *NERDComComment*
|
||||
|
||||
Default mapping: [count]<leader>cc
|
||||
Mapped to: <plug>NERDCommenterComment
|
||||
Applicable modes: normal visual visual-line visual-block.
|
||||
|
||||
|
||||
Comments out the current line. If multiple lines are selected in visual-line
|
||||
mode, they are all commented out. If some text is selected in visual or
|
||||
visual-block mode then the script will try to comment out the exact text that
|
||||
is selected using multi-part delimiters if they are available.
|
||||
|
||||
If a [count] is given in normal mode, the mapping works as though that many
|
||||
lines were selected in visual-line mode.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.2 Nested comment map *NERDComNestedComment*
|
||||
|
||||
Default mapping: [count]<leader>cn
|
||||
Mapped to: <plug>NERDCommenterNest
|
||||
Applicable modes: normal visual visual-line visual-block.
|
||||
|
||||
Performs nested commenting. Works the same as <leader>cc except that if a line
|
||||
is already commented then it will be commented again.
|
||||
|
||||
If |'NERDUsePlaceHolders'| is set then the previous comment delimiters will
|
||||
be replaced by place-holder delimiters if needed. Otherwise the nested
|
||||
comment will only be added if the current commenting delimiters have no right
|
||||
delimiter (to avoid syntax errors)
|
||||
|
||||
If a [count] is given in normal mode, the mapping works as though that many
|
||||
lines were selected in visual-line mode.
|
||||
|
||||
Related options:
|
||||
|'NERDDefaultNesting'|
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.3 Toggle comment map *NERDComToggleComment*
|
||||
|
||||
Default mapping: [count]<leader>c<space>
|
||||
Mapped to: <plug>NERDCommenterToggle
|
||||
Applicable modes: normal visual-line.
|
||||
|
||||
Toggles commenting of the lines selected. The behaviour of this mapping
|
||||
depends on whether the first line selected is commented or not. If so, all
|
||||
selected lines are uncommented and vice versa.
|
||||
|
||||
With this mapping, a line is only considered to be commented if it starts with
|
||||
a left delimiter.
|
||||
|
||||
If a [count] is given in normal mode, the mapping works as though that many
|
||||
lines were selected in visual-line mode.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.4 Minimal comment map *NERDComMinimalComment*
|
||||
|
||||
Default mapping: [count]<leader>cm
|
||||
Mapped to: <plug>NERDCommenterMinimal
|
||||
Applicable modes: normal visual-line.
|
||||
|
||||
Comments the selected lines using one set of multipart delimiters if possible.
|
||||
|
||||
For example: if you are programming in c and you select 5 lines and press
|
||||
<leader>cm then a '/*' will be placed at the start of the top line and a '*/'
|
||||
will be placed at the end of the last line.
|
||||
|
||||
Sets of multipart comment delimiters that are between the top and bottom
|
||||
selected lines are replaced with place holders (see |'NERDLPlace'|) if
|
||||
|'NERDUsePlaceHolders'| is set for the current filetype. If it is not, then
|
||||
the comment will be aborted if place holders are required to prevent illegal
|
||||
syntax.
|
||||
|
||||
If a [count] is given in normal mode, the mapping works as though that many
|
||||
lines were selected in visual-line mode.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.5 Invert comment map *NERDComInvertComment*
|
||||
|
||||
Default mapping: <leader>ci
|
||||
Mapped to: <plug>NERDCommenterInvert
|
||||
Applicable modes: normal visual-line.
|
||||
|
||||
Inverts the commented state of each selected line. If the a selected line is
|
||||
commented then it is uncommented and vice versa. Each line is examined and
|
||||
commented/uncommented individually.
|
||||
|
||||
With this mapping, a line is only considered to be commented if it starts with
|
||||
a left delimiter.
|
||||
|
||||
If a [count] is given in normal mode, the mapping works as though that many
|
||||
lines were selected in visual-line mode.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.6 Sexy comment map *NERDComSexyComment*
|
||||
|
||||
Default mapping: [count]<leader>cs
|
||||
Mapped to: <plug>NERDCommenterSexy
|
||||
Applicable modes: normal, visual-line.
|
||||
|
||||
Comments the selected line(s) ``sexily''... see |NERDComSexyComments| for
|
||||
a description of what sexy comments are. Can only be done on filetypes for
|
||||
which there is at least one set of multipart comment delimiters specified.
|
||||
|
||||
Sexy comments cannot be nested and lines inside a sexy comment cannot be
|
||||
commented again.
|
||||
|
||||
If a [count] is given in normal mode, the mapping works as though that many
|
||||
lines were selected in visual-line mode.
|
||||
|
||||
Related options:
|
||||
|'NERDCompactSexyComs'|
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.7 Yank comment map *NERDComYankComment*
|
||||
|
||||
Default mapping: [count]<leader>cy
|
||||
Mapped to: <plug>NERDCommenterYank
|
||||
Applicable modes: normal visual visual-line visual-block.
|
||||
|
||||
Same as <leader>cc except that it yanks the line(s) that are commented first.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.8 Comment to EOL map *NERDComEOLComment*
|
||||
|
||||
Default mapping: <leader>c$
|
||||
Mapped to: <plug>NERDCommenterToEOL
|
||||
Applicable modes: normal.
|
||||
|
||||
Comments the current line from the current cursor position up to the end of
|
||||
the line.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.9 Append com to line map *NERDComAppendComment*
|
||||
|
||||
Default mapping: <leader>cA
|
||||
Mapped to: <plug>NERDCommenterAppend
|
||||
Applicable modes: normal.
|
||||
|
||||
Appends comment delimiters to the end of the current line and goes
|
||||
to insert mode between the new delimiters.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.10 Insert comment map *NERDComInsertComment*
|
||||
|
||||
Default mapping: disabled by default.
|
||||
Map it to: <plug>NERDCommenterInInsert
|
||||
Applicable modes: insert.
|
||||
|
||||
Adds comment delimiters at the current cursor position and inserts
|
||||
between them.
|
||||
|
||||
NOTE: prior to version 2.1.17 this was mapped to ctrl-c. To restore this
|
||||
mapping add >
|
||||
let NERDComInsertMap='<c-c>'
|
||||
<
|
||||
to your vimrc.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.11 Use alternate delims map *NERDComAltDelim*
|
||||
|
||||
Default mapping: <leader>ca
|
||||
Mapped to: <plug>NERDCommenterAltDelims
|
||||
Applicable modes: normal.
|
||||
|
||||
Changes to the alternative commenting style if one is available. For example,
|
||||
if the user is editing a c++ file using // comments and they hit <leader>ca
|
||||
then they will be switched over to /**/ comments.
|
||||
|
||||
See also |NERDComDefaultDelims|
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.12 Comment aligned maps *NERDComAlignedComment*
|
||||
|
||||
Default mappings: [count]<leader>cl [count]<leader>cb
|
||||
Mapped to: <plug>NERDCommenterAlignLeft
|
||||
<plug>NERDCommenterAlignBoth
|
||||
Applicable modes: normal visual-line.
|
||||
|
||||
Same as <leader>cc except that the comment delimiters are aligned on the left
|
||||
side or both sides respectively. These comments are always nested if the
|
||||
line(s) are already commented.
|
||||
|
||||
If a [count] is given in normal mode, the mapping works as though that many
|
||||
lines were selected in visual-line mode.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.2.13 Uncomment line map *NERDComUncommentLine*
|
||||
|
||||
Default mapping: [count]<leader>cu
|
||||
Mapped to: <plug>NERDCommenterUncomment
|
||||
Applicable modes: normal visual visual-line visual-block.
|
||||
|
||||
Uncomments the current line. If multiple lines are selected in
|
||||
visual mode then they are all uncommented.
|
||||
|
||||
When uncommenting, if the line contains multiple sets of delimiters then the
|
||||
``outtermost'' pair of delimiters will be removed.
|
||||
|
||||
The script uses a set of heurisics to distinguish ``real'' delimiters from
|
||||
``fake'' ones when uncommenting. See |NERDComIssues| for details.
|
||||
|
||||
If a [count] is given in normal mode, the mapping works as though that many
|
||||
lines were selected in visual-line mode.
|
||||
|
||||
Related options:
|
||||
|'NERDRemoveAltComs'|
|
||||
|'NERDRemoveExtraSpaces'|
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.3 Sexy Comments *NERDComSexyComments*
|
||||
These are comments that use one set of multipart comment delimiters as well as
|
||||
one other marker symbol. For example: >
|
||||
/*
|
||||
* This is a c style sexy comment
|
||||
* So there!
|
||||
*/
|
||||
|
||||
/* This is a c style sexy comment
|
||||
* So there!
|
||||
* But this one is ``compact'' style */
|
||||
<
|
||||
Here the multipart delimiters are /* and */ and the marker is *.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.4 The NERDComment function *NERDComNERDComment*
|
||||
|
||||
All of the NERD commenter mappings and menu items invoke a single function
|
||||
which delegates the commenting work to other functions. This function is
|
||||
public and has the prototype: >
|
||||
function! NERDComment(isVisual, type)
|
||||
<
|
||||
The arguments to this function are simple:
|
||||
- isVisual: if you wish to do any kind of visual comment then set this to
|
||||
1 and the function will use the '< and '> marks to find the comment
|
||||
boundries. If set to 0 then the function will operate on the current
|
||||
line.
|
||||
- type: is used to specify what type of commenting operation is to be
|
||||
performed, and it can be one of the following: "sexy", "invert",
|
||||
"minimal", "toggle", "alignLeft", "alignBoth", "norm", "nested",
|
||||
"toEOL", "append", "insert", "uncomment", "yank"
|
||||
|
||||
For example, if you typed >
|
||||
:call NERDComment(1, 'sexy')
|
||||
<
|
||||
then the script would do a sexy comment on the last visual selection.
|
||||
|
||||
|
||||
==============================================================================
|
||||
4. Options *NERDComOptions*
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
4.1 Options summary *NERDComOptionsSummary*
|
||||
|
||||
|'loaded_nerd_comments'| Turns off the script.
|
||||
|'NERDAllowAnyVisualDelims'| Allows multipart alternative delims to
|
||||
be used when commenting in
|
||||
visual/visual-block mode.
|
||||
|'NERDBlockComIgnoreEmpty'| Forces right delims to be placed when
|
||||
doing visual-block comments.
|
||||
|'NERDCommentWholeLinesInVMode'| Changes behaviour of visual comments.
|
||||
|'NERDCreateDefaultMappings'| Turn the default mappings on/off.
|
||||
|'NERDDefaultNesting'| Tells the script to use nested comments
|
||||
by default.
|
||||
|'NERDMenuMode'| Specifies how the NERD commenter menu
|
||||
will appear (if at all).
|
||||
|'NERDLPlace'| Specifies what to use as the left
|
||||
delimiter placeholder when nesting
|
||||
comments.
|
||||
|'NERDUsePlaceHolders'| Specifies which filetypes may use
|
||||
placeholders when nesting comments.
|
||||
|'NERDRemoveAltComs'| Tells the script whether to remove
|
||||
alternative comment delimiters when
|
||||
uncommenting.
|
||||
|'NERDRemoveExtraSpaces'| Tells the script to always remove the
|
||||
extra spaces when uncommenting
|
||||
(regardless of whether NERDSpaceDelims
|
||||
is set)
|
||||
|'NERDRPlace'| Specifies what to use as the right
|
||||
delimiter placeholder when nesting
|
||||
comments.
|
||||
|'NERDSpaceDelims'| Specifies whether to add extra spaces
|
||||
around delimiters when commenting, and
|
||||
whether to remove them when
|
||||
uncommenting.
|
||||
|'NERDCompactSexyComs'| Specifies whether to use the compact
|
||||
style sexy comments.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
4.3 Options details *NERDComOptionsDetails*
|
||||
|
||||
To enable any of the below options you should put the given line in your
|
||||
~/.vimrc
|
||||
|
||||
*'loaded_nerd_comments'*
|
||||
If this script is driving you insane you can turn it off by setting this
|
||||
option >
|
||||
let loaded_nerd_comments=1
|
||||
<
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDAllowAnyVisualDelims'*
|
||||
Values: 0 or 1.
|
||||
Default: 1.
|
||||
|
||||
If set to 1 then, when doing a visual or visual-block comment (but not a
|
||||
visual-line comment), the script will choose the right delimiters to use for
|
||||
the comment. This means either using the current delimiters if they are
|
||||
multipart or using the alternative delimiters if THEY are multipart. For
|
||||
example if we are editing the following java code: >
|
||||
float foo = 1221;
|
||||
float bar = 324;
|
||||
System.out.println(foo * bar);
|
||||
<
|
||||
If we are using // comments and select the "foo" and "bar" in visual-block
|
||||
mode, as shown left below (where '|'s are used to represent the visual-block
|
||||
boundary), and comment it then the script will use the alternative delims as
|
||||
shown on the right: >
|
||||
|
||||
float |foo| = 1221; float /*foo*/ = 1221;
|
||||
float |bar| = 324; float /*bar*/ = 324;
|
||||
System.out.println(foo * bar); System.out.println(foo * bar);
|
||||
<
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDBlockComIgnoreEmpty'*
|
||||
Values: 0 or 1.
|
||||
Default: 1.
|
||||
|
||||
This option affects visual-block mode commenting. If this option is turned
|
||||
on, lines that begin outside the right boundary of the selection block will be
|
||||
ignored.
|
||||
|
||||
For example, if you are commenting this chunk of c code in visual-block mode
|
||||
(where the '|'s are used to represent the visual-block boundary) >
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
|int| main(){
|
||||
| | printf("SUCK THIS\n");
|
||||
| | while(1){
|
||||
| | fork();
|
||||
| | }
|
||||
|} |
|
||||
<
|
||||
If NERDBlockComIgnoreEmpty=0 then this code will become: >
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
/*int*/ main(){
|
||||
/* */ printf("SUCK THIS\n");
|
||||
/* */ while(1){
|
||||
/* */ fork();
|
||||
/* */ }
|
||||
/*} */
|
||||
<
|
||||
Otherwise, the code block would become: >
|
||||
#include <sys/types.h>
|
||||
#include <unistd.h>
|
||||
#include <stdio.h>
|
||||
/*int*/ main(){
|
||||
printf("SUCK THIS\n");
|
||||
while(1){
|
||||
fork();
|
||||
}
|
||||
/*} */
|
||||
<
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDCommentWholeLinesInVMode'*
|
||||
Values: 0, 1 or 2.
|
||||
Default: 0.
|
||||
|
||||
By default the script tries to comment out exactly what is selected in visual
|
||||
mode (v). For example if you select and comment the following c code (using |
|
||||
to represent the visual boundary): >
|
||||
in|t foo = 3;
|
||||
int bar =| 9;
|
||||
int baz = foo + bar;
|
||||
<
|
||||
This will result in: >
|
||||
in/*t foo = 3;*/
|
||||
/*int bar =*/ 9;
|
||||
int baz = foo + bar;
|
||||
<
|
||||
But some people prefer it if the whole lines are commented like: >
|
||||
/*int foo = 3;*/
|
||||
/*int bar = 9;*/
|
||||
int baz = foo + bar;
|
||||
<
|
||||
If you prefer the second option then stick this line in your vimrc: >
|
||||
let NERDCommentWholeLinesInVMode=1
|
||||
<
|
||||
|
||||
If the filetype you are editing only has no multipart delimiters (for example
|
||||
a shell script) and you hadnt set this option then the above would become >
|
||||
in#t foo = 3;
|
||||
#int bar = 9;
|
||||
<
|
||||
(where # is the comment delimiter) as this is the closest the script can
|
||||
come to commenting out exactly what was selected. If you prefer for whole
|
||||
lines to be commented out when there is no multipart delimiters but the EXACT
|
||||
text that was selected to be commented out if there IS multipart delimiters
|
||||
then stick the following line in your vimrc: >
|
||||
let NERDCommentWholeLinesInVMode=2
|
||||
<
|
||||
|
||||
Note that this option does not affect the behaviour of commenting in
|
||||
|visual-block| mode.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDCreateDefaultMappings'*
|
||||
Values: 0 or 1.
|
||||
Default: 1.
|
||||
|
||||
If set to 0, none of the default mappings will be created.
|
||||
|
||||
See also |NERDComMappings|.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDRemoveAltComs'*
|
||||
Values: 0 or 1.
|
||||
Default: 1.
|
||||
|
||||
When uncommenting a line (for a filetype with an alternative commenting style)
|
||||
this option tells the script whether to look for, and remove, comment
|
||||
delimiters of the alternative style.
|
||||
|
||||
For example, if you are editing a c++ file using // style comments and you go
|
||||
<leader>cu on this line: >
|
||||
/* This is a c++ comment baby! */
|
||||
<
|
||||
It will not be uncommented if the NERDRemoveAltComs is set to 0.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDRemoveExtraSpaces'*
|
||||
Values: 0 or 1.
|
||||
Default: 1.
|
||||
|
||||
By default, the NERD commenter will remove spaces around comment delimiters if
|
||||
either:
|
||||
1. |'NERDSpaceDelims'| is set to 1.
|
||||
2. NERDRemoveExtraSpaces is set to 1.
|
||||
|
||||
This means that if we have the following lines in a c code file: >
|
||||
/* int foo = 5; */
|
||||
/* int bar = 10; */
|
||||
int baz = foo + bar
|
||||
<
|
||||
If either of the above conditions hold then if these lines are uncommented
|
||||
they will become: >
|
||||
int foo = 5;
|
||||
int bar = 10;
|
||||
int baz = foo + bar
|
||||
<
|
||||
Otherwise they would become: >
|
||||
int foo = 5;
|
||||
int bar = 10;
|
||||
int baz = foo + bar
|
||||
<
|
||||
If you want the spaces to be removed only if |'NERDSpaceDelims'| is set then
|
||||
set NERDRemoveExtraSpaces to 0.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDLPlace'*
|
||||
*'NERDRPlace'*
|
||||
Values: arbitrary string.
|
||||
Default:
|
||||
NERDLPlace: "[>"
|
||||
NERDRPlace: "<]"
|
||||
|
||||
These options are used to control the strings used as place-holder delimiters.
|
||||
Place holder delimiters are used when performing nested commenting when the
|
||||
filetype supports commenting styles with both left and right delimiters.
|
||||
To set these options use lines like: >
|
||||
let NERDLPlace="FOO"
|
||||
let NERDRPlace="BAR"
|
||||
<
|
||||
Following the above example, if we have line of c code: >
|
||||
/* int horse */
|
||||
<
|
||||
and we comment it with <leader>cn it will be changed to: >
|
||||
/*FOO int horse BAR*/
|
||||
<
|
||||
When we uncomment this line it will go back to what it was.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDMenuMode'*
|
||||
Values: 0, 1, 2, 3.
|
||||
Default: 3
|
||||
|
||||
This option can take 4 values:
|
||||
"0": Turns the menu off.
|
||||
"1": Turns the 'comment' menu on with no menu shortcut.
|
||||
"2": Turns the 'comment 'menu on with <alt>-c as the shortcut.
|
||||
"3": Turns the 'Plugin -> comment' menu on with <alt>-c as the shortcut.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDUsePlaceHolders'*
|
||||
Values: 0 or 1.
|
||||
Default 1.
|
||||
|
||||
This option is used to specify whether place-holder delimiters should be used
|
||||
when creating a nested comment.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDSpaceDelims'*
|
||||
Values: 0 or 1.
|
||||
Default 0.
|
||||
|
||||
Some people prefer a space after the left delimiter and before the right
|
||||
delimiter like this: >
|
||||
/* int foo=2; */
|
||||
<
|
||||
as opposed to this: >
|
||||
/*int foo=2;*/
|
||||
<
|
||||
If you want spaces to be added then set NERDSpaceDelims to 1 in your vimrc.
|
||||
|
||||
See also |'NERDRemoveExtraSpaces'|.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDCompactSexyComs'*
|
||||
Values: 0 or 1.
|
||||
Default 0.
|
||||
|
||||
Some people may want their sexy comments to be like this: >
|
||||
/* Hi There!
|
||||
* This is a sexy comment
|
||||
* in c */
|
||||
<
|
||||
As opposed to like this: >
|
||||
/*
|
||||
* Hi There!
|
||||
* This is a sexy comment
|
||||
* in c
|
||||
*/
|
||||
<
|
||||
If this option is set to 1 then the top style will be used.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
*'NERDDefaultNesting'*
|
||||
Values: 0 or 1.
|
||||
Default 1.
|
||||
|
||||
When this option is set to 1, comments are nested automatically. That is, if
|
||||
you hit <leader>cc on a line that is already commented it will be commented
|
||||
again.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
3.3 Default delimiter customisation *NERDComDefaultDelims*
|
||||
|
||||
If you want the NERD commenter to use the alternative delimiters for a
|
||||
specific filetype by default then put a line of this form into your vimrc: >
|
||||
let NERD_<filetype>_alt_style=1
|
||||
<
|
||||
Example: java uses // style comments by default, but you want it to default to
|
||||
/* */ style comments instead. You would put this line in your vimrc: >
|
||||
let NERD_java_alt_style=1
|
||||
<
|
||||
|
||||
See |NERDComAltDelim| for switching commenting styles at runtime.
|
||||
|
||||
==============================================================================
|
||||
5. Key mapping customisation *NERDComMappings*
|
||||
|
||||
To change a mapping just map another key combo to the internal <plug> mapping.
|
||||
For example, to remap the |NERDComComment| mapping to ",omg" you would put
|
||||
this line in your vimrc: >
|
||||
map ,omg <plug>NERDCommenterComment
|
||||
<
|
||||
This will stop the corresponding default mappings from being created.
|
||||
|
||||
See the help for the mapping in question to see which <plug> mapping to
|
||||
map to.
|
||||
|
||||
See also |'NERDCreateDefaultMappings'|.
|
||||
|
||||
==============================================================================
|
||||
6. Issues with the script *NERDComIssues*
|
||||
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
6.1 Delimiter detection heuristics *NERDComHeuristics*
|
||||
|
||||
Heuristics are used to distinguish the real comment delimiters
|
||||
|
||||
Because we have comment mappings that place delimiters in the middle of lines,
|
||||
removing comment delimiters is a bit tricky. This is because if comment
|
||||
delimiters appear in a line doesnt mean they really ARE delimiters. For
|
||||
example, Java uses // comments but the line >
|
||||
System.out.println("//");
|
||||
<
|
||||
clearly contains no real comment delimiters.
|
||||
|
||||
To distinguish between ``real'' comment delimiters and ``fake'' ones we use a
|
||||
set of heuristics. For example, one such heuristic states that any comment
|
||||
delimiter that has an odd number of non-escaped " characters both preceding
|
||||
and following it on the line is not a comment because it is probably part of a
|
||||
string. These heuristics, while usually pretty accurate, will not work for all
|
||||
cases.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
6.2 Nesting issues *NERDComNesting*
|
||||
|
||||
If we have some line of code like this: >
|
||||
/*int foo */ = /*5 + 9;*/
|
||||
<
|
||||
This will not be uncommented legally. The NERD commenter will remove the
|
||||
"outter most" delimiters so the line will become: >
|
||||
int foo */ = /*5 + 9;
|
||||
<
|
||||
which almost certainly will not be what you want. Nested sets of comments will
|
||||
uncomment fine though. Eg: >
|
||||
/*int/* foo =*/ 5 + 9;*/
|
||||
<
|
||||
will become: >
|
||||
int/* foo =*/ 5 + 9;
|
||||
<
|
||||
(Note that in the above examples I have deliberately not used place holders
|
||||
for simplicity)
|
||||
|
||||
==============================================================================
|
||||
7. About *NERDComAbout*
|
||||
|
||||
The author of the NERD commenter is Martyzillatron --- the half robot, half
|
||||
dinosaur bastard son of Megatron and Godzilla. He enjoys destroying
|
||||
metropolises and eating tourist busses.
|
||||
|
||||
Drop him a line at martin_grenfell at msn.com. He would love to hear from you.
|
||||
its a lonely life being the worlds premier terror machine. How would you feel
|
||||
if your face looked like a toaster and a t-rex put together? :(
|
||||
|
||||
The latest stable versions can be found at
|
||||
http://www.vim.org/scripts/script.php?script_id=1218
|
||||
|
||||
The latest dev versions are on github
|
||||
http://github.com/scrooloose/nerdcommenter
|
||||
|
||||
==============================================================================
|
||||
8. Changelog *NERDComChangelog*
|
||||
|
||||
2.3.0
|
||||
- remove all filetypes which have a &commentstring in the standard vim
|
||||
runtime for vim > 7.0 unless the script stores an alternate set of
|
||||
delimiters
|
||||
- make the script complain if the user doesnt have filetype plugins enabled
|
||||
- use <leader> instead of comma to start the default mappings
|
||||
- fix a couple of bugs with sexy comments - thanks to Tim Smart
|
||||
- lots of refactoring
|
||||
|
||||
2.2.2
|
||||
- remove the NERDShutup option and the message is suppresses, this makes
|
||||
the plugin silently rely on &commentstring for unknown filetypes.
|
||||
- add support for dhcpd, limits, ntp, resolv, rgb, sysctl, udevconf and
|
||||
udevrules. Thanks to Thilo Six.
|
||||
- match filetypes case insensitively
|
||||
- add support for mp (metapost), thanks to Andrey Skvortsov.
|
||||
- add support for htmlcheetah, thanks to Simon Hengel.
|
||||
- add support for javacc, thanks to Matt Tolton.
|
||||
- make <%# %> the default delims for eruby, thanks to tpope.
|
||||
- add support for javascript.jquery, thanks to Ivan Devat.
|
||||
- add support for cucumber and pdf. Fix sass and railslog delims,
|
||||
thanks to tpope
|
||||
|
||||
2.2.1
|
||||
- add support for newlisp and clojure, thanks to Matthew Lee Hinman.
|
||||
- fix automake comments, thanks to Elias Pipping
|
||||
- make haml comments default to -# with / as the alternative delimiter,
|
||||
thanks to tpope
|
||||
- add support for actionscript and processing thanks to Edwin Benavides
|
||||
- add support for ps1 (powershell), thanks to Jason Mills
|
||||
- add support for hostsaccess, thanks to Thomas Rowe
|
||||
- add support for CVScommit
|
||||
- add support for asciidoc, git and gitrebase. Thanks to Simon Ruderich.
|
||||
- use # for gitcommit comments, thanks to Simon Ruderich.
|
||||
- add support for mako and genshi, thanks to Keitheis.
|
||||
- add support for conkyrc, thanks to David
|
||||
- add support for SVNannotate, thanks to Miguel Jaque Barbero.
|
||||
- add support for sieve, thanks to Stefan Walk
|
||||
- add support for objj, thanks to Adam Thorsen.
|
||||
|
||||
2.2.0
|
||||
- rewrote the mappings system to be more "standard".
|
||||
- removed all the mapping options. Now, mappings to <plug> mappings are
|
||||
used
|
||||
- see :help NERDComMappings, and :help NERDCreateDefaultMappings for
|
||||
more info
|
||||
- remove "prepend comments" and "right aligned comments".
|
||||
- add support for applescript, calbire, man, SVNcommit, potwiki, txt2tags and SVNinfo.
|
||||
Thanks to nicothakis, timberke, sgronblo, mntnoe, Bernhard Grotz, John
|
||||
O'Shea, François and Giacomo Mariani respectively.
|
||||
- bugfix for haskell delimiters. Thanks to mntnoe.
|
||||
2.1.18
|
||||
- add support for llvm. Thanks to nicothakis.
|
||||
- add support for xquery. Thanks to Phillip Kovalev.
|
||||
2.1.17
|
||||
- fixed haskell delimiters (hackily). Thanks to Elias Pipping.
|
||||
- add support for mailcap. Thanks to Pascal Brueckner.
|
||||
- add support for stata. Thanks to Jerónimo Carballo.
|
||||
- applied a patch from ewfalor to fix an error in the help file with the
|
||||
NERDMapleader doc
|
||||
- disable the insert mode ctrl-c mapping by default, see :help
|
||||
NERDComInsertComment if you wish to restore it
|
||||
|
||||
==============================================================================
|
||||
9. Credits *NERDComCredits*
|
||||
|
||||
Thanks to the follow people for suggestions and patches:
|
||||
|
||||
Nick Brettell
|
||||
Matthew Hawkins
|
||||
Mathieu Clabaut
|
||||
Greg Searle
|
||||
Nguyen
|
||||
Litchi
|
||||
Jorge Scandaliaris
|
||||
Shufeng Zheng
|
||||
Martin Stubenschrott
|
||||
Markus Erlmann
|
||||
Brent Rice
|
||||
Richard Willis
|
||||
Igor Prischepoff
|
||||
Harry
|
||||
David Bourgeois
|
||||
Eike Von Seggern
|
||||
Torsten Blix
|
||||
Alexander Bosecke
|
||||
Stefano Zacchiroli
|
||||
Norick Chen
|
||||
Joseph Barker
|
||||
Gary Church
|
||||
Tim Carey-Smith
|
||||
Markus Klinik
|
||||
Anders
|
||||
Seth Mason
|
||||
James Hales
|
||||
Heptite
|
||||
Cheng Fang
|
||||
Yongwei Wu
|
||||
David Miani
|
||||
Jeremy Hinegardner
|
||||
Marco
|
||||
Ingo Karkat
|
||||
Zhang Shuhan
|
||||
tpope
|
||||
Ben Schmidt
|
||||
David Fishburn
|
||||
Erik Falor
|
||||
JaGoTerr
|
||||
Elias Pipping
|
||||
mntnoe
|
||||
Mark S.
|
||||
|
||||
|
||||
Thanks to the following people for sending me new filetypes to support:
|
||||
|
||||
The hackers The filetypes~
|
||||
Sam R verilog
|
||||
Jonathan Derque context, plaintext and mail
|
||||
Vigil fetchmail
|
||||
Michael Brunner kconfig
|
||||
Antono Vasiljev netdict
|
||||
Melissa Reid omlet
|
||||
Ilia N Ternovich quickfix
|
||||
John O'Shea RTF, SVNcommitlog and vcscommit, SVNCommit
|
||||
Anders occam
|
||||
Mark Woodward csv
|
||||
fREW gentoo-package-mask,
|
||||
gentoo-package-keywords,
|
||||
gentoo-package-use, and vo_base
|
||||
Alexey verilog_systemverilog, systemverilog
|
||||
Lizendir fstab
|
||||
Michael Böhler autoit, autohotkey and docbk
|
||||
Aaron Small cmake
|
||||
Ramiro htmldjango and django
|
||||
Stefano Zacchiroli debcontrol, debchangelog, mkd
|
||||
Alex Tarkovsky ebuild and eclass
|
||||
Jorge Rodrigues gams
|
||||
Rainer Müller Objective C
|
||||
Jason Mills Groovy, ps1
|
||||
Normandie Azucena vera
|
||||
Florian Apolloner ldif
|
||||
David Fishburn lookupfile
|
||||
Niels Aan de Brugh rst
|
||||
Don Hatlestad ahk
|
||||
Christophe Benz Desktop and xsd
|
||||
Eyolf Østrem lilypond, bbx and lytex
|
||||
Ingo Karkat dosbatch
|
||||
Nicolas Weber markdown, objcpp
|
||||
tinoucas gentoo-conf-d
|
||||
Greg Weber D, haml
|
||||
Bruce Sherrod velocity
|
||||
timberke cobol, calibre
|
||||
Aaron Schaefer factor
|
||||
Mr X asterisk, mplayerconf
|
||||
Kuchma Michael plsql
|
||||
Brett Warneke spectre
|
||||
Pipp lhaskell
|
||||
Renald Buter scala
|
||||
Vladimir Lomov asymptote
|
||||
Marco mrxvtrc, aap
|
||||
nicothakis SVNAnnotate, CVSAnnotate, SVKAnnotate,
|
||||
SVNdiff, gitAnnotate, gitdiff, dtrace
|
||||
llvm, applescript
|
||||
Chen Xing Wikipedia
|
||||
Jacobo Diaz dakota, patran
|
||||
Li Jin gentoo-env-d, gentoo-init-d,
|
||||
gentoo-make-conf, grub, modconf, sudoers
|
||||
SpookeyPeanut rib
|
||||
Greg Jandl pyrex/cython
|
||||
Christophe Benz services, gitcommit
|
||||
A Pontus vimperator
|
||||
Stromnov slice, bzr
|
||||
Martin Kustermann pamconf
|
||||
Indriði Einarsson mason
|
||||
Chris map
|
||||
Krzysztof A. Adamski group
|
||||
Pascal Brueckner mailcap
|
||||
Jerónimo Carballo stata
|
||||
Phillip Kovalev xquery
|
||||
Bernhard Grotz potwiki
|
||||
sgronblo man
|
||||
François txt2tags
|
||||
Giacomo Mariani SVNinfo
|
||||
Matthew Lee Hinman newlisp, clojure
|
||||
Elias Pipping automake
|
||||
Edwin Benavides actionscript, processing
|
||||
Thomas Rowe hostsaccess
|
||||
Simon Ruderich asciidoc, git, gitcommit, gitrebase
|
||||
Keitheis mako, genshi
|
||||
David conkyrc
|
||||
Miguel Jaque Barbero SVNannotate
|
||||
Stefan Walk sieve
|
||||
Adam Thorsen objj
|
||||
Thilo Six dhcpd, limits, ntp, resolv, rgb, sysctl,
|
||||
udevconf, udevrules
|
||||
Andrey Skvortsov mp
|
||||
Simon Hengel htmlcheetah
|
||||
Matt Tolton javacc
|
||||
Ivan Devat javascript.jquery
|
||||
tpope cucumber,pdf
|
||||
==============================================================================
|
||||
10. License *NERDComLicense*
|
||||
|
||||
The NERD commenter is released under the wtfpl.
|
||||
See http://sam.zoy.org/wtfpl/COPYING.
|
1291
doc/NERD_tree.txt
Normal file
1291
doc/NERD_tree.txt
Normal file
File diff suppressed because it is too large
Load Diff
77
doc/akmap.txt
Normal file
77
doc/akmap.txt
Normal file
@ -0,0 +1,77 @@
|
||||
*akmap.txt* Andre Vim mappings
|
||||
|
||||
1. Overview |akmap-intro|
|
||||
2. Toggles |akmap-toggles|
|
||||
3. OS Interaction |akmap-os|
|
||||
4. Developer |akmap-dev|
|
||||
5. Commenter |akmap-commenter|
|
||||
6. Text |akmap-text|
|
||||
7. Misc |akmap-misc|
|
||||
7. Version |akmap-ver|
|
||||
|
||||
======================================================================
|
||||
|
||||
*akmap-intro*
|
||||
1. Overview~
|
||||
<,hh> - Show this file
|
||||
|
||||
*akmap-toggles*
|
||||
2. Toggles~
|
||||
,l - Toggle list |list|
|
||||
,N - Toggle line numbers |numbers|
|
||||
,x - Toggle paste |paste|
|
||||
,f - Toggle Full screen
|
||||
,n - Toggle NERD Tree (file browser) |NERDTree|
|
||||
,T - Toggle tags list |taglist.txt|
|
||||
|
||||
*akmap-os*
|
||||
3. OS interaction~
|
||||
,ts - Open terminal window, splitting |ConqueTerm|
|
||||
,tt - Open terminal window, new tab |ConqueTerm|
|
||||
,of - Open Filemanager (Finder) in actual directory
|
||||
|
||||
*akmap-dev*
|
||||
4. Developer~
|
||||
,ml - Append modeline
|
||||
,ff - Javascript beautifier
|
||||
,pw - PyDoc
|
||||
|
||||
*akmap-commenter*
|
||||
5. Commenter~
|
||||
See |NERDCommenter|
|
||||
|
||||
,cc - Comment
|
||||
,cu - Uncomment
|
||||
,ci - Invert comment status (decomment if commented, comment else)
|
||||
,cy - Yank and comment
|
||||
,ca - Alternate delimiters
|
||||
,cs - Sexy comments (nicer)
|
||||
|
||||
*akmap-text*
|
||||
6. Text~
|
||||
See |textformat|
|
||||
|
||||
,ac - Align center
|
||||
,aj - Align justify
|
||||
,al - Align left
|
||||
,ar - Align right
|
||||
|
||||
*akmap-misc*
|
||||
7. Misc~
|
||||
|
||||
In command or insertion mode:
|
||||
<Shift-Ctrl-Up> - Move line up
|
||||
<Shift-Ctrl-Down> - Move line down
|
||||
|
||||
In Visual mode:
|
||||
<Shift-Ctrl-Up> - Move block up
|
||||
<Shift-Ctrl-Down> - Move block down
|
||||
|
||||
|
||||
*akmap-ver*
|
||||
8. Version~
|
||||
Author: Andrea Mistrali
|
||||
Version: $Id$
|
||||
Last change: $Date$
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
442
doc/bufexplorer.txt
Normal file
442
doc/bufexplorer.txt
Normal file
@ -0,0 +1,442 @@
|
||||
*bufexplorer.txt* Buffer Explorer Last Change: 19 Nov 2008
|
||||
|
||||
Buffer Explorer *buffer-explorer* *bufexplorer*
|
||||
Version 7.2.2
|
||||
|
||||
Plugin for easily exploring (or browsing) Vim |:buffers|.
|
||||
|
||||
|bufexplorer-usage| Usage
|
||||
|bufexplorer-installation| Installation
|
||||
|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 <your runtime directory/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 :HSBufExplorer
|
||||
To start exploring in a newly split vertical window, use: >
|
||||
\bv or :VSBufExplorer
|
||||
|
||||
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:
|
||||
|
||||
<enter> Opens the buffer that is under the cursor into the current
|
||||
window.
|
||||
<F1> Toggle help information.
|
||||
<leftmouse> Opens the buffer that is under the cursor into the current
|
||||
window.
|
||||
<shift-enter> Opens the buffer that is under the cursor in another tab.
|
||||
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.
|
||||
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.
|
||||
f Toggles whether you are taken to the active window when
|
||||
selecting a buffer or not.
|
||||
p Toggles the showing of a split filename/pathname.
|
||||
q Quit exploring.
|
||||
r Reverses the order the buffers are listed in.
|
||||
R Toggles relative path/absolute path.
|
||||
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...
|
||||
|
||||
===============================================================================
|
||||
CUSTOMIZATION *bufexplorer-customization*
|
||||
|
||||
*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: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: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.2 - Fix:
|
||||
* 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 - Fix:
|
||||
* 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
|
||||
<SNR>14_StartBufExplorer..<SNR>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<65>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 <F1> 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 <esc> key mapping was causing the buffer
|
||||
explored to close prematurely when vim was run in an xterm. The <esc>
|
||||
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 <esc> 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 <Leader>be and <Leader>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.
|
||||
6.0.1 - Initial release.
|
||||
|
||||
===============================================================================
|
||||
TODO *bufexplorer-todo*
|
||||
|
||||
- The issuing of a ':bd' command does not always remove the buffer number from
|
||||
the MRU list.
|
||||
|
||||
===============================================================================
|
||||
CREDITS *bufexplorer-credits*
|
||||
|
||||
Author: Jeff Lanzarotta <delux256-vim at yahoo dot com>
|
||||
|
||||
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:
|
204
doc/cecutil.txt
Normal file
204
doc/cecutil.txt
Normal file
@ -0,0 +1,204 @@
|
||||
*cecutil.txt* DrChip's Utilities Sep 04, 2007
|
||||
|
||||
Author: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamily.AbizM>
|
||||
(remove NOSPAM from Campbell's email first)
|
||||
Copyright: (c) 2004-2006 by Charles E. Campbell, Jr. *cecutil-copyright*
|
||||
The VIM LICENSE applies to cecutil.vim and cecutil.txt
|
||||
(see |copyright|) except use "cecutil" instead of "Vim"
|
||||
No warranty, express or implied. Use At-Your-Own-Risk.
|
||||
|
||||
==============================================================================
|
||||
1. Contents *cecutil* *cecutil-contents*
|
||||
|
||||
1. Contents.................: |cecutil-contents|
|
||||
2. Positioning..............: |cecutil-posn|
|
||||
3. Marks....................: |cecutil-marks|
|
||||
4. Maps.....................: |cecutil-maps|
|
||||
5. History..................: |cecutil-history|
|
||||
|
||||
==============================================================================
|
||||
2. Positioning *cecutil-posn* *cecutil-position*
|
||||
|
||||
let winposn= SaveWinPosn() *cecutil-savewinposn*
|
||||
|
||||
This operation will save window position in winposn variable and
|
||||
on a (buffer local) b:winposn{} stack.
|
||||
|
||||
call SaveWinPosn()
|
||||
|
||||
This function will save window position in b:winposn{b:iwinposn}
|
||||
|
||||
let winposn= SaveWinPosn(0)
|
||||
|
||||
This operation will _only_ save the window position in winposn variable.
|
||||
Ie. the window position will not appear on the b:winposn{} stack. You
|
||||
will then need to use RestoreWinPosn(winposn) to restore to this window
|
||||
position.
|
||||
|
||||
call RestoreWinPosn() *cecutil-restorewinposn*
|
||||
|
||||
This function call will use the local buffer b:winposn{} stack to
|
||||
restore the last window position saved therein. It will also
|
||||
pop the stack.
|
||||
|
||||
call RestoreWinPosn(winposn)
|
||||
|
||||
This function call will use the winposn variable and restore
|
||||
the window position accordingly. It will also search the
|
||||
stack and remove any similar entry from the stack.
|
||||
|
||||
*cecutil-map* *cecutil-cmd* *cecutil-swp* *cecutil-rwp*
|
||||
\swp : save current window position (uses the b:winposn{} stack)
|
||||
:SWP like \swp, but provided as a command
|
||||
|
||||
\rwp : restore window position (uses the b:winposn{} stack)
|
||||
:RWP like \rwp, but provided as a command
|
||||
|
||||
==============================================================================
|
||||
3. Marks *cecutil-marks*
|
||||
|
||||
call SaveMark(markname) *cecutil-savemark*
|
||||
let savemark= SaveMark(markname)
|
||||
SM markname >
|
||||
|
||||
ex. call SaveMark("a")
|
||||
let savemarkb= SaveMark("b")
|
||||
:SM a
|
||||
<
|
||||
This function saves a string in the global variable g:savemark_{markname}
|
||||
which contains sufficient information to completely restore the position
|
||||
of a mark. It also returns that string.
|
||||
|
||||
call RestoreMark(markname) *cecutil-restoremark*
|
||||
call RestoreMark(savemark)
|
||||
|
||||
This function either takes a single-character string (ex. "a") and uses
|
||||
g:savemark_{markname} to restore the mark position or assumes that
|
||||
the string passed to it is a SaveMark() string (and uses it to restore
|
||||
the mark). >
|
||||
|
||||
ex. call RestoreMark("a")
|
||||
call RestoreMark(savemarkb)
|
||||
:RM a
|
||||
<
|
||||
|
||||
call DestroyMark(markname) *cecutil-destroymark*
|
||||
|
||||
The DestroyMark() function completely removes a mark. It does this
|
||||
by saving the window position, copying line one, putting the
|
||||
to-be-destroyed mark on that new line, deleting the new line, and
|
||||
then restoring the window position. The windows' modified status
|
||||
is preserved. >
|
||||
|
||||
ex. call DestroyMark("a")
|
||||
:DM a
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
4.Maps *cecutil-maps*
|
||||
*cecutil-saveusermaps*
|
||||
call SaveUserMaps(mapmode,maplead,mapchx,suffix)
|
||||
|
||||
This function sets up a script-variable (ie. a variable that can
|
||||
generally be accessed only from within cecutil's own functions;
|
||||
see |s:|) called s:restoremap. The selected user's maps are appended
|
||||
to this variable; the RestoreUserMaps() (|cecutil-restoreusermaps|)
|
||||
function uses the contents of this variable to restore user maps.
|
||||
|
||||
mapmode - see :help maparg for its list (see |maparg()|) >
|
||||
ex. "n" = Normal
|
||||
< Will now accept an optional leading "u"; if present,
|
||||
SaveUserMaps() will save and unmap (otherwise, it
|
||||
will save only)
|
||||
mapchx - "<something>" handled as a single map item. >
|
||||
ex. "<left>"
|
||||
< - "string" a string of single letters which are actually
|
||||
multiple two-letter maps
|
||||
maplead - the maps are assumed to have the form >
|
||||
maplead . each_character_in_string
|
||||
< ex. maplead="\" and mapchx="abc" saves mappings for >
|
||||
\a, \b, and \c
|
||||
< Of course, if maplead is "", then for mapchx="abc",
|
||||
mappings for just a, b, and c are saved.
|
||||
- :something handled as a single map item, w/o the ":" >
|
||||
ex. mapchx= ":abc"
|
||||
< will save the user mapping for "abc"
|
||||
suffix - a string unique to your plugin >
|
||||
ex. suffix= "DrawIt"
|
||||
<
|
||||
Some examples follow: >
|
||||
|
||||
call SaveUserMaps("n","","webWEBjklh$0%;,nN","HiMtchBrkt")
|
||||
< normal mode maps for w, e, b, W, E, B, j, k, l, etc
|
||||
(if any) are all saved in the variable
|
||||
s:restoremaps_HiMtchBrkt >
|
||||
|
||||
call SaveUserMaps("n","","<up>","DrawIt")
|
||||
< the normal mode map (if any) for the <up> key is saved in
|
||||
the variable s:restoremaps_DrawIt >
|
||||
|
||||
call SaveUserMaps("n","",":F(","HiMtchBrkt")
|
||||
< the normal mode map for F( (if any) is saved in the
|
||||
variable s:restoremaps_HiMtchBrkt
|
||||
|
||||
call RestoreUserMaps(suffix)
|
||||
|
||||
The usermaps saved by SaveUserMaps() with the given suffix will be
|
||||
restored (ie. s:restoremaps_{suffix}). Example: >
|
||||
|
||||
call RestoreUserMaps("HiMtchBrkt")
|
||||
< will restore all user maps redefined for the HiMtchBrkt plugin
|
||||
|
||||
|
||||
==============================================================================
|
||||
5. History *cecutil-history* {{{1
|
||||
|
||||
v17 Sep 04, 2007 : * new function, QArgSplitter(), included
|
||||
v16 Oct 30, 2006 : * com -> com! so AsNeeded is happier
|
||||
Feb 12, 2007 * fixed a bug where :somemap (a map of "somemap")
|
||||
did not use the optional mapleader (so it'd be
|
||||
a map of "\somemap", if "\" is the mapleader).
|
||||
(problem pointed out by Michael Zhang)
|
||||
v15 Jan 25, 2006 : * bypass for report option for DestroyMark() included
|
||||
* SaveWinPosn() and RestoreWinPosn() now handle an
|
||||
empty buffer
|
||||
* b:(varname) now use b:cecutil_(varname)
|
||||
* map restoration improved
|
||||
v14 Jan 23, 2006 : * bypasses for si, so, and siso options included
|
||||
Jan 25, 2006 * SaveUserMaps' mapmode argument, heretofore just
|
||||
a single letter (see |maparg()|), now accepts a
|
||||
leading "u". If present, SaveUserMaps() will
|
||||
do an unmap.
|
||||
v13 Jan 12, 2006 : * SaveUserMaps() was saving user maps but then also
|
||||
unmap'ing them. HiMtchBrkt needed to append a
|
||||
function call to maps, not overwrite them. So
|
||||
the new SaveUserMaps() just saves user maps,
|
||||
leaving their definitions in place.
|
||||
Jan 18, 2006 * keepjumps used to avoid jumplist changes when
|
||||
using SaveWinPosn() and RestoreWinPosn()
|
||||
v12 Dec 29, 2005 : * bugfix (affected Mines.vim)
|
||||
v11 Dec 29, 2005 : * two new functions (SaveUserMaps() and
|
||||
RestoreUserMaps() )
|
||||
v10 Nov 22, 2005 : * SaveWinPosn bugfix
|
||||
v9 Jun 02, 2005 : * <q-args> produces a "" argument when there are
|
||||
no arguments, which caused difficulties. Fixed.
|
||||
v8 Apr 22, 2005 : * <q-args> used to handle marknames with commands
|
||||
Thus, :DM a will delete mark a
|
||||
v7 Mar 10, 2005 : * removed zO from saved window position; caused
|
||||
problems with ftplugin/currfunc.vim
|
||||
* doing a SWP and RWP on an empty buffer produced
|
||||
"empty buffer" messages; now these are ignored
|
||||
Apr 13, 2005 * command (SWP RWP MP SP etc) now have -bar so
|
||||
that the "|" can be used to chain such commands
|
||||
v6 Feb 17, 2005 : * improved SaveMark() and RestoreMark()
|
||||
v5 Jan 18, 2005 : * s:loaded_winposn changed to g:loaded_cecutil
|
||||
v4 Oct 25, 2004 : * changed com! to com so that error messages will
|
||||
be given when there's a command-name conflict
|
||||
v3 May 19, 2004 : * bugfix: the sequence \swp\rwp wasn't working right
|
||||
* bugfix: \swp...\rwp was echoing the current
|
||||
line when the \rwp should've been silent
|
||||
* improved Dfunc/Decho/Dret debugging
|
||||
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:fdm=marker
|
646
doc/conque_term.txt
Normal file
646
doc/conque_term.txt
Normal file
@ -0,0 +1,646 @@
|
||||
*ConqueTerm* Plugin to run a shell inside a Vim buffer
|
||||
|
||||
The ConqueTerm plugin will turn a Vim buffer into a terminal emulator, allowing
|
||||
you to run and interact with a shell or shell application inside the buffer.
|
||||
|
||||
1. Installation |conque-term-setup|
|
||||
1.1 Requirements for Unix |conque-term-requirements|
|
||||
1.2 Requirements for Windows |conque-term-windows|
|
||||
1.3 Installation |conque-term-installation|
|
||||
2. Usage |conque-term-usage|
|
||||
2.1 General Usage |conque-term-gen-usage|
|
||||
2.2 Special keys |conque-term-special-keys|
|
||||
2.2.1 Send text to Conque |conque-term-send|
|
||||
2.2.2 Toggle terminal input mode |conque-term-input-mode|
|
||||
2.2.3 Sending the <Esc> key press |conque-term-esc|
|
||||
3. Configuration |conque-term-options|
|
||||
3.1 General |conque-config-general|
|
||||
3.1.1 Python version |ConqueTerm_PyVersion|
|
||||
3.1.2 Fast mode |ConqueTerm_FastMode|
|
||||
3.1.3 Color support |ConqueTerm_Color|
|
||||
3.1.4 Session Support |ConqueTerm_SessionSupport|
|
||||
3.1.5 Keep updating terminal buffer |ConqueTerm_ReadUnfocused|
|
||||
3.1.6 Insert mode when entering buffer |ConqueTerm_InsertOnEnter|
|
||||
3.1.7 Close buffer when program exits |ConqueTerm_CloseOnEnd|
|
||||
3.1.8 Hide start messages |ConqueTerm_StartMessages|
|
||||
3.1.9 Regex for highlighting your prompt |ConqueTerm_PromptRegex|
|
||||
3.1.10 Syntax type |ConqueTerm_Syntax|
|
||||
3.2 Keyboard |conque-config-keyboard|
|
||||
3.2.1 The <Esc> key |ConqueTerm_EscKey|
|
||||
3.2.2 Toggle terminal input mode |ConqueTerm_ToggleKey|
|
||||
3.2.3 Enable <C-w> in insert mode |ConqueTerm_CWInsert|
|
||||
3.2.4 Execute current file in Conque |ConqueTerm_ExecFileKey|
|
||||
3.2.5 Send current file contents to Conque|ConqueTerm_SendFileKey|
|
||||
3.2.6 Send selected text to Conque |ConqueTerm_SendVisKey|
|
||||
3.2.7 Function Keys |ConqueTerm_SendFunctionKeys|
|
||||
3.3 Unix |conque-config-unix|
|
||||
3.3.1 Choose your terminal type |ConqueTerm_TERM|
|
||||
3.4 Windows |conque-config-windows|
|
||||
3.4.1 Python executable |ConqueTerm_PyExe|
|
||||
3.4.2 Windows character code page |ConqueTerm_CodePage|
|
||||
3.4.3 Terminal color method |ConqueTerm_ColorMode|
|
||||
4. VimScript API |conque-term-api|
|
||||
4.1 conque_term#open() |conque-term-open|
|
||||
4.2 conque_term#subprocess() |conque-term-subprocess|
|
||||
4.3 conque_term#get_instance() |conque-term-get-instance|
|
||||
4.4 CONQUE_OBJECT.write() |conque-term-write|
|
||||
4.5 CONQUE_OBJECT.writeln() |conque-term-writeln|
|
||||
4.6 CONQUE_OBJECT.read() |conque-term-read|
|
||||
4.7 CONQUE_OBJECT.set_callback() |conque-term-set-callback|
|
||||
4.8 CONQUE_OBJECT.close() |conque-term-close|
|
||||
4.9 Registering functions |conque-term-events|
|
||||
5. Misc |conque-term-misc|
|
||||
5.1 Known bugs |conque-term-bugs|
|
||||
5.2 Contribute |conque-term-contribute|
|
||||
5.3 Feedback |conque-term-feedback|
|
||||
|
||||
==============================================================================
|
||||
|
||||
1. Installation *conque-term-setup*
|
||||
|
||||
Conque is designed for both Unix and Windows operating systems, however the
|
||||
requirements are slightly different. Please check section below corresponding
|
||||
to your installed OS.
|
||||
|
||||
1.1 Requirements for Unix *conque-term-requirements*
|
||||
|
||||
* [G]Vim 7.0+ with +python and/or +python3
|
||||
* Python 2.3+ and/or 3.x
|
||||
* Unix-like OS: Linux, OS X, Solaris, Cygwin, etc
|
||||
|
||||
The most common stumbling block is getting a version of Vim which has the
|
||||
python interface enabled. Most all software package managers will have a copy
|
||||
of Vim with Python support, so that is often the easiest way to get it. If
|
||||
you're compiling Vim from source, be sure to use the --enable-pythoninterp
|
||||
option, or --enable-python3interp for Python 3. On OS X the best option is
|
||||
MacVim, which installs with Python support by default.
|
||||
|
||||
1.2 Requirements for Windows *conque-term-windows*
|
||||
|
||||
* [G]Vim 7.3 with +python and/or +python3
|
||||
* Python 2.7 and/or 3.1
|
||||
* Modern Windows OS (XP or later)
|
||||
|
||||
Conque only officially supports the latest GVim 7.3 Windows installer
|
||||
available at www.vim.org. If you are currently using Vim 7.2 or earlier you
|
||||
will need to upgrade to 7.3 for Windows support. The Windows installer already
|
||||
has the +python/+python3 interface built in.
|
||||
|
||||
The official 7.3 release of Vim for Windows only works with Python versions
|
||||
2.7 and/or 3.1. You can download and install Python from their website
|
||||
http://www.python.org/download
|
||||
|
||||
If you are compiling Vim + Python from source on Windows, the requirements
|
||||
become only Vim 7.3+ and Python 2.7+.
|
||||
|
||||
|
||||
1.3 Installation *conque-term-installation*
|
||||
|
||||
Download the latest vimball from http://conque.googlecode.com
|
||||
|
||||
Open the .vba file with Vim and run the following commands:
|
||||
>
|
||||
:so %
|
||||
:q
|
||||
<
|
||||
That's it! The :ConqueTerm command will be available the next time you start
|
||||
Vim. You can delete the .vba file when you've verified Conque was successfully
|
||||
installed.
|
||||
|
||||
==============================================================================
|
||||
|
||||
2. Usage *conque-term-usage*
|
||||
|
||||
2.1 General Usage *conque-term-gen-usage*
|
||||
|
||||
Type :ConqueTerm <command> to launch an application in the current buffer. Eg:
|
||||
>
|
||||
:ConqueTerm bash
|
||||
:ConqueTerm mysql -h localhost -u joe_lunchbox Menu
|
||||
:ConqueTerm Powershell.exe
|
||||
<
|
||||
Use :ConqueTermSplit or :ConqueTermVSplit to open Conque in a new horizontal
|
||||
or vertical buffer. Use :ConqueTermTab to open Conque in a new tab.
|
||||
|
||||
In insert mode you can interact with the shell as you would expect in a
|
||||
normal terminal. All key presses will be sent to the terminal, including
|
||||
control characters. See |conque-term-special-keys| for more information,
|
||||
particularly regarding the <Esc> key.
|
||||
|
||||
In normal mode you can use Vim commands to browse your terminal output and
|
||||
scroll back through the history. Most all Vim functionality will work, such
|
||||
as searching, yanking or highlighting text.
|
||||
|
||||
|
||||
2.2 Special keys *conque-term-special-keys*
|
||||
|
||||
There are several keys which can be configured to have special behavior with
|
||||
Conque.
|
||||
|
||||
2.2.1 Send text to Conque *conque-term-send*
|
||||
|
||||
Conque gives you three different commands to send text from a different
|
||||
buffer, probably a source code file, to the Conque terminal buffer. All three
|
||||
are configurable to use your choice of key combinations.
|
||||
|
||||
To send a visually selected range of text to an existing terminal buffer,
|
||||
press the <F9> key.
|
||||
|
||||
To send the entire contents of the file you are editing to an existing
|
||||
terminal buffer, press the <F10> key.
|
||||
|
||||
Finally, to execute the current file in a new terminal buffer press the <F11>
|
||||
key. This will split the screen with a new Conque buffer. The file you are
|
||||
editing must be executable for this command to work.
|
||||
|
||||
See |conque-term-options| for information about configuring these commands.
|
||||
|
||||
2.2.2 Toggle terminal input mode *conque-term-input-mode*
|
||||
|
||||
If you want to use insert mode to edit the terminal screen, press <F8>. You
|
||||
will now be able to edit the terminal output freely without your cursor
|
||||
jumping the the active prompt line. This may be useful if you want to reformat
|
||||
terminal output for readability.
|
||||
|
||||
While the terminal is paused new output will not be displayed on the screen
|
||||
until you press <F8> again to resume.
|
||||
|
||||
You can configure Conque to use a different key with the |ConqueTerm_ToggleKey|
|
||||
option.
|
||||
|
||||
2.2.3 Sending the <Esc> key press *conque-term-esc*
|
||||
|
||||
By default if you press the <Esc> key in a Conque buffer you will leave insert
|
||||
mode. But what if you want the <Esc> character to be sent to your terminal?
|
||||
There are two options. By default, pressing <Esc> twice will send one <Esc>
|
||||
character to the terminal and you will remain in insert mode, while pressing
|
||||
it once will leave insert mode.
|
||||
|
||||
Alternatively you can use the |ConqueTerm_EscKey| option to choose a
|
||||
different key for leaving insert mode. If a custom key is set, then all <Esc>
|
||||
key presses will be sent to the terminal.
|
||||
|
||||
2.3 Registering functions *conque-term-register*
|
||||
|
||||
Conque allows you to write your own VimScript functions which will be called
|
||||
at certain events. See the API section |conque-term-events| for more.
|
||||
|
||||
==============================================================================
|
||||
|
||||
3. Options *conque-term-options*
|
||||
|
||||
You can set the following options in your .vimrc (default values shown)
|
||||
|
||||
3.1 General *conque-config-general*
|
||||
|
||||
3.1.1 Python version *ConqueTerm_PyVersion*
|
||||
|
||||
Conque will work with either Python 2.x or 3.x, assuming the interfaces have
|
||||
been installed. By default it will try to use Python 2 first, then will try
|
||||
Python 3. If you want Conque to use Python 3, set this variable to 3.
|
||||
|
||||
Note: even if you set this to 3, if you don't have the python3 interface
|
||||
Conque will fall back to using Python 2.
|
||||
>
|
||||
let g:ConqueTerm_PyVersion = 2
|
||||
<
|
||||
3.1.2 Fast Mode *ConqueTerm_FastMode*
|
||||
|
||||
Disable features which could make Conque run slowly. This includes most
|
||||
terminal colors and some unicode support. Set this to 1 to enable fast mode.
|
||||
>
|
||||
let g:ConqueTerm_FastMode = 0
|
||||
<
|
||||
3.1.3 Color support *ConqueTerm_Color*
|
||||
|
||||
Terminal colors have the potential to slow down terminal screen rendering,
|
||||
depending on how many colors are used and how fast the computer is. This
|
||||
option allows you to choose how much color support will be enabled.
|
||||
|
||||
If set to 0, terminal colors will be disabled. This will allow the terminal to
|
||||
render most quickly. Syntax highlighting will still work. For example
|
||||
highlighting quoted strings or MySQL output.
|
||||
|
||||
If set to 1, terminal colors will be enabled, but only for the most recent 200
|
||||
lines of terminal output. Older output will be periodically stripped of color
|
||||
highlighting to keep the display responsive.
|
||||
|
||||
If set to 2, terminal colors will always be enabled. If your programs don't
|
||||
use color output very frequently this is a good choice.
|
||||
|
||||
Note: Color support is automatically disabled in "fast mode".
|
||||
>
|
||||
let g:ConqueTerm_Color = 1
|
||||
<
|
||||
3.1.4 Session Support *ConqueTerm_SessionSupport*
|
||||
|
||||
Vim's :mksession command allows you to save your current buffer configuration
|
||||
to a file, which can be loaded at a later time after you've closed Vim.
|
||||
|
||||
By default, Conque buffers are not restored. This is mostly for safety
|
||||
reasons; you may not want Vim to automatically re-run a destructive command.
|
||||
|
||||
However, if you're not working with missile launch code, and want Vim to
|
||||
restart your Conque buffers when you load a session file, set this variable
|
||||
to 1. Note your original subprocess and shell output will not be restored, but
|
||||
the same command will be started in your buffer.
|
||||
>
|
||||
let g:ConqueTerm_SessionSupport = 0
|
||||
<
|
||||
3.1.5 Keep updating terminal buffer *ConqueTerm_ReadUnfocused*
|
||||
|
||||
If set to 1 then your Conque buffers will continue to update after you've
|
||||
switched to another buffer.
|
||||
|
||||
Note: Conque buffers may continue to update, but they will not scroll down as
|
||||
new lines are added beyond the bottom of the visible buffer area. This is a
|
||||
limitation of the Vim scripting language for which I haven't found a
|
||||
workaround.
|
||||
>
|
||||
let g:ConqueTerm_ReadUnfocused = 1
|
||||
<
|
||||
3.1.6 Insert mode when entering buffer *ConqueTerm_InsertOnEnter*
|
||||
|
||||
If set to 1 then you will automatically go into insert mode when you enter the
|
||||
buffer. This diverges from normal Vim behavior. If 0 you will still be in
|
||||
normal mode.
|
||||
>
|
||||
let g:ConqueTerm_InsertOnEnter = 0
|
||||
<
|
||||
3.1.7 Close buffer when program exits *ConqueTerm_CloseOnEnd*
|
||||
|
||||
If you want your terminal buffer to be closed and permanently deleted when the
|
||||
program running inside of it exits, set this option to 1. Otherwise the buffer
|
||||
will become a simple text buffer after the program exits, and you can edit the
|
||||
program output in insert mode.
|
||||
>
|
||||
let g:ConqueTerm_CloseOnEnd = 0
|
||||
<
|
||||
3.1.8 Show start messages *ConqueTerm_StartMessages*
|
||||
|
||||
Display warning messages when starting up ConqueTerm if your system is
|
||||
configured incorrectly.
|
||||
>
|
||||
let g:ConqueTerm_StartMessages = 1
|
||||
<
|
||||
3.1.9 Regex for highlighting your prompt *ConqueTerm_PromptRegex*
|
||||
|
||||
Use this regular expression for sytax highlighting your terminal prompt. Your
|
||||
terminal will generally run faster if you use Vim highlighting instead of
|
||||
terminal colors for your prompt. You can also use it to do more advanced
|
||||
syntax highlighting for the prompt line.
|
||||
>
|
||||
let g:ConqueTerm_PromptRegex = '^\w\+@[0-9A-Za-z_.-]\+:[0-9A-Za-z_./\~,:-]\+\$'
|
||||
<
|
||||
3.1.10 Choose Vim syntax type *ConqueTerm_Syntax*
|
||||
|
||||
Set the buffer syntax. The default 'conque' has highlighting for MySQL, but
|
||||
not much else.
|
||||
>
|
||||
let g:ConqueTerm_Syntax = 'conque'
|
||||
<
|
||||
3.2 Keyboard *conque-config-keyboard*
|
||||
|
||||
3.2.1 The <Esc> key *ConqueTerm_EscKey*
|
||||
|
||||
If a custom key is set, then all <Esc> key presses will be sent to the
|
||||
terminal and you must use this custom key to leave insert mode. If left to the
|
||||
default value of '<Esc>' then you must press it twice to send the escape
|
||||
character to the terminal, while pressing it once will leave insert mode.
|
||||
|
||||
Note: You cannot use a key which is internally coded with the escape
|
||||
character. This includes the <F-> keys and often the <A-> and <M-> keys.
|
||||
Picking a control key, such as <C-k> will be your best bet.
|
||||
>
|
||||
let g:ConqueTerm_EscKey = '<Esc>'
|
||||
<
|
||||
3.2.2 Toggle terminal input mode *ConqueTerm_ToggleKey*
|
||||
|
||||
Press this key to pause terminal input and output display. You will then be
|
||||
able to edit the terminal screen as if it were a normal text buffer. Press
|
||||
this key again to resume terminal mode.
|
||||
>
|
||||
let g:ConqueTerm_ToggleKey = '<F8>'
|
||||
<
|
||||
3.2.3 Enable <C-w> in insert mode *ConqueTerm_CWInsert*
|
||||
|
||||
If set to 1 then you can leave the Conque buffer using the <C-w> commands
|
||||
while you're still in insert mode. If set to 0 then the <C-w> character will
|
||||
be sent to the terminal. If both this option and ConqueTerm_InsertOnEnter are
|
||||
set you can go in and out of the terminal buffer while never leaving insert
|
||||
mode.
|
||||
>
|
||||
let g:ConqueTerm_CWInsert = 0
|
||||
<
|
||||
3.2.4 Execute current file in Conque *ConqueTerm_ExecFileKey*
|
||||
|
||||
Press this key to execute the file you're currently editing in a Conque
|
||||
buffer. Is equivelent to running the command :ConqueTermSplit YOUR_FILE. Your
|
||||
file must be executable for this command to work correctly.
|
||||
>
|
||||
let g:ConqueTerm_ExecFileKey = '<F11>'
|
||||
<
|
||||
3.2.5 Send current file contents to Conque *ConqueTerm_SendFileKey*
|
||||
|
||||
Press this key to send your entire file contents to the most recently opened
|
||||
Conque buffer as keyboard input.
|
||||
>
|
||||
let g:ConqueTerm_SendFileKey = '<F10>'
|
||||
<
|
||||
3.2.6 Send selected text to Conque *ConqueTerm_SendVisKey*
|
||||
|
||||
Use this key to send the currently selected text to the most recently created
|
||||
Conque buffer.
|
||||
>
|
||||
let g:ConqueTerm_SendVisKey = '<F9>'
|
||||
<
|
||||
3.2.7 Function Keys *ConqueTerm_SendFunctionKeys*
|
||||
|
||||
By default, function keys (the F1-F12 row at the top of your keyboard) are not
|
||||
passed to the terminal. Set this option to 1 to send these key events.
|
||||
|
||||
Note: Unless you configured |ConqueTerm_SendVisKey| and |ConqueTerm_ToggleKey|
|
||||
to use different keys, <F8> and <F9> will not be sent to the terminal even if
|
||||
you set this option to 1.
|
||||
>
|
||||
let g:ConqueTerm_SendFunctionKeys = 0
|
||||
<
|
||||
3.3 Unix *conque-config-unix*
|
||||
|
||||
3.3.1 Choose your terminal type, Unix ONLY *ConqueTerm_TERM*
|
||||
|
||||
Use this option to tell Conque what type of terminal it should identify itself
|
||||
as. Conque officially uses the more limited VT100 terminal type for
|
||||
developement and testing, although it supports some more advanced features
|
||||
such as colors and title strings.
|
||||
|
||||
You can change this setting to a more advanced type, namely 'xterm', but your
|
||||
results may vary depending on which programs you're running.
|
||||
>
|
||||
let g:ConqueTerm_TERM = 'vt100'
|
||||
<
|
||||
3.4 Windows *conque-config-windows*
|
||||
|
||||
3.4.1 Python executable, Windows ONLY *ConqueTerm_PyExe*
|
||||
|
||||
The Windows version of Conque needs to know the path to the python.exe
|
||||
executable for the version of Python Conque is using. If you installed Python
|
||||
in the default location, or added the Python directory to your system path,
|
||||
Conque should be able to find python.exe without you changing this variable.
|
||||
|
||||
For example, you might set this to 'C:\Program Files\Python27\python.exe'
|
||||
>
|
||||
let g:ConqueTerm_PyExe = ''
|
||||
<
|
||||
3.4.2 Windows character code page *ConqueTerm_CodePage*
|
||||
|
||||
Set the "code page" Windows will use for your console. Leave this value set to
|
||||
zero to use the environment code page.
|
||||
|
||||
Note: Displaying unicode characters on Conque for Windows needs work.
|
||||
>
|
||||
let g:ConqueTerm_CodePage = 0
|
||||
<
|
||||
3.4.3 Terminal color method, Windows ONLY *ConqueTerm_ColorMode*
|
||||
|
||||
Vim syntax highlighting by coordinate (e.g. the 3-7th characters on the 42nd
|
||||
line) can be very slow. If you set this variable to 'conceal', you can use
|
||||
the new conceal feature to render terminal colors. Requires Vim 7.3 and only
|
||||
works on the Windows version of Conque. This will make colors render faster,
|
||||
however it will also add hidden characters to the screen, which may be
|
||||
annoying if you're copying and pasting terminal output out of the Conque
|
||||
buffer. Set this to an empty string '' to disable concealed highlighting.
|
||||
>
|
||||
let g:ConqueTerm_ColorMode = 'conceal'
|
||||
<
|
||||
==============================================================================
|
||||
|
||||
4. VimScript API (Beta) *conque-term-api*
|
||||
|
||||
The Conque scripting API allows you to create and interact with Conque
|
||||
terminals with the VimScript language. This API is still in beta stage.
|
||||
|
||||
4.1 conque_term#open({command}, [buf_opts], [remain]) *conque-term-open*
|
||||
|
||||
The open() function will create a new terminal buffer and start your command.
|
||||
|
||||
The {command} must be an executable, either an absolute path or relative to
|
||||
your system path.
|
||||
|
||||
You can pass in a list of vim commands [buf_opts] which will be executed after
|
||||
the new buffer is created but before the command is started. These are
|
||||
typically commands to alter the size, position or configuration of the buffer
|
||||
window.
|
||||
|
||||
Note: If you don't pass in a command such as 'split', the terminal will open
|
||||
in the current buffer.
|
||||
|
||||
If you don't want the new terminal buffer to become the new active buffer, set
|
||||
[remain] to 1. Only works if you create a split screen using [options].
|
||||
|
||||
Returns a Conque terminal object.
|
||||
|
||||
Examples:
|
||||
>
|
||||
let my_terminal = conque_term#open('/bin/bash')
|
||||
let my_terminal = conque_term#open('ipython', ['split', 'resize 20'], 1)
|
||||
<
|
||||
4.2 conque_term#subprocess({command}) *conque-term-subprocess*
|
||||
|
||||
Starts a new subprocess with your {command}, but no terminal buffer is ever
|
||||
created. This may be useful if you need asynchronous interaction with a
|
||||
subprocess, but want to handle the output on your own.
|
||||
|
||||
Returns a Conque terminal object.
|
||||
|
||||
Example:
|
||||
>
|
||||
let my_subprocess = conque_term#subprocess('tail -f /var/log/foo.log')
|
||||
<
|
||||
4.3 conque_term#get_instance( [terminal_number] ) *conque-term-get-instance*
|
||||
|
||||
Use the get_instance() function to retrieve an existing terminal object. The
|
||||
terminal could have been created either with the user command :ConqueTerm or
|
||||
with an API call to conque_term#open() or subprocess().
|
||||
|
||||
Use the optional [terminal_number] to retrieve a specific terminal instance.
|
||||
Otherwise if the current buffer is a Conque terminal, it will be returned,
|
||||
else the most recently created terminal. The terminal number is what you see
|
||||
at the end of a terminal buffer name, e.g. "bash - 2".
|
||||
|
||||
Returns a Conque terminal object.
|
||||
|
||||
Example:
|
||||
>
|
||||
nnoremap <F4> :call conque_term#get_instance().writeln('clear')<CR>
|
||||
<
|
||||
4.4 CONQUE_OBJECT.write({text}) *conque-term-write*
|
||||
|
||||
Once you have a terminal object from open(), subprocess() or get_instance()
|
||||
you can send text input to it with the write() method.
|
||||
|
||||
No return value.
|
||||
|
||||
Examples:
|
||||
>
|
||||
call my_terminal.write("whoami\n")
|
||||
call my_terminal.write("\<C-c>")
|
||||
<
|
||||
4.5 CONQUE_OBJECT.writeln({text}) *conque-term-writeln*
|
||||
|
||||
The same as write() except adds a \n character to the end if your input.
|
||||
|
||||
Examples:
|
||||
>
|
||||
call my_subprocess.writeln('make')
|
||||
<
|
||||
4.6 CONQUE_OBJECT.read( [timeout], [update_buffer] ) *conque-term-read*
|
||||
|
||||
Read new output from a Conque terminal subprocess. New output will be returned
|
||||
as a string, and the terminal buffer will also be updated by default.
|
||||
|
||||
If you are reading immediately after calling the write() method, you may want
|
||||
to wait [timeout] milliseconds for output to be ready.
|
||||
|
||||
If you want to prevent the output from being displayed in the terminal buffer,
|
||||
set [update_buffer] to 0. This option has no effect if the terminal was
|
||||
created with the subprocess() function, since there never is a buffer to
|
||||
update.
|
||||
|
||||
Returns output string.
|
||||
|
||||
Note: The terminal buffer will not automatically scroll down if the new output
|
||||
extends beyond the bottom of the visible buffer. Vim doesn't allow "unfocused"
|
||||
buffers to be scrolled at the current version, although hopefully this will
|
||||
change.
|
||||
|
||||
Examples:
|
||||
>
|
||||
call my_terminal.writeln('whoami')
|
||||
let output = my_terminal.read(500)
|
||||
call my_terminal.writeln('ls -lha')
|
||||
let output = my_terminal.read(1000, 1)
|
||||
<
|
||||
4.7 CONQUE_OBJECT.set_callback( {funcname} ) *conque-term-set-callback*
|
||||
|
||||
Register a callback function for this subprocess instance. This function will
|
||||
automatically be called whenever new output is available. Only practical with
|
||||
subprocess() objects.
|
||||
|
||||
Conque checkes for new subprocess output once a second when Vim is idle. If
|
||||
new output is found your function will be called.
|
||||
|
||||
Pass in the callback function name {funcname} as a string.
|
||||
|
||||
No return value.
|
||||
|
||||
Note: this method requires the g:ConqueTerm_ReadUnfocused option to be set.
|
||||
|
||||
Note: this method is experimental, results may vary.
|
||||
|
||||
Example:
|
||||
>
|
||||
let sp = conque_term#subprocess('tail -f /home/joe/log/error_log')
|
||||
|
||||
function! MyErrorAlert(output)
|
||||
echo a:output
|
||||
endfunction
|
||||
|
||||
call sp.set_callback('MyErrorAlert')
|
||||
<
|
||||
4.8 CONQUE_OBJECT.close() *conque-term-close*
|
||||
|
||||
Kill your terminal subprocess. Sends the ABORT signal. You probably want to
|
||||
close your subprocess in a more graceful manner with the write() method, but
|
||||
this can be used when needed. Does not close the terminal buffer, if it
|
||||
exists.
|
||||
|
||||
This method will be called on all existing Conque subprocesses when Vim exits.
|
||||
|
||||
Example:
|
||||
>
|
||||
let term = conque_term#open('ping google.com', ['belowright split'])
|
||||
call term.read(5000)
|
||||
call term.close()
|
||||
<
|
||||
4.9 Registering functions *conque-term-events*
|
||||
|
||||
Conque provides the option to register callback functions which will be
|
||||
executed at several different events. The currently available events are:
|
||||
|
||||
after_startup After your application has loaded into the buffer.
|
||||
buffer_enter When you switch to a Conque buffer.
|
||||
buffer_leave When you leave a Conque buffer.
|
||||
|
||||
You may use the function conque_term#register_function(event, function_name)
|
||||
to add additional hooks at a particular event. The second argument should be
|
||||
the name of a callback function which has one parameter, the current
|
||||
terminal object (see|conque-term-api|for more about terminal objects).
|
||||
|
||||
For example:
|
||||
>
|
||||
function MyConqueStartup(term)
|
||||
|
||||
" set buffer syntax using the name of the program currently running
|
||||
let syntax_associations = { 'ipython': 'python', 'irb': 'ruby' }
|
||||
|
||||
if has_key(syntax_associations, a:term.program_name)
|
||||
execute 'setlocal syntax=' . syntax_associations[a:term.program_name]
|
||||
else
|
||||
execute 'setlocal syntax=' . a:term.program_name
|
||||
endif
|
||||
|
||||
" shrink window height to 10 rows
|
||||
resize 10
|
||||
|
||||
" silly example of terminal api usage
|
||||
if a:term.program_name == 'bash'
|
||||
call a:term.writeln('svn up ~/projects/*')
|
||||
endif
|
||||
|
||||
endfunction
|
||||
|
||||
call conque_term#register_function('after_startup', 'MyConqueStartup')
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
|
||||
5. Misc *conque-term-misc*
|
||||
|
||||
|
||||
5.1 Known bugs *conque-term-bugs*
|
||||
|
||||
The following are known limitations:
|
||||
|
||||
- Font/color highlighting is imperfect and slow. If you don't care about
|
||||
color in your shell, set g:ConqueTerm_Color = 0 in your .vimrc
|
||||
- Conque only supports the extended ASCII character set for input, not utf-8.
|
||||
- VT100 escape sequence support is not complete.
|
||||
- Alt/Meta key support in Vim isn't great in general, and conque is no
|
||||
exception. Pressing <Esc><Esc>x or <Esc><M-x> instead of <M-x> works in
|
||||
most cases.
|
||||
|
||||
|
||||
5.2 Contribute *conque-term-contribute*
|
||||
|
||||
The two contributions most in need are improvements to Vim itself. I currently
|
||||
use hacks to capture key press input from the user, and to poll the terminal
|
||||
for more output. The Vim todo.txt document lists proposed improvements to give
|
||||
users this behavior without hacks. Having a key press event should allow
|
||||
Conque to work with multi- byte input. If you are a Vim developer, please
|
||||
consider prioritizing these two items:
|
||||
|
||||
- todo.txt (Autocommands, line ~3137)
|
||||
8 Add an event like CursorHold that is triggered repeatedly, not just
|
||||
once after typing something.
|
||||
|
||||
|
||||
5.3 Feedback *conque-term-feedback*
|
||||
|
||||
Bugs, suggestions and patches are all welcome.
|
||||
|
||||
For more information visit http://conque.googlecode.com
|
||||
|
||||
Check out the latest from svn at http://conque.googlecode.com/svn/trunk/
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
71
doc/open_terminal.txt
Normal file
71
doc/open_terminal.txt
Normal file
@ -0,0 +1,71 @@
|
||||
*open-terminal* Open Terminal, Filemanager for various platform
|
||||
|
||||
Open Terminal Help File
|
||||
|
||||
Introduction |open-terminal-introduction|
|
||||
Commmands |open-terminal-commands|
|
||||
Requires |open-terminal-requires|
|
||||
Key map examples |open-terminal-keymap|
|
||||
Changelog |open-terminal-changelog|
|
||||
About |open-terminal-about|
|
||||
|
||||
==============================================================================
|
||||
Introduction *open-terminal-introduction*
|
||||
|
||||
Some vim user want to shell like emacs's eshell. But vim don't support shell,
|
||||
terminal interface in vim (at least 7.x version).
|
||||
|
||||
In this situation, I use native terminal software open script for my various
|
||||
working platforms.
|
||||
|
||||
==============================================================================
|
||||
Commmands *open-terminal-commands*
|
||||
|
||||
*OpenTerminal*
|
||||
:OpenTerminal Open native terminal sw. Check |requires| list
|
||||
|
||||
*OpenFilemanager*
|
||||
:OpenFilemanager Open native file manager. Check |requires| list
|
||||
|
||||
|
||||
==============================================================================
|
||||
Map key examples *open-terminal-keymap*
|
||||
>
|
||||
nnoremap <silent> <F9> :OpenTerminal<CR>
|
||||
nnoremap <silent> <F10> :OpenFilemanager<CR><CR>
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
Requires (per platform) *open-terminal-requires*
|
||||
|
||||
I use Mac, Gnome, Windows(gvim). I don't test in KDE environment.
|
||||
|
||||
Platform Terminal File manager ~
|
||||
>
|
||||
Mac Terminal.app Finder
|
||||
(with Applescript)
|
||||
Gnome gnome-terminal nautilus
|
||||
KDE konsole konqueror
|
||||
Windows cmd explorer
|
||||
(with start)
|
||||
cygwin bash explorer
|
||||
<
|
||||
==============================================================================
|
||||
Changelog *open-terminal-changelog*
|
||||
|
||||
0.1:
|
||||
- First release used script for everyone.
|
||||
|
||||
|
||||
==============================================================================
|
||||
About *open-terminal-about*
|
||||
|
||||
Copyright (c) 2009 by neocoin ~
|
||||
File: open_terminal.vim
|
||||
Author: Sangmin Ryu (neocoin@gmail.com)
|
||||
Date: Tue Dec 22 13:33:32 PST 2009
|
||||
License: The MIT License
|
||||
|
||||
==============================================================================
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
461
doc/pi_getscript.txt
Normal file
461
doc/pi_getscript.txt
Normal file
@ -0,0 +1,461 @@
|
||||
*pi_getscript.txt* For Vim version 7.0. Last change: 2011 May 31
|
||||
>
|
||||
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell, Jr.
|
||||
<
|
||||
Authors: Charles E. Campbell, Jr. <NdrOchip@ScampbellPfamilyA.Mbiz>
|
||||
(remove NOSPAM from the email address)
|
||||
*GetLatestVimScripts-copyright*
|
||||
Copyright: (c) 2004-2010 by Charles E. Campbell, Jr. *glvs-copyright*
|
||||
The VIM LICENSE applies to getscript.vim and
|
||||
pi_getscript.txt (see |copyright|) except use
|
||||
"getscript" instead of "Vim". No warranty, express or implied.
|
||||
Use At-Your-Own-Risk.
|
||||
|
||||
Getscript is a plugin that simplifies retrieval of the latest versions of the
|
||||
scripts that you yourself use! Typing |:GLVS| will invoke getscript; it will
|
||||
then use the <GetLatestVimScripts.dat> (see |GetLatestVimScripts_dat|) file to
|
||||
get the latest versions of scripts listed therein from http://vim.sf.net/.
|
||||
|
||||
==============================================================================
|
||||
1. Contents *glvs-contents* *glvs* *getscript*
|
||||
*GetLatestVimScripts*
|
||||
|
||||
1. Contents........................................: |glvs-contents|
|
||||
2. GetLatestVimScripts -- Getting Started..........: |glvs-install|
|
||||
3. GetLatestVimScripts Usage.......................: |glvs-usage|
|
||||
4. GetLatestVimScripts Data File...................: |glvs-data|
|
||||
5. GetLatestVimScripts Friendly Plugins............: |glvs-plugins|
|
||||
6. GetLatestVimScripts AutoInstall.................: |glvs-autoinstall|
|
||||
7. GetLatestViMScripts Options.....................: |glvs-options|
|
||||
8. GetLatestVimScripts Algorithm...................: |glvs-alg|
|
||||
9. GetLatestVimScripts History.....................: |glvs-hist|
|
||||
|
||||
|
||||
==============================================================================
|
||||
2. GetLatestVimScripts -- Getting Started *getscript-start*
|
||||
*getlatestvimscripts-install*
|
||||
|
||||
VERSION FROM VIM DISTRIBUTION *glvs-dist-install*
|
||||
|
||||
Vim 7.0 does not include the GetLatestVimScripts.dist file which
|
||||
serves as an example and a template. So, you'll need to create
|
||||
your own! See |GetLatestVimScripts_dat|.
|
||||
|
||||
VERSION FROM VIM SF NET *glvs-install*
|
||||
|
||||
NOTE: The last step, that of renaming/moving the GetLatestVimScripts.dist
|
||||
file, is for those who have just downloaded GetLatestVimScripts.tar.bz2 for
|
||||
the first time.
|
||||
|
||||
The GetLatestVimScripts.dist file serves as an example and a template for your
|
||||
own personal list. Feel free to remove all the scripts mentioned within it;
|
||||
the "important" part of it is the first two lines.
|
||||
|
||||
Your computer needs to have wget or curl for GetLatestVimScripts to do its work.
|
||||
|
||||
1. if compressed: gunzip getscript.vba.gz
|
||||
2. Unix:
|
||||
vim getscript.vba
|
||||
:so %
|
||||
:q
|
||||
cd ~/.vim/GetLatest
|
||||
mv GetLatestVimScripts.dist GetLatestVimScripts.dat
|
||||
(edit GetLatestVimScripts.dat to install your own personal
|
||||
list of desired plugins -- see |GetLatestVimScripts_dat|)
|
||||
|
||||
3. Windows:
|
||||
vim getscript.vba
|
||||
:so %
|
||||
:q
|
||||
cd **path-to-vimfiles**/GetLatest
|
||||
mv GetLatestVimScripts.dist GetLatestVimScripts.dat
|
||||
(edit GetLatestVimScripts.dat to install your own personal
|
||||
list of desired plugins -- see |GetLatestVimScripts_dat|)
|
||||
|
||||
|
||||
==============================================================================
|
||||
3. GetLatestVimScripts Usage *glvs-usage* *:GLVS*
|
||||
|
||||
Unless it has been defined elsewhere, >
|
||||
|
||||
:GLVS
|
||||
|
||||
will invoke GetLatestVimScripts(). If some other plugin has defined that
|
||||
command, then you may type
|
||||
>
|
||||
:GetLatestVimScripts
|
||||
<
|
||||
The script will attempt to update and, if permitted, will automatically
|
||||
install scripts from http://vim.sourceforge.net/. To do so it will peruse a
|
||||
file,
|
||||
>
|
||||
.vim/GetLatest/GetLatestVimScripts.dat (unix)
|
||||
<
|
||||
or >
|
||||
..wherever..\vimfiles\GetLatest\GetLatestVimScripts.dat (windows)
|
||||
(see |glvs-data|), and examine plugins in your [.vim|vimfiles]/plugin
|
||||
directory (see |glvs-plugins|).
|
||||
|
||||
Scripts which have been downloaded will appear in the
|
||||
~/.vim/GetLatest (unix) or ..wherever..\vimfiles\GetLatest (windows)
|
||||
subdirectory. GetLatestVimScripts will attempt to automatically
|
||||
install them if you have the following line in your <.vimrc>: >
|
||||
|
||||
let g:GetLatestVimScripts_allowautoinstall=1
|
||||
|
||||
The <GetLatestVimScripts.dat> file will be automatically be updated to
|
||||
reflect the latest version of script(s) so downloaded.
|
||||
(also see |glvs-options|)
|
||||
|
||||
|
||||
==============================================================================
|
||||
4. GetLatestVimScripts Data File *getscript-data* *glvs-data*
|
||||
*:GetLatestVimScripts_dat*
|
||||
The data file <GetLatestVimScripts.dat> must have for its first two lines
|
||||
the following text:
|
||||
>
|
||||
ScriptID SourceID Filename
|
||||
--------------------------
|
||||
<
|
||||
Following those two lines are three columns; the first two are numeric
|
||||
followed by a text column. The GetLatest/GetLatestVimScripts.dist file
|
||||
contains an example of such a data file. Anything following a #... is
|
||||
ignored, so you may embed comments in the file.
|
||||
|
||||
The first number on each line gives the script's ScriptID. When you're about
|
||||
to use a web browser to look at scripts on http://vim.sf.net/, just before you
|
||||
click on the script's link, you'll see a line resembling
|
||||
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=40
|
||||
|
||||
The "40" happens to be a ScriptID that GetLatestVimScripts needs to
|
||||
download the associated page, and is assigned by vim.sf.net itself
|
||||
during initial uploading of the plugin.
|
||||
|
||||
The second number on each line gives the script's SourceID. The SourceID
|
||||
records the count of uploaded scripts as determined by vim.sf.net; hence it
|
||||
serves to indicate "when" a script was uploaded. Setting the SourceID to 1
|
||||
insures that GetLatestVimScripts will assume that the script it has is
|
||||
out-of-date.
|
||||
|
||||
The SourceID is extracted by GetLatestVimScripts from the script's page on
|
||||
vim.sf.net; whenever it is greater than the one stored in the
|
||||
GetLatestVimScripts.dat file, the script will be downloaded
|
||||
(see |GetLatestVimScripts_dat|).
|
||||
|
||||
If your script's author has included a special comment line in his/her plugin,
|
||||
the plugin itself will be used by GetLatestVimScripts to build your
|
||||
<GetLatestVimScripts.dat> file, including any dependencies on other scripts it
|
||||
may have. As an example, consider: >
|
||||
|
||||
" GetLatestVimScripts: 884 1 :AutoInstall: AutoAlign.vim
|
||||
|
||||
This comment line tells getscript.vim to check vimscript #884 and that the
|
||||
script is automatically installable. Getscript will also use this line to
|
||||
help build the GetLatestVimScripts.dat file, by including a line such as: >
|
||||
|
||||
884 1 :AutoInstall: AutoAlign.vim
|
||||
<
|
||||
assuming that such a line isn't already in GetLatestVimScripts.dat file.
|
||||
See |glvs-plugins| for more. Thus, GetLatestVimScripts thus provides a
|
||||
comprehensive ability to keep your plugins up-to-date!
|
||||
|
||||
In summary:
|
||||
|
||||
* Optionally tell getscript that it is allowed to build/append a
|
||||
GetLatestVimScripts.dat file based upon already installed plugins: >
|
||||
let g:GetLatestVimScripts_allowautoinstall=1
|
||||
<
|
||||
* A line such as >
|
||||
" GetLatestVimScripts: 884 1 :AutoInstall: AutoAlign.vim
|
||||
< in an already-downloaded plugin constitutes the concurrence of the
|
||||
plugin author that getscript may do AutoInstall. Not all plugins
|
||||
may be AutoInstall-able, and the plugin's author is best situated
|
||||
to know whether or not his/her plugin will AutoInstall properly.
|
||||
|
||||
* A line such as >
|
||||
884 1 :AutoInstall: AutoAlign.vim
|
||||
< in your GetLatestVimScripts.dat file constitutes your permission
|
||||
to getscript to do AutoInstall. AutoInstall requires both your
|
||||
and the plugin author's permission. See |GetLatestVimScripts_dat|.
|
||||
|
||||
|
||||
*GetLatestVimScripts_dat*
|
||||
As an example of a <GetLatestVimScripts.dat> file:
|
||||
>
|
||||
ScriptID SourceID Filename
|
||||
--------------------------
|
||||
294 1 :AutoInstall: Align.vim
|
||||
120 2 Decho.vim
|
||||
40 3 DrawIt.tar.gz
|
||||
451 4 EasyAccents.vim
|
||||
195 5 engspchk.vim
|
||||
642 6 GetLatestVimScripts.vim
|
||||
489 7 Manpageview.vim
|
||||
<
|
||||
Note: the first two lines are required, but essentially act as comments.
|
||||
|
||||
|
||||
==============================================================================
|
||||
5. GetLatestVimScripts Friendly Plugins *getscript-plugins* *glvs-plugins*
|
||||
|
||||
(this section is for plugin authors)~
|
||||
|
||||
If a plugin author includes the following comment anywhere in their plugin,
|
||||
GetLatestVimScripts will find it and use it to automatically build the user's
|
||||
GetLatestVimScripts.dat files:
|
||||
>
|
||||
src_id
|
||||
v
|
||||
" GetLatestVimScripts: ### ### yourscriptname
|
||||
^
|
||||
scriptid
|
||||
<
|
||||
As an author, you should include such a line in to refer to your own script
|
||||
plus any additional lines describing any plugin dependencies it may have.
|
||||
Same format, of course!
|
||||
|
||||
If your command is auto-installable (see |glvs-autoinstall|), and most scripts
|
||||
are, then you may include :AutoInstall: just before "yourscriptname":
|
||||
>
|
||||
src_id
|
||||
v
|
||||
" GetLatestVimScripts: ### ### :AutoInstall: yourscriptname
|
||||
^
|
||||
scriptid
|
||||
<
|
||||
NOTE: The :AutoInstall: feature requires both the plugin author's and~
|
||||
the user's permission to operate!~
|
||||
|
||||
GetLatestVimScripts commands for those scripts are then appended, if not
|
||||
already present, to the user's GetLatest/GetLatestVimScripts.dat file. It is
|
||||
a relatively painless way to automate the acquisition of any scripts your
|
||||
plugins depend upon.
|
||||
|
||||
Now, as an author, you probably don't want GetLatestVimScripts to download
|
||||
your own scripts atop your own copy, thereby overwriting your not-yet-released
|
||||
hard work. GetLatestVimScripts provides a solution for this: put
|
||||
>
|
||||
0 0 yourscriptname
|
||||
<
|
||||
into your <GetLatestVimScripts.dat> file and GetLatestVimScripts will skip
|
||||
examining the "yourscriptname" scripts for those GetLatestVimScripts comment
|
||||
lines. As a result, those lines won't be inadvertently installed into your
|
||||
<GetLatestVimScripts.dat> file and subsequently used to download your own
|
||||
scripts. This is especially important to do if you've included the
|
||||
:AutoInstall: option.
|
||||
|
||||
Be certain to use the same "yourscriptname" in the "0 0 yourscriptname" line
|
||||
as you've used in your GetLatestVimScripts comment!
|
||||
|
||||
|
||||
==============================================================================
|
||||
6. GetLatestVimScripts AutoInstall *getscript-autoinstall*
|
||||
*glvs-autoinstall*
|
||||
|
||||
GetLatestVimScripts now supports "AutoInstall". Not all scripts are
|
||||
supportive of auto-install, as they may have special things you need to do to
|
||||
install them (please refer to the script's "install" directions). On the
|
||||
other hand, most scripts will be auto-installable.
|
||||
|
||||
To let GetLatestVimScripts do an autoinstall, the data file's comment field
|
||||
should begin with (surrounding blanks are ignored): >
|
||||
|
||||
:AutoInstall:
|
||||
<
|
||||
Both colons are needed, and it should begin the comment (yourscriptname)
|
||||
field.
|
||||
|
||||
One may prevent any autoinstalling by putting the following line in your
|
||||
<.vimrc>: >
|
||||
|
||||
let g:GetLatestVimScripts_allowautoinstall= 0
|
||||
<
|
||||
With :AutoInstall: enabled, as it is by default, files which end with
|
||||
|
||||
---.tar.bz2 : decompressed & untarred in .vim/ directory
|
||||
---.vba.bz2 : decompressed in .vim/ directory, then vimball handles it
|
||||
---.vim.bz2 : decompressed & moved into .vim/plugin directory
|
||||
---.tar.gz : decompressed & untarred in .vim/ directory
|
||||
---.vba.gz : decompressed in .vim/ directory, then vimball handles it
|
||||
---.vim.gz : decompressed & moved into .vim/plugin directory
|
||||
---.vba : unzipped in .vim/ directory
|
||||
---.vim : moved to .vim/plugin directory
|
||||
---.zip : unzipped in .vim/ directory
|
||||
|
||||
and which merely need to have their components placed by the untar/gunzip or
|
||||
move-to-plugin-directory process should be auto-installable. Vimballs, of
|
||||
course, should always be auto-installable.
|
||||
|
||||
When is a script not auto-installable? Let me give an example:
|
||||
|
||||
.vim/after/syntax/blockhl.vim
|
||||
|
||||
The <blockhl.vim> script provides block highlighting for C/C++ programs; it is
|
||||
available at:
|
||||
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=104
|
||||
|
||||
Currently, vim's after/syntax only supports by-filetype scripts (in
|
||||
blockhl.vim's case, that's after/syntax/c.vim). Hence, auto-install would
|
||||
possibly overwrite the current user's after/syntax/c.vim file.
|
||||
|
||||
In my own case, I use <aftersyntax.vim> (renamed to after/syntax/c.vim) to
|
||||
allow a after/syntax/c/ directory:
|
||||
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=1023
|
||||
|
||||
The script allows multiple syntax files to exist separately in the
|
||||
after/syntax/c subdirectory. I can't bundle aftersyntax.vim in and build an
|
||||
appropriate tarball for auto-install because of the potential for the
|
||||
after/syntax/c.vim contained in it to overwrite a user's c.vim.
|
||||
|
||||
|
||||
==============================================================================
|
||||
7. GetLatestVimScripts Options *glvs-options*
|
||||
>
|
||||
g:GetLatestVimScripts_wget
|
||||
< default= "wget"
|
||||
This variable holds the name of the command for obtaining
|
||||
scripts.
|
||||
>
|
||||
g:GetLatestVimScripts_options
|
||||
< default= "-q -O"
|
||||
This variable holds the options to be used with the
|
||||
g:GetLatestVimScripts_wget command.
|
||||
>
|
||||
g:GetLatestVimScripts_allowautoinstall
|
||||
< default= 1
|
||||
This variable indicates whether GetLatestVimScripts is allowed
|
||||
to attempt to automatically install scripts. Furthermore, the
|
||||
plugin author has to have explicitly indicated that his/her
|
||||
plugin is automatically installable (via the :AutoInstall:
|
||||
keyword in the GetLatestVimScripts comment line).
|
||||
>
|
||||
g:GetLatestVimScripts_autoinstalldir
|
||||
< default= $HOME/.vim (linux)
|
||||
default= $HOME/vimfiles (windows)
|
||||
Override where :AutoInstall: scripts will be installed.
|
||||
Doesn't override vimball installation.
|
||||
|
||||
==============================================================================
|
||||
8. GetLatestVimScripts Algorithm *glvs-algorithm* *glvs-alg*
|
||||
|
||||
The Vim sourceforge page dynamically creates a page by keying off of the
|
||||
so-called script-id. Within the webpage of
|
||||
|
||||
http://vim.sourceforge.net/scripts/script.php?script_id=40
|
||||
|
||||
is a line specifying the latest source-id (src_id). The source identifier
|
||||
numbers are always increasing, hence if the src_id is greater than the one
|
||||
recorded for the script in GetLatestVimScripts then it's time to download a
|
||||
newer copy of that script.
|
||||
|
||||
GetLatestVimScripts will then download the script and update its internal
|
||||
database of script ids, source ids, and scriptnames.
|
||||
|
||||
The AutoInstall process will:
|
||||
|
||||
Move the file from GetLatest/ to the following directory
|
||||
Unix : $HOME/.vim
|
||||
Windows: $HOME\vimfiles
|
||||
if the downloaded file ends with ".bz2"
|
||||
bunzip2 it
|
||||
else if the downloaded file ends with ".gz"
|
||||
gunzip it
|
||||
if the resulting file ends with ".zip"
|
||||
unzip it
|
||||
else if the resulting file ends with ".tar"
|
||||
tar -oxvf it
|
||||
else if the resulting file ends with ".vim"
|
||||
move it to the plugin subdirectory
|
||||
|
||||
|
||||
==============================================================================
|
||||
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
|
||||
|
||||
v33 May 31, 2011 : * using fnameescape() instead of escape()
|
||||
* *.xz support
|
||||
v32 Jun 19, 2010 : * (Jan Steffens) added support for xz compression
|
||||
v31 Jun 29, 2008 : * (Bill McCarthy) fixed having hls enabled with getscript
|
||||
* (David Schaefer) the acd option interferes with vimballs
|
||||
Solution: bypass the acd option
|
||||
v30 Jun 13, 2008 : * GLVS now checks for existence of fnameescape() and will
|
||||
issue an error message if it is not supported
|
||||
v29 Jan 07, 2008 : * Bram M pointed out that cpo is a global option and that
|
||||
getscriptPlugin.vim was setting it but not restoring it.
|
||||
v28 Jan 02, 2008 : * improved shell quoting character handling, cygwin
|
||||
interface, register-a bypass
|
||||
Oct 29, 2007 * Bill McCarthy suggested a change to getscript that avoids
|
||||
creating pop-up windows
|
||||
v24 Apr 16, 2007 : * removed save&restore of the fo option during script
|
||||
loading
|
||||
v23 Nov 03, 2006 : * ignores comments (#...)
|
||||
* handles vimballs
|
||||
v22 Oct 13, 2006 : * supports automatic use of curl if wget is not
|
||||
available
|
||||
v21 May 01, 2006 : * now takes advantage of autoloading.
|
||||
v20 Dec 23, 2005 : * Eric Haarbauer found&fixed a bug with unzip use;
|
||||
unzip needs the -o flag to overwrite.
|
||||
v19 Nov 28, 2005 : * v18's GetLatestVimScript line accessed the wrong
|
||||
script! Fixed.
|
||||
v18 Mar 21, 2005 : * bugfix to automatic database construction
|
||||
* bugfix - nowrapscan caused an error
|
||||
(tnx to David Green for the fix)
|
||||
Apr 01, 2005 * if shell is bash, "mv" instead of "ren" used in
|
||||
:AutoInstall:s, even though its o/s is windows
|
||||
Apr 01, 2005 * when downloading errors occurred, GLVS was
|
||||
terminating early. It now just goes on to trying
|
||||
the next script (after trying three times to
|
||||
download a script description page)
|
||||
Apr 20, 2005 * bugfix - when a failure to download occurred,
|
||||
GetLatestVimScripts would stop early and claim that
|
||||
everything was current. Fixed.
|
||||
v17 Aug 25, 2004 : * g:GetLatestVimScripts_allowautoinstall, which
|
||||
defaults to 1, can be used to prevent all
|
||||
:AutoInstall:
|
||||
v16 Aug 25, 2004 : * made execution of bunzip2/gunzip/tar/zip silent
|
||||
* fixed bug with :AutoInstall: use of helptags
|
||||
v15 Aug 24, 2004 : * bugfix: the "0 0 comment" download prevention wasn't
|
||||
always preventing downloads (just usually). Fixed.
|
||||
v14 Aug 24, 2004 : * bugfix -- helptags was using dotvim, rather than
|
||||
s:dotvim. Fixed.
|
||||
v13 Aug 23, 2004 : * will skip downloading a file if its scriptid or srcid
|
||||
is zero. Useful for script authors; that way their
|
||||
own GetLatestVimScripts activity won't overwrite
|
||||
their scripts.
|
||||
v12 Aug 23, 2004 : * bugfix - a "return" got left in the distribution that
|
||||
was intended only for testing. Removed, now works.
|
||||
* :AutoInstall: implemented
|
||||
v11 Aug 20, 2004 : * GetLatestVimScripts is now a plugin:
|
||||
* :GetLatestVimScripts command
|
||||
* (runtimepath)/GetLatest/GetLatestVimScripts.dat
|
||||
now holds scripts that need updating
|
||||
v10 Apr 19, 2004 : * moved history from script to doc
|
||||
v9 Jan 23, 2004 : windows (win32/win16/win95) will use
|
||||
double quotes ("") whereas other systems will use
|
||||
single quotes ('') around the urls in calls via wget
|
||||
v8 Dec 01, 2003 : makes three tries at downloading
|
||||
v7 Sep 02, 2003 : added error messages if "Click on..." or "src_id="
|
||||
not found in downloaded webpage
|
||||
Uses t_ti, t_te, and rs to make progress visible
|
||||
v6 Aug 06, 2003 : final status messages now display summary of work
|
||||
( "Downloaded someqty scripts" or
|
||||
"Everything was current")
|
||||
Now GetLatestVimScripts is careful about downloading
|
||||
GetLatestVimScripts.vim itself!
|
||||
(goes to <NEW_GetLatestVimScripts.vim>)
|
||||
v5 Aug 04, 2003 : missing an endif near bottom
|
||||
v4 Jun 17, 2003 : redraw! just before each "considering" message
|
||||
v3 May 27, 2003 : Protects downloaded files from errant shell
|
||||
expansions with single quotes: '...'
|
||||
v2 May 14, 2003 : extracts name of item to be obtained from the
|
||||
script file. Uses it instead of comment field
|
||||
for output filename; comment is used in the
|
||||
"considering..." line and is now just a comment!
|
||||
* Fixed a bug: a string-of-numbers is not the
|
||||
same as a number, so I added zero to them
|
||||
and they became numbers. Fixes comparison.
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:ft=help:fdm=marker
|
1501
doc/taglist.txt
Normal file
1501
doc/taglist.txt
Normal file
File diff suppressed because it is too large
Load Diff
602
doc/tags
Normal file
602
doc/tags
Normal file
@ -0,0 +1,602 @@
|
||||
'NERDAllowAnyVisualDelims' NERD_commenter.txt /*'NERDAllowAnyVisualDelims'*
|
||||
'NERDBlockComIgnoreEmpty' NERD_commenter.txt /*'NERDBlockComIgnoreEmpty'*
|
||||
'NERDChristmasTree' NERD_tree.txt /*'NERDChristmasTree'*
|
||||
'NERDCommentWholeLinesInVMode' NERD_commenter.txt /*'NERDCommentWholeLinesInVMode'*
|
||||
'NERDCompactSexyComs' NERD_commenter.txt /*'NERDCompactSexyComs'*
|
||||
'NERDCreateDefaultMappings' NERD_commenter.txt /*'NERDCreateDefaultMappings'*
|
||||
'NERDDefaultNesting' NERD_commenter.txt /*'NERDDefaultNesting'*
|
||||
'NERDLPlace' NERD_commenter.txt /*'NERDLPlace'*
|
||||
'NERDMenuMode' NERD_commenter.txt /*'NERDMenuMode'*
|
||||
'NERDRPlace' NERD_commenter.txt /*'NERDRPlace'*
|
||||
'NERDRemoveAltComs' NERD_commenter.txt /*'NERDRemoveAltComs'*
|
||||
'NERDRemoveExtraSpaces' NERD_commenter.txt /*'NERDRemoveExtraSpaces'*
|
||||
'NERDSpaceDelims' NERD_commenter.txt /*'NERDSpaceDelims'*
|
||||
'NERDTreeAutoCenter' NERD_tree.txt /*'NERDTreeAutoCenter'*
|
||||
'NERDTreeAutoCenterThreshold' NERD_tree.txt /*'NERDTreeAutoCenterThreshold'*
|
||||
'NERDTreeBookmarksFile' NERD_tree.txt /*'NERDTreeBookmarksFile'*
|
||||
'NERDTreeCaseSensitiveSort' NERD_tree.txt /*'NERDTreeCaseSensitiveSort'*
|
||||
'NERDTreeChDirMode' NERD_tree.txt /*'NERDTreeChDirMode'*
|
||||
'NERDTreeDirArrows' NERD_tree.txt /*'NERDTreeDirArrows'*
|
||||
'NERDTreeHighlightCursorline' NERD_tree.txt /*'NERDTreeHighlightCursorline'*
|
||||
'NERDTreeHijackNetrw' NERD_tree.txt /*'NERDTreeHijackNetrw'*
|
||||
'NERDTreeIgnore' NERD_tree.txt /*'NERDTreeIgnore'*
|
||||
'NERDTreeMinimalUI' NERD_tree.txt /*'NERDTreeMinimalUI'*
|
||||
'NERDTreeMouseMode' NERD_tree.txt /*'NERDTreeMouseMode'*
|
||||
'NERDTreeQuitOnOpen' NERD_tree.txt /*'NERDTreeQuitOnOpen'*
|
||||
'NERDTreeShowBookmarks' NERD_tree.txt /*'NERDTreeShowBookmarks'*
|
||||
'NERDTreeShowFiles' NERD_tree.txt /*'NERDTreeShowFiles'*
|
||||
'NERDTreeShowHidden' NERD_tree.txt /*'NERDTreeShowHidden'*
|
||||
'NERDTreeShowLineNumbers' NERD_tree.txt /*'NERDTreeShowLineNumbers'*
|
||||
'NERDTreeSortOrder' NERD_tree.txt /*'NERDTreeSortOrder'*
|
||||
'NERDTreeStatusline' NERD_tree.txt /*'NERDTreeStatusline'*
|
||||
'NERDTreeWinPos' NERD_tree.txt /*'NERDTreeWinPos'*
|
||||
'NERDTreeWinSize' NERD_tree.txt /*'NERDTreeWinSize'*
|
||||
'NERDUsePlaceHolders' NERD_commenter.txt /*'NERDUsePlaceHolders'*
|
||||
'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'*
|
||||
'loaded_nerd_comments' NERD_commenter.txt /*'loaded_nerd_comments'*
|
||||
'loaded_nerd_tree' NERD_tree.txt /*'loaded_nerd_tree'*
|
||||
:Align Align.txt /*:Align*
|
||||
:AlignCenter textformat.txt /*:AlignCenter*
|
||||
:AlignCtrl Align.txt /*:AlignCtrl*
|
||||
:AlignJustify textformat.txt /*:AlignJustify*
|
||||
:AlignLeft textformat.txt /*:AlignLeft*
|
||||
:AlignMapsClean Align.txt /*:AlignMapsClean*
|
||||
:AlignRight textformat.txt /*:AlignRight*
|
||||
:CVSEdit vcscommand.txt /*:CVSEdit*
|
||||
:CVSEditors vcscommand.txt /*:CVSEditors*
|
||||
:CVSUnedit vcscommand.txt /*:CVSUnedit*
|
||||
:CVSWatch vcscommand.txt /*:CVSWatch*
|
||||
:CVSWatchAdd vcscommand.txt /*:CVSWatchAdd*
|
||||
:CVSWatchOff vcscommand.txt /*:CVSWatchOff*
|
||||
:CVSWatchOn vcscommand.txt /*:CVSWatchOn*
|
||||
:CVSWatchRemove vcscommand.txt /*:CVSWatchRemove*
|
||||
:CVSWatchers vcscommand.txt /*:CVSWatchers*
|
||||
:GLVS pi_getscript.txt /*:GLVS*
|
||||
:GetLatestVimScripts_dat pi_getscript.txt /*:GetLatestVimScripts_dat*
|
||||
:NERDTree NERD_tree.txt /*:NERDTree*
|
||||
:NERDTreeClose NERD_tree.txt /*:NERDTreeClose*
|
||||
:NERDTreeFind NERD_tree.txt /*:NERDTreeFind*
|
||||
:NERDTreeFromBookmark NERD_tree.txt /*:NERDTreeFromBookmark*
|
||||
:NERDTreeMirror NERD_tree.txt /*:NERDTreeMirror*
|
||||
:NERDTreeToggle NERD_tree.txt /*:NERDTreeToggle*
|
||||
:TChangesetOpen trac.txt /*:TChangesetOpen*
|
||||
:TTAddComment trac.txt /*:TTAddComment*
|
||||
:TTClearAllFilters trac.txt /*:TTClearAllFilters*
|
||||
:TTClearFilter trac.txt /*:TTClearFilter*
|
||||
:TTFilterComponent trac.txt /*:TTFilterComponent*
|
||||
:TTFilterMilestone trac.txt /*:TTFilterMilestone*
|
||||
:TTFilterNoMilestone trac.txt /*:TTFilterNoMilestone*
|
||||
:TTFilterNoOwner trac.txt /*:TTFilterNoOwner*
|
||||
:TTFilterOwner trac.txt /*:TTFilterOwner*
|
||||
:TTFilterPriority trac.txt /*:TTFilterPriority*
|
||||
:TTFilterResolution trac.txt /*:TTFilterResolution*
|
||||
:TTFilterSeverity trac.txt /*:TTFilterSeverity*
|
||||
:TTFilterStatus trac.txt /*:TTFilterStatus*
|
||||
:TTFilterType trac.txt /*:TTFilterType*
|
||||
:TTIgnoreComponent trac.txt /*:TTIgnoreComponent*
|
||||
:TTIgnoreMilestone trac.txt /*:TTIgnoreMilestone*
|
||||
:TTIgnoreNoMilestone trac.txt /*:TTIgnoreNoMilestone*
|
||||
:TTIgnoreNoOwner trac.txt /*:TTIgnoreNoOwner*
|
||||
:TTIgnoreOwner trac.txt /*:TTIgnoreOwner*
|
||||
:TTIgnorePriority trac.txt /*:TTIgnorePriority*
|
||||
:TTIgnoreResolution trac.txt /*:TTIgnoreResolution*
|
||||
:TTIgnoreSeverity trac.txt /*:TTIgnoreSeverity*
|
||||
:TTIgnoreStatus trac.txt /*:TTIgnoreStatus*
|
||||
:TTIgnoreType trac.txt /*:TTIgnoreType*
|
||||
:TTLServer trac.txt /*:TTLServer*
|
||||
:TTListFilters trac.txt /*:TTListFilters*
|
||||
:TTOpen trac.txt /*:TTOpen*
|
||||
:TTPreview trac.txt /*:TTPreview*
|
||||
:TTServer trac.txt /*:TTServer*
|
||||
:TTSet trac.txt /*:TTSet*
|
||||
:TTSortby trac.txt /*:TTSortby*
|
||||
:TTUpdateDescrption trac.txt /*:TTUpdateDescrption*
|
||||
:TTimelineOpen trac.txt /*:TTimelineOpen*
|
||||
:TWAddAttachment trac.txt /*:TWAddAttachment*
|
||||
:TWGetAttachment trac.txt /*:TWGetAttachment*
|
||||
:TWOpen trac.txt /*:TWOpen*
|
||||
:TWPreview trac.txt /*:TWPreview*
|
||||
:TWSave trac.txt /*:TWSave*
|
||||
:TWServer trac.txt /*:TWServer*
|
||||
:TWVimDiff trac.txt /*:TWVimDiff*
|
||||
:TlistAddFiles taglist.txt /*:TlistAddFiles*
|
||||
:TlistAddFilesRecursive taglist.txt /*:TlistAddFilesRecursive*
|
||||
:TlistClose taglist.txt /*:TlistClose*
|
||||
:TlistDebug taglist.txt /*:TlistDebug*
|
||||
:TlistHighlightTag taglist.txt /*:TlistHighlightTag*
|
||||
:TlistLock taglist.txt /*:TlistLock*
|
||||
:TlistMessages taglist.txt /*:TlistMessages*
|
||||
:TlistOpen taglist.txt /*:TlistOpen*
|
||||
:TlistSessionLoad taglist.txt /*:TlistSessionLoad*
|
||||
:TlistSessionSave taglist.txt /*:TlistSessionSave*
|
||||
:TlistShowPrototype taglist.txt /*:TlistShowPrototype*
|
||||
:TlistShowTag taglist.txt /*:TlistShowTag*
|
||||
:TlistToggle taglist.txt /*:TlistToggle*
|
||||
:TlistUndebug taglist.txt /*:TlistUndebug*
|
||||
:TlistUnlock taglist.txt /*:TlistUnlock*
|
||||
:TlistUpdate taglist.txt /*:TlistUpdate*
|
||||
:VCSAdd vcscommand.txt /*:VCSAdd*
|
||||
:VCSAnnotate vcscommand.txt /*:VCSAnnotate*
|
||||
:VCSBlame vcscommand.txt /*:VCSBlame*
|
||||
:VCSCommit vcscommand.txt /*:VCSCommit*
|
||||
:VCSDelete vcscommand.txt /*:VCSDelete*
|
||||
:VCSDiff vcscommand.txt /*:VCSDiff*
|
||||
:VCSGotoOriginal vcscommand.txt /*:VCSGotoOriginal*
|
||||
:VCSInfo vcscommand.txt /*:VCSInfo*
|
||||
:VCSLock vcscommand.txt /*:VCSLock*
|
||||
:VCSLog vcscommand.txt /*:VCSLog*
|
||||
:VCSRemove vcscommand.txt /*:VCSRemove*
|
||||
:VCSRevert vcscommand.txt /*:VCSRevert*
|
||||
:VCSReview vcscommand.txt /*:VCSReview*
|
||||
:VCSStatus vcscommand.txt /*:VCSStatus*
|
||||
:VCSUnlock vcscommand.txt /*:VCSUnlock*
|
||||
:VCSUpdate vcscommand.txt /*:VCSUpdate*
|
||||
:VCSVimDiff vcscommand.txt /*:VCSVimDiff*
|
||||
Align-copyright Align.txt /*Align-copyright*
|
||||
ConqueTerm conque_term.txt /*ConqueTerm*
|
||||
ConqueTerm_CWInsert conque_term.txt /*ConqueTerm_CWInsert*
|
||||
ConqueTerm_CloseOnEnd conque_term.txt /*ConqueTerm_CloseOnEnd*
|
||||
ConqueTerm_CodePage conque_term.txt /*ConqueTerm_CodePage*
|
||||
ConqueTerm_Color conque_term.txt /*ConqueTerm_Color*
|
||||
ConqueTerm_ColorMode conque_term.txt /*ConqueTerm_ColorMode*
|
||||
ConqueTerm_EscKey conque_term.txt /*ConqueTerm_EscKey*
|
||||
ConqueTerm_ExecFileKey conque_term.txt /*ConqueTerm_ExecFileKey*
|
||||
ConqueTerm_FastMode conque_term.txt /*ConqueTerm_FastMode*
|
||||
ConqueTerm_InsertOnEnter conque_term.txt /*ConqueTerm_InsertOnEnter*
|
||||
ConqueTerm_PromptRegex conque_term.txt /*ConqueTerm_PromptRegex*
|
||||
ConqueTerm_PyExe conque_term.txt /*ConqueTerm_PyExe*
|
||||
ConqueTerm_PyVersion conque_term.txt /*ConqueTerm_PyVersion*
|
||||
ConqueTerm_ReadUnfocused conque_term.txt /*ConqueTerm_ReadUnfocused*
|
||||
ConqueTerm_SendFileKey conque_term.txt /*ConqueTerm_SendFileKey*
|
||||
ConqueTerm_SendFunctionKeys conque_term.txt /*ConqueTerm_SendFunctionKeys*
|
||||
ConqueTerm_SendVisKey conque_term.txt /*ConqueTerm_SendVisKey*
|
||||
ConqueTerm_SessionSupport conque_term.txt /*ConqueTerm_SessionSupport*
|
||||
ConqueTerm_StartMessages conque_term.txt /*ConqueTerm_StartMessages*
|
||||
ConqueTerm_Syntax conque_term.txt /*ConqueTerm_Syntax*
|
||||
ConqueTerm_TERM conque_term.txt /*ConqueTerm_TERM*
|
||||
ConqueTerm_ToggleKey conque_term.txt /*ConqueTerm_ToggleKey*
|
||||
GetLatestVimScripts pi_getscript.txt /*GetLatestVimScripts*
|
||||
GetLatestVimScripts-copyright pi_getscript.txt /*GetLatestVimScripts-copyright*
|
||||
GetLatestVimScripts_dat pi_getscript.txt /*GetLatestVimScripts_dat*
|
||||
NERDComAbout NERD_commenter.txt /*NERDComAbout*
|
||||
NERDComAlignedComment NERD_commenter.txt /*NERDComAlignedComment*
|
||||
NERDComAltDelim NERD_commenter.txt /*NERDComAltDelim*
|
||||
NERDComAppendComment NERD_commenter.txt /*NERDComAppendComment*
|
||||
NERDComChangelog NERD_commenter.txt /*NERDComChangelog*
|
||||
NERDComComment NERD_commenter.txt /*NERDComComment*
|
||||
NERDComCredits NERD_commenter.txt /*NERDComCredits*
|
||||
NERDComDefaultDelims NERD_commenter.txt /*NERDComDefaultDelims*
|
||||
NERDComEOLComment NERD_commenter.txt /*NERDComEOLComment*
|
||||
NERDComFunctionality NERD_commenter.txt /*NERDComFunctionality*
|
||||
NERDComFunctionalityDetails NERD_commenter.txt /*NERDComFunctionalityDetails*
|
||||
NERDComFunctionalitySummary NERD_commenter.txt /*NERDComFunctionalitySummary*
|
||||
NERDComHeuristics NERD_commenter.txt /*NERDComHeuristics*
|
||||
NERDComInsertComment NERD_commenter.txt /*NERDComInsertComment*
|
||||
NERDComInstallation NERD_commenter.txt /*NERDComInstallation*
|
||||
NERDComInvertComment NERD_commenter.txt /*NERDComInvertComment*
|
||||
NERDComIssues NERD_commenter.txt /*NERDComIssues*
|
||||
NERDComLicense NERD_commenter.txt /*NERDComLicense*
|
||||
NERDComMappings NERD_commenter.txt /*NERDComMappings*
|
||||
NERDComMinimalComment NERD_commenter.txt /*NERDComMinimalComment*
|
||||
NERDComNERDComment NERD_commenter.txt /*NERDComNERDComment*
|
||||
NERDComNestedComment NERD_commenter.txt /*NERDComNestedComment*
|
||||
NERDComNesting NERD_commenter.txt /*NERDComNesting*
|
||||
NERDComOptions NERD_commenter.txt /*NERDComOptions*
|
||||
NERDComOptionsDetails NERD_commenter.txt /*NERDComOptionsDetails*
|
||||
NERDComOptionsSummary NERD_commenter.txt /*NERDComOptionsSummary*
|
||||
NERDComSexyComment NERD_commenter.txt /*NERDComSexyComment*
|
||||
NERDComSexyComments NERD_commenter.txt /*NERDComSexyComments*
|
||||
NERDComToggleComment NERD_commenter.txt /*NERDComToggleComment*
|
||||
NERDComUncommentLine NERD_commenter.txt /*NERDComUncommentLine*
|
||||
NERDComYankComment NERD_commenter.txt /*NERDComYankComment*
|
||||
NERDCommenter NERD_commenter.txt /*NERDCommenter*
|
||||
NERDCommenterContents NERD_commenter.txt /*NERDCommenterContents*
|
||||
NERDTree NERD_tree.txt /*NERDTree*
|
||||
NERDTree-? NERD_tree.txt /*NERDTree-?*
|
||||
NERDTree-A NERD_tree.txt /*NERDTree-A*
|
||||
NERDTree-B NERD_tree.txt /*NERDTree-B*
|
||||
NERDTree-C NERD_tree.txt /*NERDTree-C*
|
||||
NERDTree-C-J NERD_tree.txt /*NERDTree-C-J*
|
||||
NERDTree-C-K NERD_tree.txt /*NERDTree-C-K*
|
||||
NERDTree-D NERD_tree.txt /*NERDTree-D*
|
||||
NERDTree-F NERD_tree.txt /*NERDTree-F*
|
||||
NERDTree-I NERD_tree.txt /*NERDTree-I*
|
||||
NERDTree-J NERD_tree.txt /*NERDTree-J*
|
||||
NERDTree-K NERD_tree.txt /*NERDTree-K*
|
||||
NERDTree-O NERD_tree.txt /*NERDTree-O*
|
||||
NERDTree-P NERD_tree.txt /*NERDTree-P*
|
||||
NERDTree-R NERD_tree.txt /*NERDTree-R*
|
||||
NERDTree-T NERD_tree.txt /*NERDTree-T*
|
||||
NERDTree-U NERD_tree.txt /*NERDTree-U*
|
||||
NERDTree-X NERD_tree.txt /*NERDTree-X*
|
||||
NERDTree-cd NERD_tree.txt /*NERDTree-cd*
|
||||
NERDTree-contents NERD_tree.txt /*NERDTree-contents*
|
||||
NERDTree-e NERD_tree.txt /*NERDTree-e*
|
||||
NERDTree-f NERD_tree.txt /*NERDTree-f*
|
||||
NERDTree-gi NERD_tree.txt /*NERDTree-gi*
|
||||
NERDTree-go NERD_tree.txt /*NERDTree-go*
|
||||
NERDTree-gs NERD_tree.txt /*NERDTree-gs*
|
||||
NERDTree-i NERD_tree.txt /*NERDTree-i*
|
||||
NERDTree-m NERD_tree.txt /*NERDTree-m*
|
||||
NERDTree-o NERD_tree.txt /*NERDTree-o*
|
||||
NERDTree-p NERD_tree.txt /*NERDTree-p*
|
||||
NERDTree-q NERD_tree.txt /*NERDTree-q*
|
||||
NERDTree-r NERD_tree.txt /*NERDTree-r*
|
||||
NERDTree-s NERD_tree.txt /*NERDTree-s*
|
||||
NERDTree-t NERD_tree.txt /*NERDTree-t*
|
||||
NERDTree-u NERD_tree.txt /*NERDTree-u*
|
||||
NERDTree-x NERD_tree.txt /*NERDTree-x*
|
||||
NERDTreeAPI NERD_tree.txt /*NERDTreeAPI*
|
||||
NERDTreeAbout NERD_tree.txt /*NERDTreeAbout*
|
||||
NERDTreeAddKeyMap() NERD_tree.txt /*NERDTreeAddKeyMap()*
|
||||
NERDTreeAddMenuItem() NERD_tree.txt /*NERDTreeAddMenuItem()*
|
||||
NERDTreeAddMenuSeparator() NERD_tree.txt /*NERDTreeAddMenuSeparator()*
|
||||
NERDTreeAddSubmenu() NERD_tree.txt /*NERDTreeAddSubmenu()*
|
||||
NERDTreeBookmarkCommands NERD_tree.txt /*NERDTreeBookmarkCommands*
|
||||
NERDTreeBookmarkTable NERD_tree.txt /*NERDTreeBookmarkTable*
|
||||
NERDTreeBookmarks NERD_tree.txt /*NERDTreeBookmarks*
|
||||
NERDTreeChangelog NERD_tree.txt /*NERDTreeChangelog*
|
||||
NERDTreeCredits NERD_tree.txt /*NERDTreeCredits*
|
||||
NERDTreeFunctionality NERD_tree.txt /*NERDTreeFunctionality*
|
||||
NERDTreeGlobalCommands NERD_tree.txt /*NERDTreeGlobalCommands*
|
||||
NERDTreeInvalidBookmarks NERD_tree.txt /*NERDTreeInvalidBookmarks*
|
||||
NERDTreeKeymapAPI NERD_tree.txt /*NERDTreeKeymapAPI*
|
||||
NERDTreeLicense NERD_tree.txt /*NERDTreeLicense*
|
||||
NERDTreeMappings NERD_tree.txt /*NERDTreeMappings*
|
||||
NERDTreeMenu NERD_tree.txt /*NERDTreeMenu*
|
||||
NERDTreeMenuAPI NERD_tree.txt /*NERDTreeMenuAPI*
|
||||
NERDTreeOptionDetails NERD_tree.txt /*NERDTreeOptionDetails*
|
||||
NERDTreeOptionSummary NERD_tree.txt /*NERDTreeOptionSummary*
|
||||
NERDTreeOptions NERD_tree.txt /*NERDTreeOptions*
|
||||
NERDTreeRender() NERD_tree.txt /*NERDTreeRender()*
|
||||
NERD_commenter.txt NERD_commenter.txt /*NERD_commenter.txt*
|
||||
NERD_tree.txt NERD_tree.txt /*NERD_tree.txt*
|
||||
OpenFilemanager open_terminal.txt /*OpenFilemanager*
|
||||
OpenTerminal open_terminal.txt /*OpenTerminal*
|
||||
TSearch trac.txt /*TSearch*
|
||||
TTAddAttachment trac.txt /*TTAddAttachment*
|
||||
TTCreateDefect trac.txt /*TTCreateDefect*
|
||||
TTCreateEnhancement trac.txt /*TTCreateEnhancement*
|
||||
TTCreateTask trac.txt /*TTCreateTask*
|
||||
TTLoadTicketSession trac.txt /*TTLoadTicketSession*
|
||||
TTSaveTicketSession trac.txt /*TTSaveTicketSession*
|
||||
Tlist_Get_Tag_Prototype_By_Line() taglist.txt /*Tlist_Get_Tag_Prototype_By_Line()*
|
||||
Tlist_Get_Tagname_By_Line() taglist.txt /*Tlist_Get_Tagname_By_Line()*
|
||||
Tlist_Set_App() taglist.txt /*Tlist_Set_App()*
|
||||
Tlist_Update_File_Tags() taglist.txt /*Tlist_Update_File_Tags()*
|
||||
VCSCommandCVSDiffOpt vcscommand.txt /*VCSCommandCVSDiffOpt*
|
||||
VCSCommandCVSExec vcscommand.txt /*VCSCommandCVSExec*
|
||||
VCSCommandCommitOnWrite vcscommand.txt /*VCSCommandCommitOnWrite*
|
||||
VCSCommandDeleteOnHide vcscommand.txt /*VCSCommandDeleteOnHide*
|
||||
VCSCommandDiffSplit vcscommand.txt /*VCSCommandDiffSplit*
|
||||
VCSCommandDisableAll vcscommand.txt /*VCSCommandDisableAll*
|
||||
VCSCommandDisableExtensionMappings vcscommand.txt /*VCSCommandDisableExtensionMappings*
|
||||
VCSCommandDisableMappings vcscommand.txt /*VCSCommandDisableMappings*
|
||||
VCSCommandDisableMenu vcscommand.txt /*VCSCommandDisableMenu*
|
||||
VCSCommandEdit vcscommand.txt /*VCSCommandEdit*
|
||||
VCSCommandEnableBufferSetup vcscommand.txt /*VCSCommandEnableBufferSetup*
|
||||
VCSCommandMapPrefix vcscommand.txt /*VCSCommandMapPrefix*
|
||||
VCSCommandMappings vcscommand.txt /*VCSCommandMappings*
|
||||
VCSCommandMenuPriority vcscommand.txt /*VCSCommandMenuPriority*
|
||||
VCSCommandMenuRoot vcscommand.txt /*VCSCommandMenuRoot*
|
||||
VCSCommandResultBufferNameExtension vcscommand.txt /*VCSCommandResultBufferNameExtension*
|
||||
VCSCommandResultBufferNameFunction vcscommand.txt /*VCSCommandResultBufferNameFunction*
|
||||
VCSCommandSVKExec vcscommand.txt /*VCSCommandSVKExec*
|
||||
VCSCommandSVNDiffExt vcscommand.txt /*VCSCommandSVNDiffExt*
|
||||
VCSCommandSVNDiffOpt vcscommand.txt /*VCSCommandSVNDiffOpt*
|
||||
VCSCommandSVNExec vcscommand.txt /*VCSCommandSVNExec*
|
||||
VCSCommandSplit vcscommand.txt /*VCSCommandSplit*
|
||||
VCSCommandVCSTypeOverride vcscommand.txt /*VCSCommandVCSTypeOverride*
|
||||
VCSCommandVCSTypePreference vcscommand.txt /*VCSCommandVCSTypePreference*
|
||||
akmap-commenter akmap.txt /*akmap-commenter*
|
||||
akmap-dev akmap.txt /*akmap-dev*
|
||||
akmap-intro akmap.txt /*akmap-intro*
|
||||
akmap-misc akmap.txt /*akmap-misc*
|
||||
akmap-os akmap.txt /*akmap-os*
|
||||
akmap-text akmap.txt /*akmap-text*
|
||||
akmap-toggles akmap.txt /*akmap-toggles*
|
||||
akmap-ver akmap.txt /*akmap-ver*
|
||||
akmap.txt akmap.txt /*akmap.txt*
|
||||
align Align.txt /*align*
|
||||
align-align Align.txt /*align-align*
|
||||
align-codepoint Align.txt /*align-codepoint*
|
||||
align-command Align.txt /*align-command*
|
||||
align-commands Align.txt /*align-commands*
|
||||
align-concept Align.txt /*align-concept*
|
||||
align-concepts Align.txt /*align-concepts*
|
||||
align-contents Align.txt /*align-contents*
|
||||
align-control Align.txt /*align-control*
|
||||
align-history Align.txt /*align-history*
|
||||
align-manual Align.txt /*align-manual*
|
||||
align-maps Align.txt /*align-maps*
|
||||
align-multibyte Align.txt /*align-multibyte*
|
||||
align-option Align.txt /*align-option*
|
||||
align-options Align.txt /*align-options*
|
||||
align-strlen Align.txt /*align-strlen*
|
||||
align-usage Align.txt /*align-usage*
|
||||
align-userguide Align.txt /*align-userguide*
|
||||
align-utf Align.txt /*align-utf*
|
||||
align-utf8 Align.txt /*align-utf8*
|
||||
align-xstrlen Align.txt /*align-xstrlen*
|
||||
align.txt Align.txt /*align.txt*
|
||||
alignctrl Align.txt /*alignctrl*
|
||||
alignctrl- Align.txt /*alignctrl-*
|
||||
alignctrl-+ Align.txt /*alignctrl-+*
|
||||
alignctrl-- Align.txt /*alignctrl--*
|
||||
alignctrl-: Align.txt /*alignctrl-:*
|
||||
alignctrl-< Align.txt /*alignctrl-<*
|
||||
alignctrl-= Align.txt /*alignctrl-=*
|
||||
alignctrl-> Align.txt /*alignctrl->*
|
||||
alignctrl-C Align.txt /*alignctrl-C*
|
||||
alignctrl-I Align.txt /*alignctrl-I*
|
||||
alignctrl-P Align.txt /*alignctrl-P*
|
||||
alignctrl-W Align.txt /*alignctrl-W*
|
||||
alignctrl-alignskip Align.txt /*alignctrl-alignskip*
|
||||
alignctrl-c Align.txt /*alignctrl-c*
|
||||
alignctrl-g Align.txt /*alignctrl-g*
|
||||
alignctrl-init Align.txt /*alignctrl-init*
|
||||
alignctrl-initialization Align.txt /*alignctrl-initialization*
|
||||
alignctrl-l Align.txt /*alignctrl-l*
|
||||
alignctrl-m Align.txt /*alignctrl-m*
|
||||
alignctrl-no-option Align.txt /*alignctrl-no-option*
|
||||
alignctrl-p Align.txt /*alignctrl-p*
|
||||
alignctrl-r Align.txt /*alignctrl-r*
|
||||
alignctrl-separators Align.txt /*alignctrl-separators*
|
||||
alignctrl-settings Align.txt /*alignctrl-settings*
|
||||
alignctrl-star Align.txt /*alignctrl-star*
|
||||
alignctrl-v Align.txt /*alignctrl-v*
|
||||
alignctrl-w Align.txt /*alignctrl-w*
|
||||
alignman Align.txt /*alignman*
|
||||
alignmanual Align.txt /*alignmanual*
|
||||
alignmap-Htd Align.txt /*alignmap-Htd*
|
||||
alignmap-T= Align.txt /*alignmap-T=*
|
||||
alignmap-Tsp Align.txt /*alignmap-Tsp*
|
||||
alignmap-a( Align.txt /*alignmap-a(*
|
||||
alignmap-a, Align.txt /*alignmap-a,*
|
||||
alignmap-a< Align.txt /*alignmap-a<*
|
||||
alignmap-a= Align.txt /*alignmap-a=*
|
||||
alignmap-a? Align.txt /*alignmap-a?*
|
||||
alignmap-abox Align.txt /*alignmap-abox*
|
||||
alignmap-acom Align.txt /*alignmap-acom*
|
||||
alignmap-adcom Align.txt /*alignmap-adcom*
|
||||
alignmap-adec Align.txt /*alignmap-adec*
|
||||
alignmap-adef Align.txt /*alignmap-adef*
|
||||
alignmap-afnc Align.txt /*alignmap-afnc*
|
||||
alignmap-anum Align.txt /*alignmap-anum*
|
||||
alignmap-aocom Align.txt /*alignmap-aocom*
|
||||
alignmap-ascom Align.txt /*alignmap-ascom*
|
||||
alignmap-history Align.txt /*alignmap-history*
|
||||
alignmap-m= Align.txt /*alignmap-m=*
|
||||
alignmap-t# Align.txt /*alignmap-t#*
|
||||
alignmap-t, Align.txt /*alignmap-t,*
|
||||
alignmap-t: Align.txt /*alignmap-t:*
|
||||
alignmap-t; Align.txt /*alignmap-t;*
|
||||
alignmap-t< Align.txt /*alignmap-t<*
|
||||
alignmap-t= Align.txt /*alignmap-t=*
|
||||
alignmap-t? Align.txt /*alignmap-t?*
|
||||
alignmap-tab Align.txt /*alignmap-tab*
|
||||
alignmap-tml Align.txt /*alignmap-tml*
|
||||
alignmap-ts, Align.txt /*alignmap-ts,*
|
||||
alignmap-ts: Align.txt /*alignmap-ts:*
|
||||
alignmap-ts< Align.txt /*alignmap-ts<*
|
||||
alignmap-ts= Align.txt /*alignmap-ts=*
|
||||
alignmap-tsp Align.txt /*alignmap-tsp*
|
||||
alignmap-tsq Align.txt /*alignmap-tsq*
|
||||
alignmap-tt Align.txt /*alignmap-tt*
|
||||
alignmap-t~ Align.txt /*alignmap-t~*
|
||||
alignmaps Align.txt /*alignmaps*
|
||||
alignusage Align.txt /*alignusage*
|
||||
b:VCSCommandCommand vcscommand.txt /*b:VCSCommandCommand*
|
||||
b:VCSCommandOriginalBuffer vcscommand.txt /*b:VCSCommandOriginalBuffer*
|
||||
b:VCSCommandSourceFile vcscommand.txt /*b:VCSCommandSourceFile*
|
||||
b:VCSCommandVCSType vcscommand.txt /*b:VCSCommandVCSType*
|
||||
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.txt bufexplorer.txt /*bufexplorer.txt*
|
||||
buffer-explorer bufexplorer.txt /*buffer-explorer*
|
||||
cecutil cecutil.txt /*cecutil*
|
||||
cecutil-cmd cecutil.txt /*cecutil-cmd*
|
||||
cecutil-contents cecutil.txt /*cecutil-contents*
|
||||
cecutil-copyright cecutil.txt /*cecutil-copyright*
|
||||
cecutil-destroymark cecutil.txt /*cecutil-destroymark*
|
||||
cecutil-history cecutil.txt /*cecutil-history*
|
||||
cecutil-map cecutil.txt /*cecutil-map*
|
||||
cecutil-maps cecutil.txt /*cecutil-maps*
|
||||
cecutil-marks cecutil.txt /*cecutil-marks*
|
||||
cecutil-position cecutil.txt /*cecutil-position*
|
||||
cecutil-posn cecutil.txt /*cecutil-posn*
|
||||
cecutil-restoremark cecutil.txt /*cecutil-restoremark*
|
||||
cecutil-restorewinposn cecutil.txt /*cecutil-restorewinposn*
|
||||
cecutil-rwp cecutil.txt /*cecutil-rwp*
|
||||
cecutil-savemark cecutil.txt /*cecutil-savemark*
|
||||
cecutil-saveusermaps cecutil.txt /*cecutil-saveusermaps*
|
||||
cecutil-savewinposn cecutil.txt /*cecutil-savewinposn*
|
||||
cecutil-swp cecutil.txt /*cecutil-swp*
|
||||
cecutil.txt cecutil.txt /*cecutil.txt*
|
||||
conque-config-general conque_term.txt /*conque-config-general*
|
||||
conque-config-keyboard conque_term.txt /*conque-config-keyboard*
|
||||
conque-config-unix conque_term.txt /*conque-config-unix*
|
||||
conque-config-windows conque_term.txt /*conque-config-windows*
|
||||
conque-term-api conque_term.txt /*conque-term-api*
|
||||
conque-term-bugs conque_term.txt /*conque-term-bugs*
|
||||
conque-term-close conque_term.txt /*conque-term-close*
|
||||
conque-term-contribute conque_term.txt /*conque-term-contribute*
|
||||
conque-term-esc conque_term.txt /*conque-term-esc*
|
||||
conque-term-events conque_term.txt /*conque-term-events*
|
||||
conque-term-feedback conque_term.txt /*conque-term-feedback*
|
||||
conque-term-gen-usage conque_term.txt /*conque-term-gen-usage*
|
||||
conque-term-get-instance conque_term.txt /*conque-term-get-instance*
|
||||
conque-term-input-mode conque_term.txt /*conque-term-input-mode*
|
||||
conque-term-installation conque_term.txt /*conque-term-installation*
|
||||
conque-term-misc conque_term.txt /*conque-term-misc*
|
||||
conque-term-open conque_term.txt /*conque-term-open*
|
||||
conque-term-options conque_term.txt /*conque-term-options*
|
||||
conque-term-read conque_term.txt /*conque-term-read*
|
||||
conque-term-register conque_term.txt /*conque-term-register*
|
||||
conque-term-requirements conque_term.txt /*conque-term-requirements*
|
||||
conque-term-send conque_term.txt /*conque-term-send*
|
||||
conque-term-set-callback conque_term.txt /*conque-term-set-callback*
|
||||
conque-term-setup conque_term.txt /*conque-term-setup*
|
||||
conque-term-special-keys conque_term.txt /*conque-term-special-keys*
|
||||
conque-term-subprocess conque_term.txt /*conque-term-subprocess*
|
||||
conque-term-usage conque_term.txt /*conque-term-usage*
|
||||
conque-term-windows conque_term.txt /*conque-term-windows*
|
||||
conque-term-write conque_term.txt /*conque-term-write*
|
||||
conque-term-writeln conque_term.txt /*conque-term-writeln*
|
||||
cvscommand-changes vcscommand.txt /*cvscommand-changes*
|
||||
g:AlignSkip Align.txt /*g:AlignSkip*
|
||||
g:alignmaps_euronumber Align.txt /*g:alignmaps_euronumber*
|
||||
g:alignmaps_usanumber Align.txt /*g:alignmaps_usanumber*
|
||||
g:bufExplorerDefaultHelp bufexplorer.txt /*g:bufExplorerDefaultHelp*
|
||||
g:bufExplorerDetailedHelp bufexplorer.txt /*g:bufExplorerDetailedHelp*
|
||||
g:bufExplorerFindActive bufexplorer.txt /*g:bufExplorerFindActive*
|
||||
g:bufExplorerReverseSort bufexplorer.txt /*g:bufExplorerReverseSort*
|
||||
g:bufExplorerShowDirectories bufexplorer.txt /*g:bufExplorerShowDirectories*
|
||||
g:bufExplorerShowRelativePath bufexplorer.txt /*g:bufExplorerShowRelativePath*
|
||||
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*
|
||||
getlatestvimscripts-install pi_getscript.txt /*getlatestvimscripts-install*
|
||||
getscript pi_getscript.txt /*getscript*
|
||||
getscript-autoinstall pi_getscript.txt /*getscript-autoinstall*
|
||||
getscript-data pi_getscript.txt /*getscript-data*
|
||||
getscript-history pi_getscript.txt /*getscript-history*
|
||||
getscript-plugins pi_getscript.txt /*getscript-plugins*
|
||||
getscript-start pi_getscript.txt /*getscript-start*
|
||||
glvs pi_getscript.txt /*glvs*
|
||||
glvs-alg pi_getscript.txt /*glvs-alg*
|
||||
glvs-algorithm pi_getscript.txt /*glvs-algorithm*
|
||||
glvs-autoinstall pi_getscript.txt /*glvs-autoinstall*
|
||||
glvs-contents pi_getscript.txt /*glvs-contents*
|
||||
glvs-copyright pi_getscript.txt /*glvs-copyright*
|
||||
glvs-data pi_getscript.txt /*glvs-data*
|
||||
glvs-dist-install pi_getscript.txt /*glvs-dist-install*
|
||||
glvs-hist pi_getscript.txt /*glvs-hist*
|
||||
glvs-install pi_getscript.txt /*glvs-install*
|
||||
glvs-options pi_getscript.txt /*glvs-options*
|
||||
glvs-plugins pi_getscript.txt /*glvs-plugins*
|
||||
glvs-usage pi_getscript.txt /*glvs-usage*
|
||||
open-terminal open_terminal.txt /*open-terminal*
|
||||
open-terminal-about open_terminal.txt /*open-terminal-about*
|
||||
open-terminal-changelog open_terminal.txt /*open-terminal-changelog*
|
||||
open-terminal-commands open_terminal.txt /*open-terminal-commands*
|
||||
open-terminal-introduction open_terminal.txt /*open-terminal-introduction*
|
||||
open-terminal-keymap open_terminal.txt /*open-terminal-keymap*
|
||||
open-terminal-requires open_terminal.txt /*open-terminal-requires*
|
||||
pi_getscript.txt pi_getscript.txt /*pi_getscript.txt*
|
||||
taglist-commands taglist.txt /*taglist-commands*
|
||||
taglist-debug taglist.txt /*taglist-debug*
|
||||
taglist-extend taglist.txt /*taglist-extend*
|
||||
taglist-faq taglist.txt /*taglist-faq*
|
||||
taglist-functions taglist.txt /*taglist-functions*
|
||||
taglist-install taglist.txt /*taglist-install*
|
||||
taglist-internet taglist.txt /*taglist-internet*
|
||||
taglist-intro taglist.txt /*taglist-intro*
|
||||
taglist-keys taglist.txt /*taglist-keys*
|
||||
taglist-license taglist.txt /*taglist-license*
|
||||
taglist-menu taglist.txt /*taglist-menu*
|
||||
taglist-options taglist.txt /*taglist-options*
|
||||
taglist-requirements taglist.txt /*taglist-requirements*
|
||||
taglist-session taglist.txt /*taglist-session*
|
||||
taglist-todo taglist.txt /*taglist-todo*
|
||||
taglist-using taglist.txt /*taglist-using*
|
||||
taglist.txt taglist.txt /*taglist.txt*
|
||||
textformat-commands textformat.txt /*textformat-commands*
|
||||
textformat-config textformat.txt /*textformat-config*
|
||||
textformat-history textformat.txt /*textformat-history*
|
||||
textformat-keymap textformat.txt /*textformat-keymap*
|
||||
textformat-start textformat.txt /*textformat-start*
|
||||
textformat.txt textformat.txt /*textformat.txt*
|
||||
trac-changeset-view trac.txt /*trac-changeset-view*
|
||||
trac-format trac.txt /*trac-format*
|
||||
trac-format-blockquotes trac.txt /*trac-format-blockquotes*
|
||||
trac-format-definition trac.txt /*trac-format-definition*
|
||||
trac-format-discussion trac.txt /*trac-format-discussion*
|
||||
trac-format-font trac.txt /*trac-format-font*
|
||||
trac-format-headings trac.txt /*trac-format-headings*
|
||||
trac-format-images trac.txt /*trac-format-images*
|
||||
trac-format-links trac.txt /*trac-format-links*
|
||||
trac-format-lists trac.txt /*trac-format-lists*
|
||||
trac-format-macros trac.txt /*trac-format-macros*
|
||||
trac-format-misc trac.txt /*trac-format-misc*
|
||||
trac-format-nolink trac.txt /*trac-format-nolink*
|
||||
trac-format-notes trac.txt /*trac-format-notes*
|
||||
trac-format-paragraphs trac.txt /*trac-format-paragraphs*
|
||||
trac-format-preformatted trac.txt /*trac-format-preformatted*
|
||||
trac-format-processors trac.txt /*trac-format-processors*
|
||||
trac-format-tables trac.txt /*trac-format-tables*
|
||||
trac-format-traclinks trac.txt /*trac-format-traclinks*
|
||||
trac-requirements trac.txt /*trac-requirements*
|
||||
trac-search-view trac.txt /*trac-search-view*
|
||||
trac-server trac.txt /*trac-server*
|
||||
trac-setup trac.txt /*trac-setup*
|
||||
trac-ticket-attachments trac.txt /*trac-ticket-attachments*
|
||||
trac-ticket-changes trac.txt /*trac-ticket-changes*
|
||||
trac-ticket-comments trac.txt /*trac-ticket-comments*
|
||||
trac-ticket-create trac.txt /*trac-ticket-create*
|
||||
trac-ticket-filters trac.txt /*trac-ticket-filters*
|
||||
trac-ticket-session trac.txt /*trac-ticket-session*
|
||||
trac-ticket-sorting trac.txt /*trac-ticket-sorting*
|
||||
trac-ticket-view trac.txt /*trac-ticket-view*
|
||||
trac-timeline-view trac.txt /*trac-timeline-view*
|
||||
trac-wiki-attachments trac.txt /*trac-wiki-attachments*
|
||||
trac-wiki-diff trac.txt /*trac-wiki-diff*
|
||||
trac-wiki-editing trac.txt /*trac-wiki-editing*
|
||||
trac-wiki-htmlpreview trac.txt /*trac-wiki-htmlpreview*
|
||||
trac-wiki-save trac.txt /*trac-wiki-save*
|
||||
trac-wiki-view trac.txt /*trac-wiki-view*
|
||||
trac.txt trac.txt /*trac.txt*
|
||||
vcscommand vcscommand.txt /*vcscommand*
|
||||
vcscommand-buffer-management vcscommand.txt /*vcscommand-buffer-management*
|
||||
vcscommand-buffer-variables vcscommand.txt /*vcscommand-buffer-variables*
|
||||
vcscommand-bugs vcscommand.txt /*vcscommand-bugs*
|
||||
vcscommand-commands vcscommand.txt /*vcscommand-commands*
|
||||
vcscommand-config vcscommand.txt /*vcscommand-config*
|
||||
vcscommand-contents vcscommand.txt /*vcscommand-contents*
|
||||
vcscommand-customize vcscommand.txt /*vcscommand-customize*
|
||||
vcscommand-events vcscommand.txt /*vcscommand-events*
|
||||
vcscommand-install vcscommand.txt /*vcscommand-install*
|
||||
vcscommand-intro vcscommand.txt /*vcscommand-intro*
|
||||
vcscommand-manual vcscommand.txt /*vcscommand-manual*
|
||||
vcscommand-mappings vcscommand.txt /*vcscommand-mappings*
|
||||
vcscommand-mappings-override vcscommand.txt /*vcscommand-mappings-override*
|
||||
vcscommand-naming vcscommand.txt /*vcscommand-naming*
|
||||
vcscommand-options vcscommand.txt /*vcscommand-options*
|
||||
vcscommand-ssh vcscommand.txt /*vcscommand-ssh*
|
||||
vcscommand-ssh-config vcscommand.txt /*vcscommand-ssh-config*
|
||||
vcscommand-ssh-env vcscommand.txt /*vcscommand-ssh-env*
|
||||
vcscommand-ssh-other vcscommand.txt /*vcscommand-ssh-other*
|
||||
vcscommand-ssh-wrapper vcscommand.txt /*vcscommand-ssh-wrapper*
|
||||
vcscommand-statusline vcscommand.txt /*vcscommand-statusline*
|
||||
vcscommand.txt vcscommand.txt /*vcscommand.txt*
|
301
doc/textformat.txt
Normal file
301
doc/textformat.txt
Normal file
@ -0,0 +1,301 @@
|
||||
*textformat.txt* Vim Text Formatter (version 2.1) 2008-09-13
|
||||
|
||||
|
||||
Description This plugin provides commands and key mappings to quickly
|
||||
align and format text. Text can be easily reformatted and
|
||||
aligned to either left or right margin or justified to both
|
||||
margins or centered. The text formatting commands provided by
|
||||
this plugin are a bit more automatic and more intelligent than
|
||||
those integrated to Vim. Together they make more powerful
|
||||
command set for formatting text.
|
||||
|
||||
Author Teemu Likonen <tlikonen@iki.fi>
|
||||
|
||||
|
||||
|
||||
|
||||
Contents
|
||||
|
||||
1. Quick start |textformat-start|
|
||||
2. Commands |textformat-commands|
|
||||
3. Default key mappings |textformat-keymap|
|
||||
4. Configuration |textformat-config|
|
||||
5. Version history |textformat-history|
|
||||
|
||||
==============================================================================
|
||||
1. Quick start *textformat-start*
|
||||
|
||||
The impatient are always with us so below is a short info on (probably) the
|
||||
most important tools provided by this plugin. See the following sections of
|
||||
this manual for more detailed instructions.
|
||||
|
||||
<Leader>al Left-align and reformat
|
||||
<Leader>ar Right-align
|
||||
<Leader>aj Left-right justify and reformat
|
||||
<Leader>ac Center lines
|
||||
|
||||
In normal mode the commands operate on current paragraph; in visual mode they
|
||||
operate on the selected lines. By default, <Leader> is the backslash key, so
|
||||
the mappings are actually \al, \ar, \aj and \ac, by default. If you have
|
||||
changed the g:mapleader variable in your .vimrc file <Leader> may be something
|
||||
else.
|
||||
|
||||
==============================================================================
|
||||
2. Commands *textformat-commands*
|
||||
|
||||
Let's start with the basic components of this plugin. These are the ex
|
||||
commands. You probably don't need these very often but they can be handy if
|
||||
you want to have text formatting and aligning as a part of a macro or function
|
||||
or something. The "daily tools" are explained later.
|
||||
|
||||
:[range]AlignLeft [indent] *:AlignLeft*
|
||||
Align to left all the lines in [range] (default is
|
||||
current line) and truncate all extra whitespace
|
||||
characters. That is, if there are more than one space
|
||||
between words they are reduced to just one. If
|
||||
'joinspaces' is set then two spaces are added after
|
||||
every sentence ending with character ".", "?" or "!".
|
||||
|
||||
If optional numeric argument [indent] is given then
|
||||
that is used as the left margin. If [indent] is not
|
||||
given the indent of the first line in the [range] (and
|
||||
the first line of each paragraph within the [range])
|
||||
is used to define indent for the rest of the lines in
|
||||
the paragraph. There is one exception: if
|
||||
'formatoptions' contains "2" then the second line
|
||||
defines the indent for the rest of the lines in the
|
||||
paragraph.
|
||||
|
||||
Note: This is very similar to |:left| command except
|
||||
that this also truncates whitespaces and that without
|
||||
[indent] each paragraph's indent is detected and used.
|
||||
|
||||
Note: There is a possible unexpected behaviour: If
|
||||
command is run without [range] (i.e., it's just the
|
||||
current line) and [indent] is not given then this
|
||||
command just "aligns" to the current indent position
|
||||
and truncates whitespaces. You might see nothing
|
||||
happening if there weren't any extra whitespaces. Use
|
||||
[indent] (or |:left| command) to align to desired
|
||||
column.
|
||||
|
||||
:[range]AlignRight [width] *:AlignRight*
|
||||
Align to right all the lines in [range] (default is
|
||||
current line) and truncate all extra whitespace
|
||||
characters (honor 'joinspaces', as in :AlignLeft).
|
||||
[width] is used as the right margin. If [width] is not
|
||||
given the value of 'textwidth' option is used instead.
|
||||
If 'textwidth' is zero then the value of 80 is used.
|
||||
|
||||
Note: This is very similar to |:right| command except
|
||||
that this also truncates whitespaces.
|
||||
|
||||
:[range]AlignJustify [width] *:AlignJustify*
|
||||
Left-right justify lines in [range] (default is
|
||||
current line). This means adjusting spaces between
|
||||
words so that the lines fit. If 'joinspaces' is set
|
||||
then at least two spaces are printed after every
|
||||
sentence ending with a ".", "?" or "!". The first line
|
||||
in [range] (and the first line in each paragraph
|
||||
within the [range]) defines the indent for the rest of
|
||||
the lines in the paragraph, except if 'formatoptions'
|
||||
contains "2" then it's the second line.
|
||||
|
||||
Numeric argument [width] is used as the right margin.
|
||||
If [width] is not given the value of 'textwidth' is
|
||||
used instead. If 'textwidth' is zero then the value of
|
||||
80 is used.
|
||||
|
||||
Also see the Discussion below.
|
||||
|
||||
:[range]AlignCenter [width] *:AlignCenter*
|
||||
Center lines in [range] (default is current line)
|
||||
between the first column and [width]. All extra
|
||||
whitespace characters are truncated (but honor
|
||||
'joinspaces', just like in :AlignLeft). If [width] is
|
||||
not given the value of 'textwidth' option is used
|
||||
instead. If 'textwidth' is zero the value of 80 is
|
||||
used.
|
||||
|
||||
Note: This is very similar to |:center| except that
|
||||
this also truncates whitespaces.
|
||||
|
||||
|
||||
Discussion ~
|
||||
|
||||
All the previous ex commands are rather "stupid" and operate on single lines
|
||||
only. They do not wrap lines nor do other kind of formatting. If [width] (or
|
||||
'textwidth') is too narrow for the line then some characters will go beyond
|
||||
the right margin. This is similar to Vim's own |:left|, |:right| and |:center|
|
||||
commands. More sophisticated formatting tools are provided as key mappings
|
||||
(see below).
|
||||
|
||||
Usually when paragraphs are justified the last line of each paragraph is
|
||||
aligned to left. However, :AlignJustify command does not do this. The purpose
|
||||
of this command is to do exactly what was asked for: left-right justify
|
||||
a range of lines. More sophisticated justify tools is <Leader>aj which
|
||||
reformats the paragraph (like |gw|), justifies lines and aligns each
|
||||
paragraph's last line to left.
|
||||
|
||||
All the commands truncate extra whitespaces which makes them work well
|
||||
together. This is particularly because the left-right justify needs to add
|
||||
extra spaces to make lines fill the text area. If you later want to reformat
|
||||
such previously justified paragraph and align it to left, for example, it's
|
||||
convenient that the tool automatically handles this and removes extra spaces.
|
||||
If you want to align text without truncating whitespaces use Vim's own align
|
||||
commands: |:left|, |:right| and |:center|.
|
||||
|
||||
==============================================================================
|
||||
3. Default key mappings *textformat-keymap*
|
||||
|
||||
By default this plugin provides a couple of key mappings for convenient text
|
||||
formatting. If the mappings have already been defined by user (or are taken by
|
||||
other plugins) then some of the following mappings may not be automatically
|
||||
available. See the next section of this manual for information on how to
|
||||
change the default mappings.
|
||||
|
||||
There are key mappings available for normal mode and visual mode. As usual,
|
||||
<Leader> is the backslash key by default but it can be changed with
|
||||
g:mapleader variable. Consult the Vim manual for more information on <Leader>.
|
||||
|
||||
|
||||
Normal mode (current paragraph) ~
|
||||
|
||||
<Leader>al Left-align the current "inner paragraph" (see |ip|)
|
||||
and reformat it according to 'textwidth'.
|
||||
|
||||
<Leader>ar Right-align the current "inner paragraph" (see |ip|)
|
||||
to margin at 'textwidth'. This does not reformat the
|
||||
paragraph because with right-aligned text user usually
|
||||
wants to decide exactly what goes to what line.
|
||||
|
||||
<Leader>aj Left-right justify the current "inner paragraph" (see
|
||||
|ip|). Technically each line's whitespaces are first
|
||||
truncated, then the text is reformatted according to
|
||||
'textwidth' and finally lines are justified. The last
|
||||
line (of each text paragraph) is aligned to left.
|
||||
|
||||
<Leader>ac Center lines of current "inner paragraph" (see |ip|)
|
||||
between the first column and 'textwidth'. This does
|
||||
not reformat the paragraph because with centered text
|
||||
user usually wants to decide exactly what goes to what
|
||||
line.
|
||||
|
||||
|
||||
Visual mode (range of lines) ~
|
||||
|
||||
{Visual}<Leader>al Left-align and reformat {Visual} lines so that they
|
||||
fill 'textwidth'.
|
||||
|
||||
{Visual}<Leader>ar Right-align {Visual} lines.
|
||||
|
||||
{Visual}<Leader>aj Left-right justify {Visual} lines. First truncate all
|
||||
extra whitespace characters, then reformat lines so
|
||||
that they fill 'textwidth' and finally left-right
|
||||
justify. The last line of each paragraph as well as
|
||||
the last line in {Visual} range is aligned to left.
|
||||
|
||||
{Visual}<Leader>ac Center {Visual} lines.
|
||||
|
||||
|
||||
Both normal mode and visual mode commands truncate extra whitespace
|
||||
characters. If 'joinspaces' is set then an extra space is added after every
|
||||
sentence ending with a ".", "?" or "!". The first line in each paragraph
|
||||
inside the range defines the indent for the rest of the lines in the
|
||||
paragraph, except if 'formatoptions' contains "2" then it's the second line.
|
||||
|
||||
|
||||
Paragraph definitions ~
|
||||
|
||||
The normal mode commands operate on the concept of "inner paragraph" (see
|
||||
|ip|). The effect is almost the same as selecting current paragraph with Vim's
|
||||
"vip" command and then executing the equivalent visual mode command. Such
|
||||
inner paragraph may contain several text paragraphs if 'formatoptions'
|
||||
contains "w". Each of them is reformatted separately with <Leader>al and
|
||||
<Leader>aj commands.
|
||||
|
||||
New paragraph always begins after a blank line. If 'formatoptions' contains
|
||||
"w" then new paragraph also begins after a line which ends with
|
||||
a non-whitespace character. That is, with "w" in 'formatoptions' every line
|
||||
which ends with a non-whitespace also ends a paragraph. In left-right justify
|
||||
(<Leader>aj) such line is aligned to left. You need to ensure that there is
|
||||
a trailing whitespace in every consecutive line which belongs to same
|
||||
paragraph (the whitespace is preserved after formatting). If 'formatoptions'
|
||||
does not contain "w" then all consecutive non-blank lines belong to same
|
||||
paragraph.
|
||||
|
||||
==============================================================================
|
||||
4. Configuration *textformat-config*
|
||||
|
||||
The key mappings can be configured freely by user. This plugin uses the
|
||||
default ones only if they are free and not used for other purposes. Here's an
|
||||
example of lines you could put to your .vimrc file:
|
||||
>
|
||||
nmap <F5> <Plug>Quick_Align_Paragraph_Left
|
||||
nmap <F6> <Plug>Quick_Align_Paragraph_Right
|
||||
nmap <F7> <Plug>Quick_Align_Paragraph_Justify
|
||||
nmap <F8> <Plug>Quick_Align_Paragraph_Center
|
||||
|
||||
vmap <F5> <Plug>Align_Range_Left
|
||||
vmap <F6> <Plug>Align_Range_Right
|
||||
vmap <F7> <Plug>Align_Range_Justify
|
||||
vmap <F8> <Plug>Align_Range_Center
|
||||
|
||||
That is, |:nmap| command defines mappings for normal mode and |:vmap| for
|
||||
visual mode. Function keys from <F5> to <F8> are used in this example. The
|
||||
rest of the line is a code word for Vim and this plugin. They must be written
|
||||
exactly as shown in the example. I think the code words are pretty much
|
||||
self-descriptive.
|
||||
|
||||
Don't use |:nnoremap| and |:vnoremap| commands here; they don't work because
|
||||
the right-hand side (<Plug>...) must be remappable. See Vim's manual for more
|
||||
information about the key map commands.
|
||||
|
||||
Most part of this plugin is loaded into memory when the text-formatting
|
||||
commands or key maps are used for the first time. Only the very minimum is
|
||||
automatically loaded when Vim is started. If you want to completely avoid
|
||||
loading this plugin put the following line to your .vimrc file:
|
||||
>
|
||||
let g:loaded_textformat = 1
|
||||
|
||||
Happy formatting!
|
||||
|
||||
==============================================================================
|
||||
5. Version history *textformat-history*
|
||||
|
||||
v2.1 2008-09-13
|
||||
|
||||
- Minor internal cleanup.
|
||||
|
||||
v2.0 2008-08-10
|
||||
|
||||
- \al and \aj now reformat text also in visual mode.
|
||||
- \al and \aj honor "w" in 'formatoptions' and detect paragraph
|
||||
boundaries accordingly.
|
||||
- :AlignLeft, :AlignJustify, \al and \aj recognize several
|
||||
paragraphs within the range and detect indent for each
|
||||
paragraph separately.
|
||||
- Add logic to load the plugin script only once.
|
||||
|
||||
v1.1 2008-08-04
|
||||
|
||||
- Keep cursor position more accurately when formatting
|
||||
a paragraph with \al and \aj.
|
||||
- When 'joinspaces' is set insert two spaces after .?!
|
||||
punctuation with left-right justify. This is now similar to
|
||||
other commands.
|
||||
|
||||
v1.0 2008-08-03
|
||||
|
||||
- All the commands now follow user's 'expandtab' setting and
|
||||
print leading whitespaces accordingly. Now this works just
|
||||
like :left, :right and :center commands.
|
||||
- The left-aligned last line in justified paragraph did not
|
||||
honor 'joinspaces'. Fixed.
|
||||
|
||||
v0.9 2008-08-01
|
||||
|
||||
- Initial upload to http://www.vim.org .
|
||||
|
||||
==============================================================================
|
||||
vim: ft=help tw=78 ts=8 et norl fo+=2aw
|
627
doc/trac.txt
Normal file
627
doc/trac.txt
Normal file
@ -0,0 +1,627 @@
|
||||
*trac.txt*
|
||||
|
||||
Vimtrac Usage Notes
|
||||
|
||||
1. System Requirements |trac-requirements|
|
||||
2. Setup |trac-setup|
|
||||
3. Server Selection |trac-server|
|
||||
4. Wiki Viewing / Editing |trac-wiki-view|
|
||||
4.1 Wiki Browsing/Editing |trac-wiki-editing|
|
||||
4.2. Adding/ Retrieving an Attachment |trac-wiki-attachments|
|
||||
4.3. HTML Preview |trac-wiki-htmlpreview|
|
||||
4.4. Saving Wiki's |trac-wiki-save|
|
||||
4.5 Wiki Vim Diffs |trac-wiki-diff|
|
||||
5. Trac Ticket View |trac-ticket-view|
|
||||
5.1 Ticket Filters |trac-ticket-filters|
|
||||
5.1.1 Ticket Sorting |trac-ticket-sorting|
|
||||
5.2. Adding Comments |trac-ticket-comments|
|
||||
5.3. Changing ticket states |trac-ticket-changes|
|
||||
5.4. Creating Tickets |trac-ticket-create|
|
||||
5.5. Adding/Retrieving attachments |trac-ticket-attachments|
|
||||
5.6 Ticket Sessions |trac-ticket-session|
|
||||
6. Trac Search View |trac-search-view|
|
||||
7. Changeset View |trac-changeset-view|
|
||||
8. Timeline View |trac-timeline-view|
|
||||
9. WikiFormatting |trac-wiki-formatting|
|
||||
9.1 Font Styles |trac-format-font|
|
||||
9.1 Notes: |trac-format-notes|
|
||||
9.2 Headings |trac-format-headings|
|
||||
9.3 Paragraphs |trac-format-paragraphs|
|
||||
9.4 Lists |trac-format-lists|
|
||||
9.4 Definition Lists |trac-format-definition|
|
||||
9.5 Preformatted Text |trac-format-preformatted|
|
||||
9.6 Blockquotes |trac-format-blockquotes|
|
||||
9.7 Discussion Citations |trac-format-discussion|
|
||||
9.8 Tables |trac-format-tables|
|
||||
9.9 Links |trac-format-links|
|
||||
9.9.1 Trac Links |trac-format-traclinks|
|
||||
9.10 Escaping Links and WikiPageNames |trac-format-nolink|
|
||||
9.11 Images |trac-format-images|
|
||||
9.12 Macros |trac-format-macros|
|
||||
9.13 Processors |trac-format-processors|
|
||||
9.14 Miscellaneous |trac-format-misc|
|
||||
================================================================================
|
||||
1. System Requirements *trac-requirements*
|
||||
|
||||
You must have a working Trac repository version 0.10 or later complete with
|
||||
the xmlrpc plugin and a user with suitable access rights.
|
||||
|
||||
Vim must be compiled with python support and your client must have python
|
||||
2.4.4 or later
|
||||
|
||||
To use the summary view you need to have the Align plugin installed for the
|
||||
layout.
|
||||
|
||||
http://www.vim.org/scripts/script.php?script_id=294
|
||||
================================================================================
|
||||
2. Setup *trac-setup*
|
||||
|
||||
You need to create a list of trac servers using this format in your vimrc.
|
||||
|
||||
"let g:tracServerList = {}
|
||||
"let g:tracServerList['(Server Name)'] =
|
||||
\'http://(user):(password)@(trac serverpath)/login/xmlrpc'
|
||||
|
||||
Check out
|
||||
|
||||
http://www.ascetinteractive.com.au/vimtrac/wiki/UsageNotes and
|
||||
http://www.ascetinteractive.com.au/vimtrac/wiki/TricksAndTips
|
||||
|
||||
for more up to date notes
|
||||
|
||||
================================================================================
|
||||
3. Server Selection *trac-server*
|
||||
|
||||
|
||||
:TWServer [ServerName] *:TWServer*
|
||||
:TTServer [ServerName] *:TTServer*
|
||||
:TTLServer [ServerName] *:TTLServer*
|
||||
|
||||
Sets the current trac server where the
|
||||
The <tab> key will cycle through available servers.
|
||||
|
||||
The wiki (TW), ticket (TT) and timeline (TTL) vaiations will open the
|
||||
respective views
|
||||
================================================================================
|
||||
4. Wiki Viewing / Editing *trac-wiki-view*
|
||||
|
||||
The Trac Wiki view is for browsing an editing a trac websites wiki pages.
|
||||
|
||||
*:TWOpen*
|
||||
|
||||
To open the wiki view use the command :TWOpen [OptionalWikiPage]
|
||||
|
||||
If no page argument is given the plugin will open the main page WikiStart
|
||||
by default
|
||||
|
||||
4.1. Browsing/Editing *trac-wiki-editing*
|
||||
|
||||
The WIKITOC_WINDOW will show a list of pages. Scrolling up and down and
|
||||
Pressing <return> on a page will open the selected page in the WIKI_WINDOW
|
||||
|
||||
Pressing <space> over the page in the WIKITOC_WINDOW will display the page
|
||||
in a browser
|
||||
|
||||
Trac sites usually have a bunch of in built pages Trac* or Wiki* you can
|
||||
hide these from view by setting the global variable in your vimrc. let
|
||||
g:tracHideTracWiki = 'yes'
|
||||
|
||||
At the moment this is done with a simple regexp so if you name your own
|
||||
pages Trac... or Wiki... they will not appear on the Table of Contents.
|
||||
|
||||
You can also load a page by pressing the usual tag jump <c-]> to open the
|
||||
page under the cursor. At the moment theres no page name validation so it
|
||||
will throw an error if you try an open a nonexistant page.
|
||||
|
||||
4.2. Adding/ Retrieving an Attachment *trac-wiki-attachments*
|
||||
|
||||
:TWAddAttachment [file_path] *:TWAddAttachment*
|
||||
|
||||
adds an attachment to the current active wiki page
|
||||
|
||||
:TWGetAttachment [file] *:TWGetAttachment*
|
||||
|
||||
gets an attachment from the active Wiki Page and save it to the current
|
||||
working directory.
|
||||
|
||||
If a Wiki page opened contains attachments The Wiki Attachment window will
|
||||
appear. Attachments can be downloaded by hovering over the desired
|
||||
attachment and pressing <enter>
|
||||
|
||||
4.3. HTML Preview *trac-wiki-htmlpreview*
|
||||
|
||||
:TTPreview *:TWPreview* *:TTPreview*
|
||||
|
||||
displays the current wiki in html preview (only tested on lynx set
|
||||
g:tracBrowser)
|
||||
|
||||
You can also use the shortcut <leader>tp
|
||||
|
||||
4.4. Saving Wiki's *trac-wiki-save*
|
||||
|
||||
To save a page you can type in the command view
|
||||
:TWSave [optional_wiki_update_comment] *:TWSave*
|
||||
|
||||
Alternatively you can quickly save a page with your regular :wq<cr> or :w<cr>
|
||||
which I've mapped to perform the TWSave? command.
|
||||
|
||||
Exiting Trac Wiki View
|
||||
|
||||
Exiting is done by either the command
|
||||
|
||||
:TClose, :wq<cr> or :q<cr> in either of the wiki windows
|
||||
|
||||
4.5 Wiki Vim Diffs *trac-wiki-diff*
|
||||
|
||||
:TWVimDiff <revision no> *:TWVimDiff*
|
||||
|
||||
Opens a vertical split diff The current wiki's <revision no>. If theres
|
||||
no argument supplied it will be the previous revision.
|
||||
|
||||
|
||||
================================================================================
|
||||
5. Trac Ticket View *trac-ticket-view*
|
||||
|
||||
The Trac ticket view is you browse trac tickets
|
||||
|
||||
Opening
|
||||
|
||||
:TTOpen [optional_ticket_id] *:TTOpen*
|
||||
|
||||
Browsing
|
||||
|
||||
You can scroll up and down the ticket list. Pressing enter will load the
|
||||
ticket id under the cursor.
|
||||
|
||||
|
||||
5.1 Ticket Filters *trac-ticket-filters*
|
||||
|
||||
:TTFilterMilestone [Milestone] *:TTFilterMilestone*
|
||||
:TTFilterType [Type] *:TTFilterType*
|
||||
:TTFilterStatus [Status] *:TTFilterStatus*
|
||||
:TTFilterResolution [Resolution *:TTFilterResolution*
|
||||
:TTFilterPriority [Priority] *:TTFilterPriority*
|
||||
:TTFilterSeverity [Severity] *:TTFilterSeverity*
|
||||
:TTFilterComponent [Component] *:TTFilterComponent*
|
||||
:TTFilterOwner [Owner] *:TTFilterOwner*
|
||||
|
||||
For filtering on respective ticket attributes. Allows a tab complete option
|
||||
for Filter acts as a whitelist ignoring all other tickets not matching the
|
||||
attribute
|
||||
|
||||
:TTIgnoreMilestone [Milestone] *:TTIgnoreMilestone*
|
||||
:TTIgnoreType [Type] *:TTIgnoreType*
|
||||
:TTIgnoreStatus [Status] *:TTIgnoreStatus*
|
||||
:TTIgnoreResolution [Resolution *:TTIgnoreResolution*
|
||||
:TTIgnorePriority [Priority] *:TTIgnorePriority*
|
||||
:TTIgnoreSeverity [Severity] *:TTIgnoreSeverity*
|
||||
:TTIgnoreComponent [Component] *:TTIgnoreComponent*
|
||||
:TTIgnoreOwner [Owner] *:TTIgnoreOwner*
|
||||
|
||||
The Opposite of TTFilter... acts as a blacklist filter on tickets.
|
||||
|
||||
:TTIgnoreNoMilestone [NoMilestone] *:TTIgnoreNoMilestone*
|
||||
:TTIgnoreNoOwner [NoOwner] *:TTIgnoreNoOwner*
|
||||
:TTFilterNoMilestone [NoMilestone] *:TTFilterNoMilestone*
|
||||
:TTFilterNoOwner [NoOwner] *:TTFilterNoOwner*
|
||||
|
||||
Special filters for tickets not owned or categorised
|
||||
|
||||
:TTClearAllFilters *:TTClearAllFilters*
|
||||
Resets the filter list to blank
|
||||
:TTClearFilter [filter no] *:TTClearFilter*
|
||||
Filter numbers and descriptions are displayed at the top of the ticket
|
||||
list. Using this filter will remove the filter number
|
||||
:TTListFilters *:TTListFilters*
|
||||
|
||||
5.1.2 Ticket Sorting *trac-ticket-sorting*
|
||||
|
||||
:TTSortby [sort_option] *:TTSortby*
|
||||
|
||||
Tickets can either be sorted according to milestone or priority. Milestones
|
||||
will appear in order of due date and ticket priority is arranged according
|
||||
to the trac-admin priority settings.
|
||||
|
||||
5.2. Adding Comments *trac-ticket-comments*
|
||||
|
||||
The TICKET_COMMENT window is for adding comments. To commit a comment write
|
||||
the message first and then type
|
||||
|
||||
:TTAddComment *:TTAddComment*
|
||||
|
||||
5.3. Changing ticket states *trac-ticket-changes*
|
||||
|
||||
Trac current ticket option modifications (use tab complete)
|
||||
|
||||
:TTSetMilestone [Milestone] *:TTSet*
|
||||
:TTSetType [Type]
|
||||
:TTSetStatus [Status]
|
||||
:TTSetResolution [Resolution]
|
||||
:TTSetPriority [Priority]
|
||||
:TTSetSeverity [Severity]
|
||||
:TTSetComponent [Component]
|
||||
:TTSetSummary [Summary]
|
||||
|
||||
The setting will immediately be sent to the server.
|
||||
|
||||
|
||||
:TTUpdateDescrption *:TTUpdateDescrption*
|
||||
|
||||
Takes the text from the TICKET_COMMENT_WINDOW and updates a tickets
|
||||
description. It will prompt for confirmation before committing
|
||||
|
||||
5.4. Creating Tickets *trac-ticket-create*
|
||||
|
||||
This is still a bit of a hack. If you add a description in the
|
||||
TICKET_COMMENT window and type the command
|
||||
|
||||
:TTCreateTask [ticket_summary] *TTCreateTask*
|
||||
:TTCreateDefect [ticket_summary] *TTCreateDefect*
|
||||
:TTCreateEnhancement [ticket_summary] *TTCreateEnhancement*
|
||||
|
||||
A new ticket will be created with the default attributes (set in trac.ini).
|
||||
When creating a ticket you can create a description initially in the
|
||||
TICKET_COMMENT_WINDOW or alternatively you can add a description later
|
||||
using |TTUpdateDescrption|.
|
||||
|
||||
5.5. Adding/Retrieving attachments *trac-ticket-attachments*
|
||||
|
||||
:TTAddAttachment [file_path] *TTAddAttachment*
|
||||
|
||||
Adds a ticket to the current open ticket
|
||||
:TTGetAttachment [file]
|
||||
|
||||
Retrieves an atteched file and saves it to the current working directory.
|
||||
File options for the current ticket may be viewed with <tab> completion.
|
||||
|
||||
5.6. Ticket Sessions *trac-ticket-session*
|
||||
|
||||
It's possible to associate a list of open files with a trac ticket on the
|
||||
local server which can be handy for reopening tickets another day to make
|
||||
further changes.
|
||||
|
||||
Note: the plugin needs a directory to write to by default it is
|
||||
let g:tracSessionDirectory = expand ('$HOME') . '/.vimtrac_session'
|
||||
|
||||
TTSaveTicketSession *TTSaveTicketSession*
|
||||
Saves the open files and line numbers to the active ticket. You must
|
||||
have a ticket open in the ticket view for this to take effect.
|
||||
|
||||
TTLoadTicketSession *TTLoadTicketSession*
|
||||
|
||||
Loads the Tickets Session information
|
||||
|
||||
5.7. Exiting
|
||||
|
||||
:TClose
|
||||
|
||||
or :q<cr> in either of the Ticket windows will close the view
|
||||
|
||||
================================================================================
|
||||
6. Trac Search View *trac-search-view*
|
||||
|
||||
*TSearch*
|
||||
:TSearch [search_term]
|
||||
|
||||
Opening Trac Search View
|
||||
|
||||
Will open search view containing matching wiki/ticket/changesets along with
|
||||
basic descrriptions
|
||||
|
||||
:TClose will close this view or a ticket/wiki view will open if an item is
|
||||
selected
|
||||
|
||||
================================================================================
|
||||
7. Changeset View *trac-changeset-view*
|
||||
|
||||
:TChangesetOpen [changeset_id] *:TChangesetOpen*
|
||||
|
||||
opens a unified diff changeset view in a split window
|
||||
|
||||
You can also open a changeset by pressing <enter> on a matching
|
||||
Changeset:>> line in the Trac Seatch window
|
||||
|
||||
================================================================================
|
||||
8. Timeline View *trac-timeline-view*
|
||||
|
||||
Timeline view requires feedparser.py installed.
|
||||
|
||||
http://www.feedparser.org/
|
||||
|
||||
The timeline view grabs the rss feed from a trac server.
|
||||
|
||||
:TTimelineOpen *:TTimelineOpen*
|
||||
|
||||
You can also open tickets, wikis and changesets by pressing <enter> on a
|
||||
matching Changeset:>>, Wiki:>> and Ticket:>> line
|
||||
================================================================================
|
||||
9. Trac Wiki Formatting *trac-format*
|
||||
|
||||
This reference is based on the trac wiki information provided with trac.
|
||||
(WikiFormatting) Made easier to read within vim. I'd suggest you read the
|
||||
document in your browser and use this as a quick refresher
|
||||
|
||||
Access this file with :TWikiFormat
|
||||
|
||||
|
||||
Wiki markup is a core feature in Trac, tightly integrating all the other
|
||||
parts of Trac into a flexible and powerful whole.
|
||||
|
||||
Trac has a built in small and powerful wiki rendering engine. This wiki
|
||||
engine implements an ever growing subset of the commands from other popular
|
||||
Wikis, especially [http://moinmoin.wikiwikiweb.de/ MoinMoin].
|
||||
|
||||
|
||||
This page demonstrates the formatting syntax available anywhere
|
||||
WikiFormatting is allowed.
|
||||
|
||||
|
||||
9.1 Font Styles *trac-format-font*
|
||||
|
||||
The Trac wiki supports the following font styles:
|
||||
{{{
|
||||
* '''bold''', '''!''' can be bold too''', and '''! '''
|
||||
* ''italic''
|
||||
* '''''bold italic'''''
|
||||
* __underline__
|
||||
* {{{monospace}}} or `monospace`
|
||||
* ~~strike-through~~
|
||||
* ^superscript^
|
||||
* ,,subscript,,
|
||||
}}}
|
||||
|
||||
|
||||
9.1 Notes: *trac-format-notes*
|
||||
|
||||
`{{{...}}}` and {{{`...`}}} commands not only select a monospace font, but
|
||||
also treat their content as verbatim text, meaning that no further wiki
|
||||
processing is done on this text.
|
||||
|
||||
{{{ ! }}} tells wiki parser to not take the following characters as wiki
|
||||
format, so pay attention to put a space after !, e.g. when ending bold.
|
||||
|
||||
9.2 Headings *trac-format-headings*
|
||||
|
||||
You can create heading by starting a line with one up to five ''equal''
|
||||
characters ("=") followed by a single space and the headline text. The line
|
||||
should end with a space followed by the same number of ''='' characters.
|
||||
The heading might optionally be followed by an explicit id. If not, an
|
||||
implicit but nevertheless readable id will be generated.
|
||||
|
||||
Example:
|
||||
{{{
|
||||
= Heading =
|
||||
== Subheading ==
|
||||
=== About ''this'' ===
|
||||
=== Explicit id === #using-explicit-id-in-heading
|
||||
}}}
|
||||
|
||||
9.3 Paragraphs *trac-format-paragraphs*
|
||||
|
||||
A new text paragraph is created whenever two blocks of text are separated
|
||||
by one or more empty lines.
|
||||
|
||||
A forced line break can also be inserted, using:
|
||||
{{{
|
||||
Line 1[[BR]]Line 2
|
||||
}}}
|
||||
|
||||
|
||||
9.4 Lists *trac-format-lists*
|
||||
|
||||
The wiki supports both ordered/numbered and unordered lists.
|
||||
|
||||
Example:
|
||||
{{{
|
||||
* Item 1
|
||||
* Item 1.1
|
||||
* Item 2
|
||||
|
||||
1. Item 1
|
||||
a. Item 1.a
|
||||
a. Item 1.b
|
||||
i. Item 1.b.i
|
||||
i. Item 1.b.ii
|
||||
1. Item 2
|
||||
And numbered lists can also be given an explicit number:
|
||||
3. Item 3
|
||||
}}}
|
||||
|
||||
Note that there must be one or more spaces preceding the list item markers,
|
||||
otherwise the list will be treated as a normal paragraph.
|
||||
|
||||
|
||||
9.4 Definition Lists *trac-format-definition*
|
||||
|
||||
The wiki also supports definition lists.
|
||||
|
||||
Example:
|
||||
{{{
|
||||
llama::
|
||||
some kind of mammal, with hair
|
||||
ppython::
|
||||
some kind of reptile, without hair
|
||||
(can you spot the typo?)
|
||||
}}}
|
||||
|
||||
Note that you need a space in front of the defined term.
|
||||
|
||||
|
||||
9.5 Preformatted Text *trac-format-preformatted*
|
||||
|
||||
Block containing preformatted text are suitable for source code snippets,
|
||||
notes and examples. Use three ''curly braces'' wrapped around the text to
|
||||
define a block quote. The curly braces need to be on a separate line.
|
||||
|
||||
Example:
|
||||
{{{
|
||||
{{{
|
||||
def HelloWorld():
|
||||
print "Hello World"
|
||||
}}}
|
||||
}}}
|
||||
|
||||
9.6 Blockquotes *trac-format-blockquotes*
|
||||
|
||||
In order to mark a paragraph as blockquote, indent that paragraph with two
|
||||
spaces.
|
||||
|
||||
Example:
|
||||
{{{
|
||||
This text is a quote from someone else.
|
||||
}}}
|
||||
|
||||
9.7 Discussion Citations *trac-format-discussion*
|
||||
|
||||
To delineate a citation in an ongoing discussion thread, such as the ticket
|
||||
comment area, e-mail-like citation marks (">", ">>", etc.) may be used.
|
||||
|
||||
Example:
|
||||
{{{
|
||||
>> Someone's original text
|
||||
> Someone else's reply text
|
||||
My reply text
|
||||
}}}
|
||||
|
||||
|
||||
''Note: Some WikiFormatting elements, such as lists and preformatted text,
|
||||
are lost in the citation area. Some reformatting may be necessary to
|
||||
create a clear citation.''
|
||||
|
||||
9.8 Tables *trac-format-tables*
|
||||
|
||||
Simple tables can be created like this:
|
||||
{{{
|
||||
||Cell 1||Cell 2||Cell 3||
|
||||
||Cell 4||Cell 5||Cell 6||
|
||||
}}}
|
||||
|
||||
Note that more complex tables can be created using
|
||||
[wiki:WikiRestructuredText#BiggerReSTExample reStructuredText].
|
||||
|
||||
|
||||
9.9 Links *trac-format-links*
|
||||
|
||||
Hyperlinks are automatically created for WikiPageNames and URLs.
|
||||
!WikiPageLinks can be disabled by prepending an exclamation mark "!"
|
||||
character, such as {{{!WikiPageLink}}}.
|
||||
|
||||
Example:
|
||||
{{{
|
||||
TitleIndex, http://www.edgewall.com/, !NotAlink
|
||||
}}}
|
||||
|
||||
Links can be given a more descriptive title by writing the link followed by
|
||||
a space and a title and all this inside square brackets. If the
|
||||
descriptive title is omitted, then the explicit prefix is discarded, unless
|
||||
the link is an external link. This can be useful for wiki pages not
|
||||
adhering to the WikiPageNames convention.
|
||||
|
||||
Example:
|
||||
{{{
|
||||
* [http://www.edgewall.com/ Edgewall Software]
|
||||
* [wiki:TitleIndex Title Index]
|
||||
* [wiki:ISO9000]
|
||||
}}}
|
||||
|
||||
9.9.1 Trac Links *trac-format-traclinks*
|
||||
|
||||
Wiki pages can link directly to other parts of the Trac system. Pages can
|
||||
refer to tickets, reports, changesets, milestones, source files and other
|
||||
Wiki pages using the following notations:
|
||||
|
||||
{{{
|
||||
* Tickets: #1 or ticket:1
|
||||
* Reports: {1} or report:1
|
||||
* Changesets: r1, [1] or changeset:1
|
||||
* ...
|
||||
}}}
|
||||
|
||||
See TracLinks for more in-depth information.
|
||||
|
||||
|
||||
9.10 Escaping Links and WikiPageNames *trac-format-nolink*
|
||||
|
||||
You may avoid making hyperlinks out of TracLinks by preceding an expression
|
||||
with a single "!" (exclamation mark).
|
||||
|
||||
Example:
|
||||
{{{
|
||||
!NoHyperLink
|
||||
!#42 is not a link
|
||||
}}}
|
||||
|
||||
9.11 Images *trac-format-images*
|
||||
|
||||
Urls ending with `.png`, `.gif` or `.jpg` are no longer automatically
|
||||
interpreted as image links, and converted to `<img>` tags.
|
||||
|
||||
You now have to use the ![[Image]] macro (see below).
|
||||
|
||||
|
||||
9.12 Macros *trac-format-macros*
|
||||
|
||||
Macros are ''custom functions'' to insert dynamic content in a page.
|
||||
|
||||
Example:
|
||||
{{{
|
||||
[[Timestamp]]
|
||||
}}}
|
||||
|
||||
|
||||
See WikiMacros for more information, and a list of installed macros.
|
||||
|
||||
|
||||
9.13 Processors *trac-format-processors*
|
||||
|
||||
Trac supports alternative markup formats using WikiProcessors. For example,
|
||||
processors are used to write pages in
|
||||
[wiki:WikiRestructuredText reStructuredText] or [wiki:WikiHtml HTML].
|
||||
|
||||
Example 1:
|
||||
{{{
|
||||
#!html
|
||||
<pre class="wiki">{{{
|
||||
#!html
|
||||
<h1 style="text-align: right; color: blue">HTML Test</h1>
|
||||
}}}</pre>
|
||||
}}}
|
||||
|
||||
Example:
|
||||
{{{
|
||||
#!html
|
||||
<pre class="wiki">{{{
|
||||
#!python
|
||||
class Test:
|
||||
|
||||
def __init__(self):
|
||||
print "Hello World"
|
||||
if __name__ == '__main__':
|
||||
Test()
|
||||
}}}</pre>
|
||||
}}}
|
||||
|
||||
|
||||
Perl:
|
||||
{{{
|
||||
#!perl
|
||||
my ($test) = 0;
|
||||
if ($test > 0) {
|
||||
print "hello";
|
||||
}
|
||||
}}}
|
||||
|
||||
See WikiProcessors for more information.
|
||||
|
||||
|
||||
9.14 Miscellaneous *trac-format-misc*
|
||||
|
||||
Four or more dashes will be replaced by a horizontal line (<HR>)
|
||||
|
||||
Example:
|
||||
{{{
|
||||
----
|
||||
}}}
|
||||
|
||||
See also: TracLinks, TracGuide, WikiHtml, WikiMacros, WikiProcessors,
|
||||
TracSyntaxColoring.
|
843
doc/vcscommand.txt
Normal file
843
doc/vcscommand.txt
Normal file
@ -0,0 +1,843 @@
|
||||
*vcscommand.txt* vcscommand
|
||||
Copyright (c) Bob Hiestand
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to
|
||||
deal in the Software without restriction, including without limitation the
|
||||
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
sell copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
IN THE SOFTWARE.
|
||||
|
||||
For instructions on installing this file, type
|
||||
:help add-local-help
|
||||
inside Vim.
|
||||
|
||||
Author: Bob Hiestand <bob.hiestand@gmail.com>
|
||||
Credits: Benji Fisher's excellent MatchIt documentation
|
||||
|
||||
==============================================================================
|
||||
1. Contents *vcscommand-contents*
|
||||
|
||||
Installation : |vcscommand-install|
|
||||
vcscommand Intro : |vcscommand|
|
||||
vcscommand Manual : |vcscommand-manual|
|
||||
Customization : |vcscommand-customize|
|
||||
SSH "integration" : |vcscommand-ssh|
|
||||
Changes from cvscommand : |cvscommand-changes|
|
||||
Bugs : |vcscommand-bugs|
|
||||
|
||||
==============================================================================
|
||||
|
||||
2. vcscommand Installation *vcscommand-install*
|
||||
|
||||
The vcscommand plugin comprises five files: vcscommand.vim, vcssvn.vim,
|
||||
vcscvs.vim, vcssvk.vim and vcscommand.txt (this file). In order to install
|
||||
the plugin, place the vcscommand.vim, vcssvn.vim, vcssvk.vim, and vcscvs.vim
|
||||
files into a plugin directory in your runtime path (please see
|
||||
|add-global-plugin| and |'runtimepath'|.
|
||||
|
||||
This help file can be included in the VIM help system by copying it into a
|
||||
'doc' directory in your runtime path and then executing the |:helptags|
|
||||
command, specifying the full path of the 'doc' directory. Please see
|
||||
|add-local-help| for more details.
|
||||
|
||||
vcscommand may be customized by setting variables, creating maps, and
|
||||
specifying event handlers. Please see |vcscommand-customize| for more
|
||||
details.
|
||||
|
||||
==============================================================================
|
||||
|
||||
3. vcscommand Intro *vcscommand*
|
||||
*vcscommand-intro*
|
||||
|
||||
The vcscommand plugin provides global ex commands for manipulating
|
||||
version-controlled source files, currently those controlled either by CVS or
|
||||
Subversion. In general, each command operates on the current buffer and
|
||||
accomplishes a separate source control function, such as update, commit, log,
|
||||
and others (please see |vcscommand-commands| for a list of all available
|
||||
commands). The results of each operation are displayed in a scratch buffer.
|
||||
Several buffer variables are defined for those scratch buffers (please see
|
||||
|vcscommand-buffer-variables|).
|
||||
|
||||
The notion of "current file" means either the current buffer, or, in the case
|
||||
of a directory buffer (such as Explorer or netrw buffers), the directory (and
|
||||
all subdirectories) represented by the the buffer.
|
||||
|
||||
For convenience, any vcscommand invoked on a vcscommand scratch buffer acts as
|
||||
though it was invoked on the original file and splits the screen so that the
|
||||
output appears in a new window.
|
||||
|
||||
Many of the commands accept revisions as arguments. By default, most operate
|
||||
on the most recent revision on the current branch if no revision is specified.
|
||||
|
||||
Each vcscommand is mapped to a key sequence starting with the |<Leader>|
|
||||
keystroke. The default mappings may be overridden by supplying different
|
||||
mappings before the plugin is loaded, such as in the vimrc, in the standard
|
||||
fashion for plugin mappings. For examples, please see
|
||||
|vcscommand-mappings-override|.
|
||||
|
||||
The vcscommand plugin may be configured in several ways. For more details,
|
||||
please see |vcscommand-customize|.
|
||||
|
||||
==============================================================================
|
||||
|
||||
4. vcscommand Manual *vcscommand-manual*
|
||||
|
||||
4.1 vcscommand commands *vcscommand-commands*
|
||||
|
||||
vcscommand defines the following commands:
|
||||
|
||||
|:VCSAdd|
|
||||
|:VCSAnnotate|
|
||||
|:VCSBlame|
|
||||
|:VCSCommit|
|
||||
|:VCSDelete|
|
||||
|:VCSDiff|
|
||||
|:VCSGotoOriginal|
|
||||
|:VCSLog|
|
||||
|:VCSRemove|
|
||||
|:VCSRevert|
|
||||
|:VCSReview|
|
||||
|:VCSStatus|
|
||||
|:VCSUpdate|
|
||||
|:VCSVimDiff|
|
||||
|
||||
The following commands are specific to CVS files:
|
||||
|
||||
|:CVSEdit|
|
||||
|:CVSEditors|
|
||||
|:CVSUnedit|
|
||||
|:CVSWatch|
|
||||
|:CVSWatchAdd|
|
||||
|:CVSWatchOn|
|
||||
|:CVSWatchOff|
|
||||
|:CVSWatchRemove|
|
||||
|:CVSWatchers|
|
||||
|
||||
:VCSAdd *:VCSAdd*
|
||||
|
||||
This command adds the current file to source control. Please note, this does
|
||||
not commit the newly-added file. All parameters to the command are passed to
|
||||
the underlying VCS.
|
||||
|
||||
:VCSAnnotate[!] *:VCSAnnotate*
|
||||
|
||||
This command displays the current file with each line annotated with the
|
||||
version in which it was most recently changed. If an argument is given, the
|
||||
argument is used as a revision number to display. If not given an argument,
|
||||
it uses the most recent version of the file (on the current branch, if under
|
||||
CVS control). Additionally, if the current buffer is a VCSAnnotate buffer
|
||||
already, the version number on the current line is used.
|
||||
|
||||
If '!' is used, the view of the annotated buffer is split so that the
|
||||
annotation is in a separate window from the content, and each is highlighted
|
||||
separately.
|
||||
|
||||
For CVS buffers, the 'VCSCommandCVSAnnotateParent' option, if set to non-zero,
|
||||
will cause the above behavior to change. Instead of annotating the version on
|
||||
the current line, the parent revision is used instead, crossing branches if
|
||||
necessary.
|
||||
|
||||
With no arguments the cursor will jump to the line in the annotated buffer
|
||||
corresponding to the current line in the source buffer.
|
||||
|
||||
:VCSBlame[!] *:VCSBlame*
|
||||
|
||||
Alias for |:VCSAnnotate|.
|
||||
|
||||
:VCSCommit[!] *:VCSCommit*
|
||||
|
||||
This command commits changes to the current file to source control.
|
||||
|
||||
If called with arguments, the arguments are the log message.
|
||||
|
||||
If '!' is used, an empty log message is committed.
|
||||
|
||||
If called with no arguments, this is a two-step command. The first step opens
|
||||
a buffer to accept a log message. When that buffer is written, it is
|
||||
automatically closed and the file is committed using the information from that
|
||||
log message. The commit can be abandoned if the log message buffer is deleted
|
||||
or wiped before being written.
|
||||
|
||||
Alternatively, the mapping that is used to invoke :VCSCommit (by default
|
||||
|<Leader>|cc, please see |vcscommand-mappings|) can be used in the log message
|
||||
buffer in Normal mode to immediately commit. This is useful if the
|
||||
|VCSCommandCommitOnWrite| variable is set to 0 to disable the normal
|
||||
commit-on-write behavior.
|
||||
|
||||
:VCSDelete *:VCSDelete*
|
||||
|
||||
Deletes the current file and removes it from source control. All parameters
|
||||
to the command are passed to the underlying VCS.
|
||||
|
||||
:VCSDiff *:VCSDiff*
|
||||
|
||||
With no arguments, this displays the differences between the current file and
|
||||
its parent version under source control in a new scratch buffer.
|
||||
|
||||
With one argument, the diff is performed on the current file against the
|
||||
specified revision.
|
||||
|
||||
With two arguments, the diff is performed between the specified revisions of
|
||||
the current file.
|
||||
|
||||
For CVS, this command uses the |VCSCommandCVSDiffOpt| variable to specify diff
|
||||
options. If that variable does not exist, a plugin-specific default is used.
|
||||
If you wish to have no options, then set it to the empty string.
|
||||
|
||||
For SVN, this command uses the |VCSCommandSVNDiffOpt| variable to specify diff
|
||||
options. If that variable does not exist, the SVN default is used.
|
||||
Additionally, |VCSCommandSVNDiffExt| can be used to select an external diff
|
||||
application.
|
||||
|
||||
:VCSGotoOriginal *:VCSGotoOriginal*
|
||||
|
||||
This command jumps to the source buffer if the current buffer is a VCS scratch
|
||||
buffer.
|
||||
|
||||
:VCSGotoOriginal!
|
||||
|
||||
Like ":VCSGotoOriginal" but also executes :bufwipeout on all VCS scrach
|
||||
buffers associated with the original file.
|
||||
|
||||
:VCSInfo *:VCSInfo*
|
||||
|
||||
This command displays extended information about the current file in a new
|
||||
scratch buffer.
|
||||
|
||||
:VCSLock *:VCSLock*
|
||||
|
||||
This command locks the current file in order to prevent other users from
|
||||
concurrently modifying it. The exact semantics of this command depend on the
|
||||
underlying VCS. This does nothing in CVS. All parameters are passed to the
|
||||
underlying VCS.
|
||||
|
||||
:VCSLog *:VCSLog*
|
||||
|
||||
Displays the version history of the current file in a new scratch buffer. If
|
||||
there is one parameter supplied, it is taken as as a revision parameters to be
|
||||
passed through to the underlying VCS. Otherwise, all parameters are passed to
|
||||
the underlying VCS.
|
||||
|
||||
:VCSRemove *:VCSRemove*
|
||||
|
||||
Alias for |:VCSDelete|.
|
||||
|
||||
:VCSRevert *:VCSRevert*
|
||||
|
||||
This command replaces the current file with the most recent version from the
|
||||
repository in order to wipe out any undesired changes.
|
||||
|
||||
:VCSReview *:VCSReview*
|
||||
|
||||
Displays a particular version of the current file in a new scratch buffer. If
|
||||
no argument is given, the most recent version of the file on the current
|
||||
branch is retrieved.
|
||||
|
||||
:VCSStatus *:VCSStatus*
|
||||
|
||||
Displays versioning information about the current file in a new scratch
|
||||
buffer. All parameters are passed to the underlying VCS.
|
||||
|
||||
|
||||
:VCSUnlock *:VCSUnlock*
|
||||
|
||||
Unlocks the current file in order to allow other users from concurrently
|
||||
modifying it. The exact semantics of this command depend on the underlying
|
||||
VCS. All parameters are passed to the underlying VCS.
|
||||
|
||||
:VCSUpdate *:VCSUpdate*
|
||||
|
||||
Updates the current file with any relevant changes from the repository. This
|
||||
intentionally does not automatically reload the current buffer, though vim
|
||||
should prompt the user to do so if the underlying file is altered by this
|
||||
command.
|
||||
|
||||
:VCSVimDiff *:VCSVimDiff*
|
||||
|
||||
Uses vimdiff to display differences between versions of the current file.
|
||||
|
||||
If no revision is specified, the most recent version of the file on the
|
||||
current branch is used. With one argument, that argument is used as the
|
||||
revision as above. With two arguments, the differences between the two
|
||||
revisions is displayed using vimdiff.
|
||||
|
||||
With either zero or one argument, the original buffer is used to perform the
|
||||
vimdiff. When the scratch buffer is closed, the original buffer will be
|
||||
returned to normal mode.
|
||||
|
||||
Once vimdiff mode is started using the above methods, additional vimdiff
|
||||
buffers may be added by passing a single version argument to the command.
|
||||
There may be up to 4 vimdiff buffers total.
|
||||
|
||||
Using the 2-argument form of the command resets the vimdiff to only those 2
|
||||
versions. Additionally, invoking the command on a different file will close
|
||||
the previous vimdiff buffers.
|
||||
|
||||
:CVSEdit *:CVSEdit*
|
||||
|
||||
This command performs "cvs edit" on the current file. Yes, the output buffer
|
||||
in this case is almost completely useless.
|
||||
|
||||
:CVSEditors *:CVSEditors*
|
||||
|
||||
This command performs "cvs edit" on the current file.
|
||||
|
||||
:CVSUnedit *:CVSUnedit*
|
||||
|
||||
Performs "cvs unedit" on the current file. Again, yes, the output buffer here
|
||||
is basically useless.
|
||||
|
||||
:CVSWatch *:CVSWatch*
|
||||
|
||||
This command takes an argument which must be one of [on|off|add|remove]. The
|
||||
command performs "cvs watch" with the given argument on the current file.
|
||||
|
||||
:CVSWatchAdd *:CVSWatchAdd*
|
||||
|
||||
This command is an alias for ":CVSWatch add"
|
||||
|
||||
:CVSWatchOn *:CVSWatchOn*
|
||||
|
||||
This command is an alias for ":CVSWatch on"
|
||||
|
||||
:CVSWatchOff *:CVSWatchOff*
|
||||
|
||||
This command is an alias for ":CVSWatch off"
|
||||
|
||||
:CVSWatchRemove *:CVSWatchRemove*
|
||||
|
||||
This command is an alias for ":CVSWatch remove"
|
||||
|
||||
:CVSWatchers *:CVSWatchers*
|
||||
|
||||
This command performs "cvs watchers" on the current file.
|
||||
|
||||
4.2 Mappings *vcscommand-mappings*
|
||||
|
||||
By default, a mapping is defined for each command. These mappings execute the
|
||||
default (no-argument) form of each command.
|
||||
|
||||
|<Leader>|ca VCSAdd
|
||||
|<Leader>|cn VCSAnnotate
|
||||
|<Leader>|cN VCSAnnotate!
|
||||
|<Leader>|cc VCSCommit
|
||||
|<Leader>|cD VCSDelete
|
||||
|<Leader>|cd VCSDiff
|
||||
|<Leader>|cg VCSGotoOriginal
|
||||
|<Leader>|cG VCSGotoOriginal!
|
||||
|<Leader>|ci VCSInfo
|
||||
|<Leader>|cl VCSLog
|
||||
|<Leader>|cL VCSLock
|
||||
|<Leader>|cr VCSReview
|
||||
|<Leader>|cs VCSStatus
|
||||
|<Leader>|cu VCSUpdate
|
||||
|<Leader>|cU VCSUnlock
|
||||
|<Leader>|cv VCSVimDiff
|
||||
|
||||
Only for CVS buffers:
|
||||
|
||||
|<Leader>|ce CVSEdit
|
||||
|<Leader>|cE CVSEditors
|
||||
|<Leader>|ct CVSUnedit
|
||||
|<Leader>|cwv CVSWatchers
|
||||
|<Leader>|cwa CVSWatchAdd
|
||||
|<Leader>|cwn CVSWatchOn
|
||||
|<Leader>|cwf CVSWatchOff
|
||||
|<Leader>|cwf CVSWatchRemove
|
||||
|
||||
*vcscommand-mappings-override*
|
||||
|
||||
The default mappings can be overridden by user-provided instead by mapping to
|
||||
<Plug>CommandName. This is especially useful when these mappings collide with
|
||||
other existing mappings (vim will warn of this during plugin initialization,
|
||||
but will not clobber the existing mappings).
|
||||
|
||||
There are three methods for controlling mapping:
|
||||
|
||||
First, maps can be overriden for individual commands. For instance, to
|
||||
override the default mapping for :VCSAdd to set it to '\add', add the
|
||||
following to the vimrc:
|
||||
|
||||
nmap \add <Plug>VCSAdd
|
||||
|
||||
Second, the default map prefix ('<Leader>c') can be overridden by defining the
|
||||
|VCSCommandMapPrefix| variable.
|
||||
|
||||
Third, the entire set of default maps can be overridden by defining the
|
||||
|VCSCommandMappings| variable.
|
||||
|
||||
|
||||
4.3 Automatic buffer variables *vcscommand-buffer-variables*
|
||||
|
||||
Several buffer variables are defined in each vcscommand result buffer. These
|
||||
may be useful for additional customization in callbacks defined in the event
|
||||
handlers (please see |vcscommand-events|).
|
||||
|
||||
The following variables are automatically defined:
|
||||
|
||||
b:VCSCommandOriginalBuffer *b:VCSCommandOriginalBuffer*
|
||||
|
||||
This variable is set to the buffer number of the source file.
|
||||
|
||||
b:VCSCommandCommand *b:VCSCommandCommand*
|
||||
|
||||
This variable is set to the name of the vcscommand that created the result
|
||||
buffer.
|
||||
|
||||
b:VCSCommandSourceFile *b:VCSCommandSourceFile*
|
||||
|
||||
This variable is set to the name of the original file under source control.
|
||||
|
||||
b:VCSCommandVCSType *b:VCSCommandVCSType*
|
||||
|
||||
This variable is set to the type of the source control. This variable is also
|
||||
set on the original file itself.
|
||||
==============================================================================
|
||||
|
||||
5. Configuration and customization *vcscommand-customize*
|
||||
*vcscommand-config*
|
||||
|
||||
The vcscommand plugin can be configured in several ways: by setting
|
||||
configuration variables (see |vcscommand-options|) or by defining vcscommand
|
||||
event handlers (see |vcscommand-events|). Additionally, the vcscommand plugin
|
||||
supports a customized status line (see |vcscommand-statusline| and
|
||||
|vcscommand-buffer-management|).
|
||||
|
||||
5.1 vcscommand configuration variables *vcscommand-options*
|
||||
|
||||
Several variables affect the plugin's behavior. These variables are checked
|
||||
at time of execution, and may be defined at the window, buffer, or global
|
||||
level and are checked in that order of precedence.
|
||||
|
||||
|
||||
The following variables are available:
|
||||
|
||||
|VCSCommandCommitOnWrite|
|
||||
|VCSCommandCVSDiffOpt|
|
||||
|VCSCommandCVSExec|
|
||||
|VCSCommandDeleteOnHide|
|
||||
|VCSCommandDiffSplit|
|
||||
|VCSCommandDisableAll|
|
||||
|VCSCommandDisableMappings|
|
||||
|VCSCommandDisableExtensionMappings|
|
||||
|VCSCommandDisableMenu|
|
||||
|VCSCommandEdit|
|
||||
|VCSCommandEnableBufferSetup|
|
||||
|VCSCommandMappings|
|
||||
|VCSCommandMapPrefix|
|
||||
|VCSCommandMenuPriority|
|
||||
|VCSCommandMenuRoot|
|
||||
|VCSCommandResultBufferNameExtension|
|
||||
|VCSCommandResultBufferNameFunction|
|
||||
|VCSCommandSplit|
|
||||
|VCSCommandSVKExec|
|
||||
|VCSCommandSVNDiffExt|
|
||||
|VCSCommandSVNDiffOpt|
|
||||
|VCSCommandSVNExec|
|
||||
|VCSCommandVCSTypeOverride|
|
||||
|VCSCommandVCSTypePreference|
|
||||
|
||||
VCSCommandCommitOnWrite *VCSCommandCommitOnWrite*
|
||||
|
||||
This variable, if set to a non-zero value, causes the pending commit
|
||||
to take place immediately as soon as the log message buffer is written.
|
||||
If set to zero, only the VCSCommit mapping will cause the pending commit to
|
||||
occur. If not set, it defaults to 1.
|
||||
|
||||
VCSCommandCVSExec *VCSCommandCVSExec*
|
||||
|
||||
This variable controls the executable used for all CVS commands If not set,
|
||||
it defaults to "cvs".
|
||||
|
||||
VCSCommandDeleteOnHide *VCSCommandDeleteOnHide*
|
||||
|
||||
This variable, if set to a non-zero value, causes the temporary result buffers
|
||||
to automatically delete themselves when hidden.
|
||||
|
||||
VCSCommandCVSDiffOpt *VCSCommandCVSDiffOpt*
|
||||
|
||||
This variable, if set, determines the options passed to the diff command of
|
||||
CVS. If not set, it defaults to 'u'.
|
||||
|
||||
VCSCommandDiffSplit *VCSCommandDiffSplit*
|
||||
|
||||
This variable overrides the |VCSCommandSplit| variable, but only for buffers
|
||||
created with |:VCSVimDiff|.
|
||||
|
||||
VCSCommandDisableAll *VCSCommandDisableAll*
|
||||
|
||||
This variable, if set, prevents the plugin or any extensions from loading at
|
||||
all. This is useful when a single runtime distribution is used on multiple
|
||||
systems with varying versions.
|
||||
|
||||
VCSCommandDisableMappings *VCSCommandDisableMappings*
|
||||
|
||||
This variable, if set to a non-zero value, prevents the default command
|
||||
mappings from being set. This supercedes
|
||||
|VCSCommandDisableExtensionMappings|.
|
||||
|
||||
VCSCommandDisableExtensionMappings *VCSCommandDisableExtensionMappings*
|
||||
|
||||
This variable, if set to a non-zero value, prevents the default command
|
||||
mappings from being set for commands specific to an individual VCS.
|
||||
|
||||
VCSCommandEdit *VCSCommandEdit*
|
||||
|
||||
This variable controls whether the original buffer is replaced ('edit') or
|
||||
split ('split'). If not set, it defaults to 'split'.
|
||||
|
||||
VCSCommandDisableMenu *VCSCommandDisableMenu*
|
||||
|
||||
This variable, if set to a non-zero value, prevents the default command menu
|
||||
from being set.
|
||||
|
||||
VCSCommandEnableBufferSetup *VCSCommandEnableBufferSetup*
|
||||
|
||||
This variable, if set to a non-zero value, activates VCS buffer management
|
||||
mode see (|vcscommand-buffer-management|). This mode means that the
|
||||
'VCSCommandBufferInfo' variable is filled with version information if the file
|
||||
is VCS-controlled. This is useful for displaying version information in the
|
||||
status bar.
|
||||
|
||||
VCSCommandMappings *VCSCommandMappings*
|
||||
|
||||
This variable, if set, overrides the default mappings used for shortcuts. It
|
||||
should be a List of 2-element Lists, each containing a shortcut and function
|
||||
name pair. The value of the '|VCSCommandMapPrefix|' variable will be added to
|
||||
each shortcut.
|
||||
|
||||
VCSCommandMapPrefix *VCSCommandMapPrefix*
|
||||
|
||||
This variable, if set, overrides the default mapping prefix ('<Leader>c').
|
||||
This allows customization of the mapping space used by the vcscommand
|
||||
shortcuts.
|
||||
|
||||
VCSCommandMenuPriority *VCSCommandMenuPriority*
|
||||
|
||||
This variable, if set, overrides the default menu priority '' (empty)
|
||||
|
||||
VCSCommandMenuRoot *VCSCommandMenuRoot*
|
||||
|
||||
This variable, if set, overrides the default menu root 'Plugin.VCS'
|
||||
|
||||
VCSCommandResultBufferNameExtension *VCSCommandResultBufferNameExtension*
|
||||
|
||||
This variable, if set to a non-blank value, is appended to the name of the VCS
|
||||
command output buffers. For example, '.vcs'. Using this option may help
|
||||
avoid problems caused by autocommands dependent on file extension.
|
||||
|
||||
VCSCommandResultBufferNameFunction *VCSCommandResultBufferNameFunction*
|
||||
|
||||
This variable, if set, specifies a custom function for naming VCS command
|
||||
output buffers. This function is expected to return the new buffer name, and
|
||||
will be passed the following arguments:
|
||||
|
||||
command - name of the VCS command being executed (such as 'Log' or
|
||||
'Diff').
|
||||
|
||||
originalBuffer - buffer number of the source file.
|
||||
|
||||
vcsType - type of VCS controlling this file (such as 'CVS' or 'SVN').
|
||||
|
||||
statusText - extra text associated with the VCS action (such as version
|
||||
numbers).
|
||||
|
||||
VCSCommandSplit *VCSCommandSplit*
|
||||
|
||||
This variable controls the orientation of the various window splits that
|
||||
may occur.
|
||||
|
||||
If set to 'horizontal', the resulting windows will be on stacked on top of
|
||||
one another. If set to 'vertical', the resulting windows will be
|
||||
side-by-side. If not set, it defaults to 'horizontal' for all but
|
||||
VCSVimDiff windows. VCSVimDiff windows default to the user's 'diffopt'
|
||||
setting, if set, otherwise 'vertical'.
|
||||
|
||||
VCSCommandSVKExec *VCSCommandSVKExec*
|
||||
|
||||
This variable controls the executable used for all SVK commands If not set,
|
||||
it defaults to "svk".
|
||||
|
||||
VCSCommandSVNDiffExt *VCSCommandSVNDiffExt*
|
||||
|
||||
This variable, if set, is passed to SVN via the --diff-cmd command to select
|
||||
an external application for performing the diff.
|
||||
|
||||
VCSCommandSVNDiffOpt *VCSCommandSVNDiffOpt*
|
||||
|
||||
This variable, if set, determines the options passed with the '-x' parameter
|
||||
to the SVN diff command. If not set, no options are passed.
|
||||
|
||||
VCSCommandSVNExec *VCSCommandSVNExec*
|
||||
|
||||
This variable controls the executable used for all SVN commands If not set,
|
||||
it defaults to "svn".
|
||||
|
||||
VCSCommandVCSTypeOverride *VCSCommandVCSTypeOverride*
|
||||
|
||||
This variable allows the VCS type detection to be overridden on a path-by-path
|
||||
basis. The value of this variable is expected to be a List of Lists. Each
|
||||
item in the high-level List is a List containing two elements. The first
|
||||
element is a regular expression that will be matched against the full file
|
||||
name of a given buffer. If it matches, the second element will be used as the
|
||||
VCS type.
|
||||
|
||||
VCSCommandVCSTypePreference *VCSCommandVCSTypePreference*
|
||||
|
||||
This variable allows the VCS type detection to be weighted towards a specific
|
||||
VCS, in case more than one potential VCS is detected as useable. The format
|
||||
of the variable is either a list or a space-separated string containing the
|
||||
ordered-by-preference abbreviations of the preferred VCS types.
|
||||
|
||||
5.2 VCSCommand events *vcscommand-events*
|
||||
|
||||
For additional customization, vcscommand can trigger user-defined events.
|
||||
Event handlers are provided by defining User event autocommands (see
|
||||
|autocommand|, |User|) in the vcscommand group with patterns matching the
|
||||
event name.
|
||||
|
||||
For instance, the following could be added to the vimrc to provide a 'q'
|
||||
mapping to quit a vcscommand scratch buffer:
|
||||
|
||||
augroup VCSCommand
|
||||
au User VCSBufferCreated silent! nmap <unique> <buffer> q :bwipeout<cr>
|
||||
augroup END
|
||||
|
||||
The following hooks are available:
|
||||
|
||||
VCSBufferCreated This event is fired just after a vcscommand
|
||||
result buffer is created and populated. It is
|
||||
executed within the context of the vcscommand
|
||||
buffer. The vcscommand buffer variables may
|
||||
be useful for handlers of this event (please
|
||||
see |vcscommand-buffer-variables|).
|
||||
|
||||
VCSBufferSetup This event is fired just after vcscommand buffer
|
||||
setup occurs, if enabled.
|
||||
|
||||
VCSPluginInit This event is fired when the vcscommand plugin
|
||||
first loads.
|
||||
|
||||
VCSPluginFinish This event is fired just after the vcscommand
|
||||
plugin loads.
|
||||
|
||||
VCSVimDiffFinish This event is fired just after the VCSVimDiff
|
||||
command executes to allow customization of,
|
||||
for instance, window placement and focus.
|
||||
|
||||
Additionally, there is another hook which is used internally to handle loading
|
||||
the multiple scripts in order. This hook should probably not be used by an
|
||||
end user without a good idea of how it works. Among other things, any events
|
||||
associated with this hook are cleared after they are executed (during
|
||||
vcscommand.vim script initialization).
|
||||
|
||||
VCSLoadExtensions This event is fired just before the
|
||||
VCSPluginFinish. It is used internally to
|
||||
execute any commands from the VCS
|
||||
implementation plugins that needs to be
|
||||
deferred until the primary plugin is
|
||||
initialized.
|
||||
|
||||
5.3 vcscommand buffer naming *vcscommand-naming*
|
||||
|
||||
vcscommand result buffers use the following naming convention:
|
||||
[{VCS type} {VCS command} {Source file name}]
|
||||
|
||||
If additional buffers are created that would otherwise conflict, a
|
||||
distinguishing number is added:
|
||||
|
||||
[{VCS type} {VCS command} {Source file name}] (1,2, etc)
|
||||
|
||||
5.4 vcscommand status line support *vcscommand-statusline*
|
||||
|
||||
It is intended that the user will customize the |'statusline'| option to
|
||||
include vcscommand result buffer attributes. A sample function that may be
|
||||
used in the |'statusline'| option is provided by the plugin,
|
||||
VCSCommandGetStatusLine(). In order to use that function in the status line, do
|
||||
something like the following:
|
||||
|
||||
set statusline=%<%f\ %{VCSCommandGetStatusLine()}\ %h%m%r%=%l,%c%V\ %P
|
||||
|
||||
of which %{VCSCommandGetStatusLine()} is the relevant portion.
|
||||
|
||||
The sample VCSCommandGetStatusLine() function handles both vcscommand result
|
||||
buffers and VCS-managed files if vcscommand buffer management is enabled
|
||||
(please see |vcscommand-buffer-management|).
|
||||
|
||||
5.5 vcscommand buffer management *vcscommand-buffer-management*
|
||||
|
||||
The vcscommand plugin can operate in buffer management mode, which means that
|
||||
it attempts to set a buffer variable ('VCSCommandBufferInfo') upon entry into
|
||||
a buffer. This is rather slow because it means that the VCS will be invoked
|
||||
at each entry into a buffer (during the |BufEnter| autocommand).
|
||||
|
||||
This mode is disabled by default. In order to enable it, set the
|
||||
|VCSCommandEnableBufferSetup| variable to a true (non-zero) value. Enabling
|
||||
this mode simply provides the buffer variable mentioned above. The user must
|
||||
explicitly include information from the variable in the |'statusline'| option
|
||||
if they are to appear in the status line (but see |vcscommand-statusline| for
|
||||
a simple way to do that).
|
||||
|
||||
The 'VCSCommandBufferInfo' variable is a list which contains, in order, the
|
||||
revision of the current file, the latest revision of the file in the
|
||||
repository, and (for CVS) the name of the branch. If those values cannot be
|
||||
determined, the list is a single element: 'Unknown'.
|
||||
|
||||
==============================================================================
|
||||
|
||||
6. SSH "integration" *vcscommand-ssh*
|
||||
|
||||
The following instructions are intended for use in integrating the
|
||||
vcscommand.vim plugin with an SSH-based CVS environment.
|
||||
|
||||
Familiarity with SSH and CVS are assumed.
|
||||
|
||||
These instructions assume that the intent is to have a message box pop up in
|
||||
order to allow the user to enter a passphrase. If, instead, the user is
|
||||
comfortable using certificate-based authentication, then only instructions
|
||||
6.1.1 and 6.1.2 (and optionally 6.1.4) need to be followed; ssh should then
|
||||
work transparently.
|
||||
|
||||
6.1 Environment settings *vcscommand-ssh-env*
|
||||
|
||||
6.1.1 CVSROOT should be set to something like:
|
||||
|
||||
:ext:user@host:/path_to_repository
|
||||
|
||||
6.1.2 CVS_RSH should be set to:
|
||||
|
||||
ssh
|
||||
|
||||
Together, those settings tell CVS to use ssh as the transport when
|
||||
performing CVS calls.
|
||||
|
||||
6.1.3 SSH_ASKPASS should be set to the password-dialog program. In my case,
|
||||
running gnome, it's set to:
|
||||
|
||||
/usr/libexec/openssh/gnome-ssh-askpass
|
||||
|
||||
This tells SSH how to get passwords if no input is available.
|
||||
|
||||
6.1.4 OPTIONAL. You may need to set SSH_SERVER to the location of the cvs
|
||||
executable on the remote (server) machine.
|
||||
|
||||
6.2 CVS wrapper program *vcscommand-ssh-wrapper*
|
||||
|
||||
Now you need to convince SSH to use the password-dialog program. This means
|
||||
you need to execute SSH (and therefore CVS) without standard input. The
|
||||
following script is a simple perl wrapper that dissasociates the CVS command
|
||||
from the current terminal. Specific steps to do this may vary from system to
|
||||
system; the following example works for me on linux.
|
||||
|
||||
#!/usr/bin/perl -w
|
||||
use strict;
|
||||
use POSIX qw(setsid);
|
||||
open STDIN, '/dev/null';
|
||||
fork and do {wait; exit;};
|
||||
setsid;
|
||||
exec('cvs', @ARGV);
|
||||
|
||||
6.3 Configuring vcscommand.vim *vcscommand-ssh-config*
|
||||
|
||||
At this point, you should be able to use your wrapper script to invoke CVS with
|
||||
various commands, and get the password dialog. All that's left is to make CVS
|
||||
use your newly-created wrapper script.
|
||||
|
||||
6.3.1 Tell vcscommand.vim what CVS executable to use. The easiest way to do this
|
||||
is globally, by putting the following in your .vimrc:
|
||||
|
||||
let VCSCommandCVSExec=/path/to/cvs/wrapper/script
|
||||
|
||||
6.4 Where to go from here *vcscommand-ssh-other*
|
||||
|
||||
The script given above works even when non-SSH CVS connections are used,
|
||||
except possibly when interactively entering the message for CVS commit log
|
||||
(depending on the editor you use... VIM works fine). Since the vcscommand.vim
|
||||
plugin handles that message without a terminal, the wrapper script can be used
|
||||
all the time.
|
||||
|
||||
This allows mixed-mode operation, where some work is done with SSH-based CVS
|
||||
repositories, and others with pserver or local access.
|
||||
|
||||
It is possible, though beyond the scope of the plugin, to dynamically set the
|
||||
CVS executable based on the CVSROOT for the file being edited. The user
|
||||
events provided (such as VCSBufferCreated and VCSBufferSetup) can be used to
|
||||
set a buffer-local value (b:VCSCommandCVSExec) to override the CVS executable
|
||||
on a file-by-file basis. Alternatively, much the same can be done (less
|
||||
automatically) by the various project-oriented plugins out there.
|
||||
|
||||
It is highly recommended for ease-of-use that certificates with no passphrase
|
||||
or ssh-agent are employed so that the user is not given the password prompt
|
||||
too often.
|
||||
|
||||
==============================================================================
|
||||
|
||||
7. Changes from cvscommand *cvscommand-changes*
|
||||
|
||||
1. Require Vim 7 in order to leverage several convenient features; also
|
||||
because I wanted to play with Vim 7.
|
||||
|
||||
2. Renamed commands to start with 'VCS' instead of 'CVS'. The exceptions are
|
||||
the 'CVSEdit' and 'CVSWatch' family of commands, which are specific to CVS.
|
||||
|
||||
3. Renamed options, events to start with 'VCSCommand'.
|
||||
|
||||
4. Removed option to jump to the parent version of the current line in an
|
||||
annotated buffer, as opposed to the version on the current line. This made
|
||||
little sense in the branching scheme used by subversion, where jumping to a
|
||||
parent branch required finding a different location in the repository. It
|
||||
didn't work consistently in CVS anyway.
|
||||
|
||||
5. Removed option to have nameless scratch buffers.
|
||||
|
||||
6. Changed default behavior of scratch buffers to split the window instead of
|
||||
displaying in the current window. This may still be overridden using the
|
||||
'VCSCommandEdit' option.
|
||||
|
||||
7. Split plugin into multiple plugins.
|
||||
|
||||
8. Added 'VCSLock' and 'VCSUnlock' commands. These are implemented for
|
||||
subversion but not for CVS. These were not kept specific to subversion as they
|
||||
seemed more general in nature and more likely to be supported by any future VCS
|
||||
supported by this plugin.
|
||||
|
||||
9. Changed name of buffer variables set by commands.
|
||||
|
||||
'b:cvsOrigBuffNR' became 'b:VCSCommandOriginalBuffer'
|
||||
'b:cvscmd' became 'b:VCSCommandCommand'
|
||||
|
||||
10. Added new automatic variables to command result buffers.
|
||||
|
||||
'b:VCSCommandSourceFile'
|
||||
'b:VCSCommandVCSType'
|
||||
|
||||
==============================================================================
|
||||
|
||||
8. Known bugs *vcscommand-bugs*
|
||||
|
||||
Please let me know if you run across any.
|
||||
|
||||
CVSUnedit may, if a file is changed from the repository, provide prompt text
|
||||
to determine whether the changes should be thrown away. Currently, that text
|
||||
shows up in the CVS result buffer as information; there is no way for the user
|
||||
to actually respond to the prompt and the CVS unedit command does nothing. If
|
||||
this really bothers anyone, please let me know.
|
||||
|
||||
VCSVimDiff, when using the original (real) source buffer as one of the diff
|
||||
buffers, uses some hacks to try to restore the state of the original buffer
|
||||
when the scratch buffer containing the other version is destroyed. There may
|
||||
still be bugs in here, depending on many configuration details.
|
||||
|
||||
vim:tw=78:ts=8:ft=help
|
Reference in New Issue
Block a user