Skip to content

Comment on Coming Home to Vimparent

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:

                                             | 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:

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`.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.