command-t 1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/doc/command-t.txt ADDED
@@ -0,0 +1,736 @@
1
+ *command-t.txt* Command-T plug-in for Vim *command-t*
2
+
3
+ CONTENTS *command-t-contents*
4
+
5
+ 1. Introduction |command-t-intro|
6
+ 2. Requirements |command-t-requirements|
7
+ 3. Installation |command-t-installation|
8
+ 3. Managing using Pathogen |command-t-pathogen|
9
+ 4. Trouble-shooting |command-t-trouble-shooting|
10
+ 5. Usage |command-t-usage|
11
+ 6. Commands |command-t-commands|
12
+ 7. Mappings |command-t-mappings|
13
+ 8. Options |command-t-options|
14
+ 9. Authors |command-t-authors|
15
+ 10. Website |command-t-website|
16
+ 11. Donations |command-t-donations|
17
+ 12. License |command-t-license|
18
+ 13. History |command-t-history|
19
+
20
+
21
+ INTRODUCTION *command-t-intro*
22
+
23
+ The Command-T plug-in provides an extremely fast, intuitive mechanism for
24
+ opening files with a minimal number of keystrokes. It's named "Command-T"
25
+ because it is inspired by the "Go to File" window bound to Command-T in
26
+ TextMate.
27
+
28
+ Files are selected by typing characters that appear in their paths, and are
29
+ ordered by an algorithm which knows that characters that appear in certain
30
+ locations (for example, immediately after a path separator) should be given
31
+ more weight.
32
+
33
+ To search efficiently, especially in large projects, you should adopt a
34
+ "path-centric" rather than a "filename-centric" mentality. That is you should
35
+ think more about where the desired file is found rather than what it is
36
+ called. This means narrowing your search down by including some characters
37
+ from the upper path components rather than just entering characters from the
38
+ filename itself.
39
+
40
+ Screencasts demonstrating the plug-in can be viewed at:
41
+
42
+ https://wincent.com/products/command-t
43
+
44
+
45
+ REQUIREMENTS *command-t-requirements*
46
+
47
+ The plug-in requires Vim compiled with Ruby support, a compatible Ruby
48
+ installation at the operating system level, and a C compiler to build
49
+ the Ruby extension.
50
+
51
+
52
+ 1. Vim compiled with Ruby support
53
+
54
+ You can check for Ruby support by launching Vim with the --version switch:
55
+
56
+ vim --version
57
+
58
+ If "+ruby" appears in the version information then your version of Vim has
59
+ Ruby support.
60
+
61
+ Another way to check is to simply try using the :ruby command from within Vim
62
+ itself:
63
+
64
+ :ruby 1
65
+
66
+ If your Vim lacks support you'll see an error message like this:
67
+
68
+ E319: Sorry, the command is not available in this version
69
+
70
+ The version of Vim distributed with Mac OS X does not include Ruby support,
71
+ while MacVim does; it is available from:
72
+
73
+ http://github.com/b4winckler/macvim/downloads
74
+
75
+ For Windows users, the Vim 7.2 executable available from www.vim.org does
76
+ include Ruby support, and is recommended over version 7.3 (which links against
77
+ Ruby 1.9, but apparently has some bugs that need to be resolved).
78
+
79
+
80
+ 2. Ruby
81
+
82
+ In addition to having Ruby support in Vim, your system itself must have a
83
+ compatible Ruby install. "Compatible" means the same version as Vim itself
84
+ links against. If you use a different version then Command-T is unlikely
85
+ to work (see TROUBLE-SHOOTING below).
86
+
87
+ On Mac OS X Snow Leopard, the system comes with Ruby 1.8.7 and all recent
88
+ versions of MacVim (the 7.2 snapshots and 7.3) are linked against it.
89
+
90
+ On Linux and similar platforms, the linked version of Ruby will depend on
91
+ your distribution. You can usually find this out by examining the
92
+ compilation and linking flags displayed by the |:version| command in Vim, and
93
+ by looking at the output of:
94
+
95
+ :ruby puts RUBY_VERSION
96
+
97
+ A suitable Ruby environment for Windows can be installed using the Ruby
98
+ 1.8.7-p299 RubyInstaller available at:
99
+
100
+ http://rubyinstaller.org/downloads/archives
101
+
102
+ If using RubyInstaller be sure to download the installer executable, not the
103
+ 7-zip archive. When installing mark the checkbox "Add Ruby executables to your
104
+ PATH" so that Vim can find them.
105
+
106
+
107
+ 3. C compiler
108
+
109
+ Part of Command-T is implemented in C as a Ruby extension for speed, allowing
110
+ it to work responsively even on directory hierarchies containing enormous
111
+ numbers of files. As such, a C compiler is required in order to build the
112
+ extension and complete the installation.
113
+
114
+ On Mac OS X, this can be obtained by installing the Xcode Tools that come on
115
+ the Mac OS X install disc.
116
+
117
+ On Windows, the RubyInstaller Development Kit can be used to conveniently
118
+ install the necessary tool chain:
119
+
120
+ http://rubyinstaller.org/downloads/archives
121
+
122
+ At the time of writing, the appropriate development kit for use with Ruby
123
+ 1.8.7 is DevKit-3.4.5r3-20091110.
124
+
125
+ To use the Development Kit extract the archive contents to your C:\Ruby
126
+ folder.
127
+
128
+
129
+ INSTALLATION *command-t-installation*
130
+
131
+ Command-T is distributed as a "vimball" which means that it can be installed
132
+ by opening it in Vim and then sourcing it:
133
+
134
+ :e command-t.vba
135
+ :so %
136
+
137
+ The files will be installed in your |'runtimepath'|. To check where this is
138
+ you can issue:
139
+
140
+ :echo &rtp
141
+
142
+ The C extension must then be built, which can be done from the shell. If you
143
+ use a typical |'runtimepath'| then the files were installed inside ~/.vim and
144
+ you can build the extension with:
145
+
146
+ cd ~/.vim/ruby/command-t
147
+ ruby extconf.rb
148
+ make
149
+
150
+ Note: If you are an RVM user, you must perform the build using the same
151
+ version of Ruby that Vim itself is linked against. This will often be the
152
+ system Ruby, which can be selected before issuing the "make" command with:
153
+
154
+ rvm use system
155
+
156
+
157
+ MANAGING USING PATHOGEN *command-t-pathogen*
158
+
159
+ Pathogen is a plugin that allows you to maintain plugin installations in
160
+ separate, isolated subdirectories under the "bundle" directory in your
161
+ |'runtimepath'|. The following examples assume that you already have
162
+ Pathogen installed and configured, and that you are installing into
163
+ ~/.vim/bundle. For more information about Pathogen, see:
164
+
165
+ http://www.vim.org/scripts/script.php?script_id=2332
166
+
167
+ If you manage your entire ~/.vim folder using Git then you can add the
168
+ Command-T repository as a submodule:
169
+
170
+ cd ~/.vim
171
+ git submodule add git://git.wincent.com/command-t.git bundle/command-t
172
+ git submodule init
173
+
174
+ Or if you just wish to do a simple clone instead of using submodules:
175
+
176
+ cd ~/.vim
177
+ git clone git://git.wincent.com/command-t.git bundle/command-t
178
+
179
+ Once you have a local copy of the repository you can update it at any time
180
+ with:
181
+
182
+ cd ~/.vim/bundle/command-t
183
+ git pull
184
+
185
+ Or you can switch to a specific release with:
186
+
187
+ cd ~/.vim/bundle/command-t
188
+ git checkout 0.8b
189
+
190
+ After installing or updating you must build the extension:
191
+
192
+ cd ~/.vim/bundle/command-t
193
+ rake make
194
+
195
+ While the Vimball installation automatically generates the help tags, under
196
+ Pathogen it is necessary to do so explicitly from inside Vim:
197
+
198
+ :call pathogen#helptags()
199
+
200
+
201
+ TROUBLE-SHOOTING *command-t-trouble-shooting*
202
+
203
+ Most installation problems are caused by a mismatch between the version of
204
+ Ruby on the host operating system, and the version of Ruby that Vim itself
205
+ linked against at compile time. For example, if one is 32-bit and the other is
206
+ 64-bit, or one is from the Ruby 1.9 series and the other is from the 1.8
207
+ series, then the plug-in is not likely to work.
208
+
209
+ As such, on Mac OS X, I recommend using the standard Ruby that comes with the
210
+ system (currently 1.8.7) along with the latest version of MacVim (currently
211
+ version 7.3). If you wish to use custom builds of Ruby or of MacVim (not
212
+ recommmended) then you will have to take extra care to ensure that the exact
213
+ same Ruby environment is in effect when building Ruby, Vim and the Command-T
214
+ extension.
215
+
216
+ For Windows, the following combination is known to work:
217
+
218
+ - Vim 7.2 from http://www.vim.org/download.php:
219
+ ftp://ftp.vim.org/pub/vim/pc/gvim72.exe
220
+ - Ruby 1.8.7-p299 from http://rubyinstaller.org/downloads/archives:
221
+ http://rubyforge.org/frs/download.php/71492/rubyinstaller-1.8.7-p299.exe
222
+ - DevKit 3.4.5r3-20091110 from http://rubyinstaller.org/downloads/archives:
223
+ http://rubyforge.org/frs/download.php/66888/devkit-3.4.5r3-20091110.7z
224
+
225
+ If a problem occurs the first thing you should do is inspect the output of:
226
+
227
+ ruby extconf.rb
228
+ make
229
+
230
+ During the installation, and:
231
+
232
+ vim --version
233
+
234
+ And compare the compilation and linker flags that were passed to the
235
+ extension and to Vim itself when they were built. If the Ruby-related
236
+ flags or architecture flags are different then it is likely that something
237
+ has changed in your Ruby environment and the extension may not work until
238
+ you eliminate the discrepancy.
239
+
240
+
241
+ USAGE *command-t-usage*
242
+
243
+ Bring up the Command-T match window by typing:
244
+
245
+ <Leader>t
246
+
247
+ This mapping is set up automatically for you, provided you do not already have
248
+ a mapping for <Leader>t or |:CommandT|. You can also bring up the match window
249
+ by issuing the command:
250
+
251
+ :CommandT
252
+
253
+ A prompt will appear at the bottom of the screen along with a match window
254
+ showing all of the files in the current directory (as returned by the
255
+ |:pwd| command).
256
+
257
+ For the most efficient file navigation within a project it's recommended that
258
+ you |:cd| into the root directory of your project when starting to work on it.
259
+ If you wish to open a file from outside of the project folder you can pass in
260
+ an optional path argument (relative or absolute) to |:CommandT|:
261
+
262
+ :CommandT ../path/to/other/files
263
+
264
+ Type letters in the prompt to narrow down the selection, showing only the
265
+ files whose paths contain those letters in the specified order. Letters do not
266
+ need to appear consecutively in a path in order for it to be classified as a
267
+ match.
268
+
269
+ Once the desired file has been selected it can be opened by pressing <CR>.
270
+ (By default files are opened in the current window, but there are other
271
+ mappings that you can use to open in a vertical or horizontal split, or in
272
+ a new tab.) Note that if you have |'nohidden'| set and there are unsaved
273
+ changes in the current window when you press <CR> then opening in the current
274
+ window would fail; in this case Command-T will open the file in a new split.
275
+
276
+ The following mappings are active when the prompt has focus:
277
+
278
+ <BS> delete the character to the left of the cursor
279
+ <Del> delete the character at the cursor
280
+ <Left> move the cursor one character to the left
281
+ <C-h> move the cursor one character to the left
282
+ <Right> move the cursor one character to the right
283
+ <C-l> move the cursor one character to the right
284
+ <C-a> move the cursor to the start (left)
285
+ <C-e> move the cursor to the end (right)
286
+ <C-u> clear the contents of the prompt
287
+ <Tab> change focus to the match listing
288
+
289
+ The following mappings are active when the match listing has focus:
290
+
291
+ <Tab> change focus to the prompt
292
+
293
+ The following mappings are active when either the prompt or the match listing
294
+ has focus:
295
+
296
+ <CR> open the selected file
297
+ <C-CR> open the selected file in a new split window
298
+ <C-s> open the selected file in a new split window
299
+ <C-v> open the selected file in a new vertical split window
300
+ <C-t> open the selected file in a new tab
301
+ <C-j> select next file in the match listing
302
+ <C-n> select next file in the match listing
303
+ <Down> select next file in the match listing
304
+ <C-k> select previous file in the match listing
305
+ <C-p> select previous file in the match listing
306
+ <Up> select previous file in the match listing
307
+ <C-c> cancel (dismisses match listing)
308
+
309
+ The following is also available on terminals which support it:
310
+
311
+ <Esc> cancel (dismisses match listing)
312
+
313
+ Note that the default mappings can be overriden by setting options in your
314
+ ~/.vimrc file (see the OPTIONS section for a full list of available options).
315
+
316
+ In addition, when the match listing has focus, typing a character will cause
317
+ the selection to jump to the first path which begins with that character.
318
+ Typing multiple characters consecutively can be used to distinguish between
319
+ paths which begin with the same prefix.
320
+
321
+
322
+ COMMANDS *command-t-commands*
323
+
324
+ *:CommandT*
325
+ |:CommandT| Brings up the Command-T match window, starting in the
326
+ current working directory as returned by the|:pwd|
327
+ command.
328
+
329
+ *:CommandTFlush*
330
+ |:CommandTFlush|Instructs the plug-in to flush its path cache, causing
331
+ the directory to be rescanned for new or deleted paths
332
+ the next time the match window is shown. In addition, all
333
+ configuration settings are re-evaluated, causing any
334
+ changes made to settings via the |:let| command to be picked
335
+ up.
336
+
337
+
338
+ MAPPINGS *command-t-mappings*
339
+
340
+ By default Command-T comes with only one mapping:
341
+
342
+ <Leader>t bring up the Command-T match window
343
+
344
+ However, Command-T won't overwrite a pre-existing mapping so if you prefer
345
+ to define a different mapping use a line like this in your ~/.vimrc:
346
+
347
+ nmap <silent> <Leader>t :CommandT<CR>
348
+
349
+ Replacing "<Leader>t" with your mapping of choice.
350
+
351
+ Note that in the case of MacVim you actually can map to Command-T (written
352
+ as <D-t> in Vim) in your ~/.gvimrc file if you first unmap the existing menu
353
+ binding of Command-T to "New Tab":
354
+
355
+ if has("gui_macvim")
356
+ macmenu &File.New\ Tab key=<nop>
357
+ map <D-t> :CommandT<CR>
358
+ endif
359
+
360
+ When the Command-T window is active a number of other additional mappings
361
+ become available for doing things like moving between and selecting matches.
362
+ These are fully described above in the USAGE section, and settings for
363
+ overriding the mappings are listed below under OPTIONS.
364
+
365
+
366
+ OPTIONS *command-t-options*
367
+
368
+ A number of options may be set in your ~/.vimrc to influence the behaviour of
369
+ the plug-in. To set an option, you include a line like this in your ~/.vimrc:
370
+
371
+ let g:CommandTMaxFiles=20000
372
+
373
+ To have Command-T pick up new settings immediately (that is, without having
374
+ to restart Vim) you can issue the |:CommandTFlush| command after making
375
+ changes via |:let|.
376
+
377
+ Following is a list of all available options:
378
+
379
+ *g:CommandTMaxFiles*
380
+ |g:CommandTMaxFiles| number (default 10000)
381
+
382
+ The maximum number of files that will be considered when scanning the
383
+ current directory. Upon reaching this number scanning stops.
384
+
385
+ *g:CommandTMaxDepth*
386
+ |g:CommandTMaxDepth| number (default 15)
387
+
388
+ The maximum depth (levels of recursion) to be explored when scanning the
389
+ current directory. Any directories at levels beyond this depth will be
390
+ skipped.
391
+
392
+ *g:CommandTMaxHeight*
393
+ |g:CommandTMaxHeight| number (default: 0)
394
+
395
+ The maximum height in lines the match window is allowed to expand to.
396
+ If set to 0, the window will occupy as much of the available space as
397
+ needed to show matching entries.
398
+
399
+ *g:CommandTAlwaysShowDotFiles*
400
+ |g:CommandTAlwaysShowDotFiles| boolean (default: 0)
401
+
402
+ By default Command-T will show dot-files only if the entered search
403
+ string contains a dot that could cause a dot-file to match. When set to
404
+ a non-zero value, this setting instructs Command-T to always include
405
+ matching dot-files in the match list regardless of whether the search
406
+ string contains a dot. See also |g:CommandTNeverShowDotFiles|.
407
+
408
+ *g:CommandTNeverShowDotFiles*
409
+ |g:CommandTNeverShowDotFiles| boolean (default: 0)
410
+
411
+ By default Command-T will show dot-files if the entered search string
412
+ contains a dot that could cause a dot-file to match. When set to a
413
+ non-zero value, this setting instructs Command-T to never show dot-files
414
+ under any circumstances. Note that it is contradictory to set both this
415
+ setting and |g:CommandTAlwaysShowDotFiles| to true, and if you do so Vim
416
+ will suffer from headaches, nervous twitches, and sudden mood swings.
417
+
418
+ *g:CommandTScanDotDirectories*
419
+ |g:CommandTScanDotDirectories| boolean (default: 0)
420
+
421
+ Normally Command-T will not recurse into "dot-directories" (directories
422
+ whose names begin with a dot) while performing its initial scan. Set
423
+ this setting to a non-zero value to override this behavior and recurse.
424
+ Note that this setting is completely independent of the
425
+ |g:CommandTAlwaysShowDotFiles| and |g:CommandTNeverShowDotFiles|
426
+ settings; those apply only to the selection and display of matches
427
+ (after scanning has been performed), whereas
428
+ |g:CommandTScanDotDirectories| affects the behaviour at scan-time.
429
+
430
+ Note also that even with this setting on you can still use Command-T to
431
+ open files inside a "dot-directory" such as ~/.vim, but you have to use
432
+ the |:cd| command to change into that directory first. For example:
433
+
434
+ :cd ~/.vim
435
+ :CommandT
436
+
437
+ *g:CommandTMatchWindowAtTop*
438
+ |g:CommandTMatchWindowAtTop| boolean (default: 0)
439
+
440
+ When this settings is off (the default) the match window will appear at
441
+ the bottom so as to keep it near to the prompt. Turning it on causes the
442
+ match window to appear at the top instead. This may be preferable if you
443
+ want the best match (usually the first one) to appear in a fixed location
444
+ on the screen rather than moving as the number of matches changes during
445
+ typing.
446
+
447
+ As well as the basic options listed above, there are a number of settings that
448
+ can be used to override the default key mappings used by Command-T. For
449
+ example, to set <C-x> as the mapping for cancelling (dismissing) the Command-T
450
+ window, you would add the following to your ~/.vimrc:
451
+
452
+ let g:CommandTCancelMap='<C-x>'
453
+
454
+ Multiple, alternative mappings may be specified using list syntax:
455
+
456
+ let g:CommandTCancelMap=['<C-x>', '<C-c>']
457
+
458
+ Following is a list of all map settings and their defaults:
459
+
460
+ Setting Default mapping(s)
461
+
462
+ *g:CommandTBackspaceMap*
463
+ |g:CommandTBackspaceMap| <BS>
464
+
465
+ *g:CommandTDeleteMap*
466
+ |g:CommandTDeleteMap| <Del>
467
+
468
+ *g:CommandTAcceptSelectionMap*
469
+ |g:CommandTAcceptSelectionMap| <CR>
470
+
471
+ *g:CommandTAcceptSelectionSplitMap*
472
+ |g:CommandTAcceptSelectionSplitMap| <C-CR>
473
+ <C-s>
474
+
475
+ *g:CommandTAcceptSelectionTabMap*
476
+ |g:CommandTAcceptSelectionTabMap| <C-t>
477
+
478
+ *g:CommandTAcceptSelectionVSplitMap*
479
+ |g:CommandTAcceptSelectionVSplitMap| <C-v>
480
+
481
+ *g:CommandTToggleFocusMap*
482
+ |g:CommandTToggleFocusMap| <Tab>
483
+
484
+ *g:CommandTCancelMap*
485
+ |g:CommandTCancelMap| <C-c>
486
+ <Esc> (not on all terminals)
487
+
488
+ *g:CommandTSelectNextMap*
489
+ |g:CommandTSelectNextMap| <C-n>
490
+ <C-j>
491
+ <Down>
492
+
493
+ *g:CommandTSelectPrevMap*
494
+ |g:CommandTSelectPrevMap| <C-p>
495
+ <C-k>
496
+ <Up>
497
+
498
+ *g:CommandTClearMap*
499
+ |g:CommandTClearMap| <C-u>
500
+
501
+ *g:CommandTCursorLeftMap*
502
+ |g:CommandTCursorLeftMap| <Left>
503
+ <C-h>
504
+
505
+ *g:CommandTCursorRightMap*
506
+ |g:CommandTCursorRightMap| <Right>
507
+ <C-l>
508
+
509
+ *g:CommandTCursorEndMap*
510
+ |g:CommandTCursorEndMap| <C-e>
511
+
512
+ *g:CommandTCursorStartMap*
513
+ |g:CommandTCursorStartMap| <C-a>
514
+
515
+ In addition to the options provided by Command-T itself, some of Vim's own
516
+ settings can be used to control behavior:
517
+
518
+ *command-t-wildignore*
519
+ |'wildignore'| string (default: '')
520
+
521
+ Vim's |'wildignore'| setting is used to determine which files should be
522
+ excluded from listings. This is a comma-separated list of glob patterns.
523
+ It defaults to the empty string, but common settings include "*.o,*.obj"
524
+ (to exclude object files) or ".git,.svn" (to exclude SCM metadata
525
+ directories). For example:
526
+
527
+ :set wildignore+=*.o,*.obj,.git
528
+
529
+ A pattern such as "vendor/rails/**" would exclude all files and
530
+ subdirectories inside the "vendor/rails" directory (relative to
531
+ directory Command-T starts in).
532
+
533
+ See the |'wildignore'| documentation for more information.
534
+
535
+
536
+ AUTHORS *command-t-authors*
537
+
538
+ Command-T is written and maintained by Wincent Colaiuta <win@wincent.com>.
539
+ Other contributors that have submitted patches include (in alphabetical
540
+ order):
541
+
542
+ Lucas de Vries
543
+ Matthew Todd
544
+ Mike Lundy
545
+ Scott Bronson
546
+ Sung Pae
547
+ Zak Johnson
548
+
549
+ As this was the first Vim plug-in I had ever written I was heavily influenced
550
+ by the design of the LustyExplorer plug-in by Stephen Bach, which I understand
551
+ is one of the largest Ruby-based Vim plug-ins to date.
552
+
553
+ While the Command-T codebase doesn't contain any code directly copied from
554
+ LustyExplorer, I did use it as a reference for answers to basic questions (like
555
+ "How do you do 'X' in a Ruby-based Vim plug-in?"), and also copied some basic
556
+ architectural decisions (like the division of the code into Prompt, Settings
557
+ and MatchWindow classes).
558
+
559
+ LustyExplorer is available from:
560
+
561
+ http://www.vim.org/scripts/script.php?script_id=1890
562
+
563
+
564
+ WEBSITE *command-t-website*
565
+
566
+ The official website for Command-T is:
567
+
568
+ https://wincent.com/products/command-t
569
+
570
+ The latest release will always be available from there.
571
+
572
+ Development in progress can be inspected via the project's Git repository
573
+ browser at:
574
+
575
+ https://wincent.com/repos/command-t
576
+
577
+ A copy of each release is also available from the official Vim scripts site
578
+ at:
579
+
580
+ http://www.vim.org/scripts/script.php?script_id=3025
581
+
582
+ Bug reports should be submitted to the issue tracker at:
583
+
584
+ https://wincent.com/issues
585
+
586
+
587
+ DONATIONS *command-t-donations*
588
+
589
+ Command-T itself is free software released under the terms of the BSD license.
590
+ If you would like to support further development you can make a donation via
591
+ PayPal to win@wincent.com:
592
+
593
+ https://wincent.com/products/command-t/donations
594
+
595
+
596
+ LICENSE *command-t-license*
597
+
598
+ Copyright 2010-2011 Wincent Colaiuta. All rights reserved.
599
+
600
+ Redistribution and use in source and binary forms, with or without
601
+ modification, are permitted provided that the following conditions are met:
602
+
603
+ 1. Redistributions of source code must retain the above copyright notice,
604
+ this list of conditions and the following disclaimer.
605
+ 2. Redistributions in binary form must reproduce the above copyright notice,
606
+ this list of conditions and the following disclaimer in the documentation
607
+ and/or other materials provided with the distribution.
608
+
609
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
610
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
611
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
612
+ ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
613
+ LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
614
+ CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
615
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
616
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
617
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
618
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
619
+ POSSIBILITY OF SUCH DAMAGE.
620
+
621
+
622
+ HISTORY *command-t-history*
623
+
624
+ 1.0.1 (5 January 2011)
625
+
626
+ - work around bug when mapping |:CommandTFlush|, wherein the default mapping
627
+ for |:CommandT| would not be set up
628
+ - clean up when leaving the Command-T buffer via unexpected means (such as
629
+ with <C-W k> or similar)
630
+
631
+ 1.0 (26 November 2010)
632
+
633
+ - make relative path simplification work on Windows
634
+
635
+ 1.0b (5 November 2010)
636
+
637
+ - work around platform-specific Vim 7.3 bug seen by some users (wherein
638
+ Vim always falsely reports to Ruby that the buffer numbers is 0)
639
+ - re-use the buffer that is used to show the match listing, rather than
640
+ throwing it away and recreating it each time Command-T is shown; this
641
+ stops the buffer numbers from creeping up needlessly
642
+
643
+ 0.9 (8 October 2010)
644
+
645
+ - use relative paths when opening files inside the current working directory
646
+ in order to keep buffer listings as brief as possible (patch from Matthew
647
+ Todd)
648
+
649
+ 0.8.1 (14 September 2010)
650
+
651
+ - fix mapping issues for users who have set |'notimeout'| (patch from Sung
652
+ Pae)
653
+
654
+ 0.8 (19 August 2010)
655
+
656
+ - overrides for the default mappings can now be lists of strings, allowing
657
+ multiple mappings to be defined for any given action
658
+ - <Leader>t mapping only set up if no other map for |:CommandT| exists
659
+ (patch from Scott Bronson)
660
+ - prevent folds from appearing in the match listing
661
+ - tweaks to avoid the likelihood of "Not enough room" errors when trying to
662
+ open files
663
+ - watch out for "nil" windows when restoring window dimensions
664
+ - optimizations (avoid some repeated downcasing)
665
+ - move all Ruby files under the "command-t" subdirectory and avoid polluting
666
+ the "Vim" module namespace
667
+
668
+ 0.8b (11 July 2010)
669
+
670
+ - large overhaul of the scoring algorithm to make the ordering of returned
671
+ results more intuitive; given the scope of the changes and room for
672
+ optimization of the new algorithm, this release is labelled as "beta"
673
+
674
+ 0.7 (10 June 2010)
675
+
676
+ - handle more |'wildignore'| patterns by delegating to Vim's own |expand()|
677
+ function; with this change it is now viable to exclude patterns such as
678
+ 'vendor/rails/**' in addition to filename-only patterns like '*.o' and
679
+ '.git' (patch from Mike Lundy)
680
+ - always sort results alphabetically for empty search strings; this eliminates
681
+ filesystem-specific variations (patch from Mike Lundy)
682
+
683
+ 0.6 (28 April 2010)
684
+
685
+ - |:CommandT| now accepts an optional parameter to specify the starting
686
+ directory, temporarily overriding the usual default of Vim's |:pwd|
687
+ - fix truncated paths when operating from root directory
688
+
689
+ 0.5.1 (11 April 2010)
690
+
691
+ - fix for Ruby 1.9 compatibility regression introduced in 0.5
692
+ - documentation enhancements, specifically targetted at Windows users
693
+
694
+ 0.5 (3 April 2010)
695
+
696
+ - |:CommandTFlush| now re-evaluates settings, allowing changes made via |let|
697
+ to be picked up without having to restart Vim
698
+ - fix premature abort when scanning very deep directory hierarchies
699
+ - remove broken |<Esc>| key mapping on vt100 and xterm terminals
700
+ - provide settings for overriding default mappings
701
+ - minor performance optimization
702
+
703
+ 0.4 (27 March 2010)
704
+
705
+ - add |g:CommandTMatchWindowAtTop| setting (patch from Zak Johnson)
706
+ - documentation fixes and enhancements
707
+ - internal refactoring and simplification
708
+
709
+ 0.3 (24 March 2010)
710
+
711
+ - add |g:CommandTMaxHeight| setting for controlling the maximum height of the
712
+ match window (patch from Lucas de Vries)
713
+ - fix bug where |'list'| setting might be inappropriately set after dismissing
714
+ Command-T
715
+ - compatibility fix for different behaviour of "autoload" under Ruby 1.9.1
716
+ - avoid "highlight group not found" warning when run under a version of Vim
717
+ that does not have syntax highlighting support
718
+ - open in split when opening normally would fail due to |'hidden'| and
719
+ |'modified'| values
720
+
721
+ 0.2 (23 March 2010)
722
+
723
+ - compatibility fixes for compilation under Ruby 1.9 series
724
+ - compatibility fixes for compilation under Ruby 1.8.5
725
+ - compatibility fixes for Windows and other non-UNIX platforms
726
+ - suppress "mapping already exists" message if <Leader>t mapping is already
727
+ defined when plug-in is loaded
728
+ - exclude paths based on |'wildignore'| setting rather than a hardcoded
729
+ regular expression
730
+
731
+ 0.1 (22 March 2010)
732
+
733
+ - initial public release
734
+
735
+ ------------------------------------------------------------------------------
736
+ vim:tw=78:ft=help: