Several of the commands for browsing programs with tags use ].
- Is there a mnemonic for this?
- Why was it selected?
vi was designed for use with glass terminals, the protocols of which often use many of the control-x commands down at the low end of ASCII. Others were reassigned in the move from paper terminals, such as Ctrl-L (form feed), which
vi reinterprets from "form feed" to mean "repaint display" instead, that being more appropriate to a text editor.
Commands like "jump to tag" — Ctrl-] — need to be usable in insert mode as well as command mode, so it couldn't use one of the printable ASCII characters. ASCII defines only 32 non-printable characters. Of those left, Ctrl-] apparently seemed like the best choice.
These standards go back something like 15 years before
vi was created, so
vi had to play within the existing landscape. You can imagine that all the good ones were taken by the time
vi came on the scene.
I can't speak to the history of the command, but I think of
] as previous and next. It's used for many motions. See
help various-motions for several examples of square bracket motions.
<C-]> becomes "Control-Next".
help CTRL-] describes it as "Jump to the definition". When I'm pairing that's a bit long winded, so I usually say "drill down" instead.