4 ms·
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 consi
by johncoltrane 14y ago
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/ https://github.com/kien/ctrlp.vim/
- bcrescimanno 14y agoNice 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.
- nudded 14y agoCommand-T is known to be quite the pain in setting up.
- bcrescimanno 14y agoIt'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).
- johncoltrane 14y agoJust for you: | 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:
- bcrescimanno 14y agoJohn Coltrane wins the points--way more than I expected (a link to a quick summary would have done fine)--thanks for the detailed look!
- johncoltrane 14y agoYou are welcome.
- johncoltrane 14y agoI 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.
- Watabou 14y agoIs 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.
- codebeaker 14y agoThere's a good chance you need to invest in your wildignore or ctrlp ignore settings. I run: https://gist.github.com/67de417c5c38f0ff8093 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.
- johncoltrane 14y agoCtrlP (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`.