diff --git a/doc/vcsh.1.ronn b/doc/vcsh.1.ronn
index f9a849fa5817478ce40769ad4bd979d66afd4b52..11db1efa6358061d7537c3833b7983ecc2fd2d52 100644
--- a/doc/vcsh.1.ronn
+++ b/doc/vcsh.1.ronn
@@ -25,6 +25,8 @@ vcsh(1) - manage config files in $HOME via fake bare git repositories
 
 `vcsh` setup <repo>
 
+`vcsh` which <substring>
+
 `vcsh` write-gitignore <repo>
 
 `vcsh` <repo> <gitcommand>
@@ -98,6 +100,9 @@ an interactive user.
 * setup:
   Set up repository with recommended settings.
 
+* which <substring>:
+  Find <substring> in any tracked file name.
+
 * write-gitignore:
   Write .gitignore.d/<repo> via git ls-files.
 
diff --git a/vcsh b/vcsh
index 8639095b1388452f70557317a7564b390a88fd40..7a9bf39a913e797ce9bb09d5c92e120fa2564378 100755
--- a/vcsh
+++ b/vcsh
@@ -35,6 +35,7 @@ help() {
    run <repo> \\
        <command>        Use this repository
    setup                Set up repository with recommended settings
+   which <substring>    Find substring in any tracked file name
    write-gitignore \\
    <repo>               Write .gitignore.d/<repo> via git ls-files