CtrlP(1) is a recent alternative to Command-T: you can use it to quickly jump to another buffer, a nearby file, a recently used file… all this with a very consistent interface and a neat feature: you can configure it to look up and up for a .git or .svn or other VCS artefacts and start from there. This makes the whole "open a file in the current project" business an almost seamless experience.
Also what's the point of displaying a third of the height of a line?
Nice tip on the Ctrl-P link; but I'm curious, is there anywhere that sums up why Ctrl-P would be preferred over Command-T? Aside from being written in pure Vimscript, I haven't seen anything touting any specific advantages or disadvantages in a head-to-head.
| Command-T | CtrlP
-----------------------------------------+-----------+--------------------
files | OK | OK
-----------------------------------------+-----------+--------------------
buffers | OK | OK
-----------------------------------------+-----------+--------------------
tags | OK | OK
-----------------------------------------+-----------+--------------------
jumps | OK |
-----------------------------------------+-----------+--------------------
lines (vimgrep) | | OK
-----------------------------------------+-----------+--------------------
MRU files | | OK
-----------------------------------------+-----------+--------------------
mixed | | OK (new, untested)
-----------------------------------------+-----------+--------------------
open in tab | OK | OK
-----------------------------------------+-----------+--------------------
open in vsplit | OK | OK
-----------------------------------------+-----------+--------------------
open in hsplit | OK | OK
-----------------------------------------+-----------+--------------------
open multiple items | | OK
-----------------------------------------+-----------+--------------------
matches with filenames | OK | OK
-----------------------------------------+-----------+--------------------
matches with filepaths | OK | OK
-----------------------------------------+-----------+--------------------
execute command on opened file | | OK
-----------------------------------------+-----------+--------------------
create new file and parent directories | | OK
-----------------------------------------+-----------+--------------------
project root finder based on VCS | | OK
-----------------------------------------+-----------+--------------------
I'd say that both are quite close in terms of features. CtrlP's strong points for me are:
* no dependencies
* project root finder
* overall UX
The "lines" feature (fuzzy incremental search across buffers ) is also very nice:
It's a pain if you don't have a version of Vim compiled with Ruby support; I was just wondering if there was anything beyond the language choice that made is superior (or inferior).
The moment I start Ctrl-P in Vim, it takes about 20 seconds just to index and then when I began to type, the letters I type appear really slow and it takes ages for it to actually type out the whole word. Same when I delete a word by hitting backspace.
Command-T is, I would say, 40% faster for me but there is the same lag when typing/backspacing.
There's a good chance you need to invest in your wildignore or ctrlp ignore settings. I run: https://gist.github.com/67de417c5c38f0ff8093 in the end of my ~/.vimrc to ignore the SCM directory, the tmp directory and my data-dirs (you can adapt as required) - this makes ctrlp really responsive for me. YMMV.
CtrlP (and other similar plugin)s doesn't have knowledge of your filesystem before you point them to a directory and it has scanned its content. Obviously, this operation can take some time on large/deep directories which will vary between implementations.
Luckily CtrlP gives you a bunch of ways to accelerate the whole thing. See `:h ctrlp`.
Comments
CtrlP(1) is a recent alternative to Command-T: you can use it to quickly jump to another buffer, a nearby file, a recently used file… all this with a very consistent interface and a neat feature: you can configure it to look up and up for a .git or .svn or other VCS artefacts and start from there. This makes the whole "open a file in the current project" business an almost seamless experience.
Also what's the point of displaying a third of the height of a line?
(1) https://github.com/kien/ctrlp.vim/
Nice tip on the Ctrl-P link; but I'm curious, is there anywhere that sums up why Ctrl-P would be preferred over Command-T? Aside from being written in pure Vimscript, I haven't seen anything touting any specific advantages or disadvantages in a head-to-head.
Just for you:
I'd say that both are quite close in terms of features. CtrlP's strong points for me are:* no dependencies
* project root finder
* overall UX
The "lines" feature (fuzzy incremental search across buffers ) is also very nice:
John Coltrane wins the points--way more than I expected (a link to a quick summary would have done fine)--thanks for the detailed look!
You are welcome.
I should add that CtrlP is getting better and better over time. Some new (to me, at least) features:
* Bookmarking
* Quickfix mode
* Undo mode
* Change mode
* RTS mode
`:CtrlPBufferTag` is a killer.
This plugin seriously rocks.
Command-T is known to be quite the pain in setting up.
It's a pain if you don't have a version of Vim compiled with Ruby support; I was just wondering if there was anything beyond the language choice that made is superior (or inferior).
Is it just me or is Ctrl-P really slow for me?
The moment I start Ctrl-P in Vim, it takes about 20 seconds just to index and then when I began to type, the letters I type appear really slow and it takes ages for it to actually type out the whole word. Same when I delete a word by hitting backspace.
Command-T is, I would say, 40% faster for me but there is the same lag when typing/backspacing.
There's a good chance you need to invest in your wildignore or ctrlp ignore settings. I run: https://gist.github.com/67de417c5c38f0ff8093 in the end of my ~/.vimrc to ignore the SCM directory, the tmp directory and my data-dirs (you can adapt as required) - this makes ctrlp really responsive for me. YMMV.
CtrlP (and other similar plugin)s doesn't have knowledge of your filesystem before you point them to a directory and it has scanned its content. Obviously, this operation can take some time on large/deep directories which will vary between implementations.
Luckily CtrlP gives you a bunch of ways to accelerate the whole thing. See `:h ctrlp`.