Several of the commands for browsing programs with tags use ].

  • Is there a mnemonic for this?
  • Why was it selected?
  • 1
    I know it doesn't answer your question fully, but on this link : docs.freebsd.org/44doc/usd/12.vi/paper-8.html, when they talk about ^], they say: Mnemonically, this command is ''go right to'' (7.3). – saginaw Dec 21 '15 at 20:06
  • 2
    @saginaw That version of An Introduction to Display Editing with vi is a bit updated (they added a new section, so 7.3 should be 8.3). In any case, the relevant section (More File Manipulation Commands) doesn't mention ^], but only :ta. I'm going to tag this with original-vi, Vim's earliest version I could find (1.4) had this in 1991, so presumably it's a vi thing. – muru Dec 22 '15 at 3:42

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 [ and ] as previous and next. It's used for many motions. See help various-motions for several examples of square bracket motions.

Therefore, <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.

  • +1, but I think my answer has more explanatory power. If they'd selected this keystroke purely for mnemonic reasons, they'd surely have been aware that Ctrl-[ is the same as Escape, which they couldn't use for "go back up," as would seem natural. I'll stick with my explanation: even in 1980, they didn't have much choice left for command keystrokes. – Warren Young Oct 26 '17 at 23:32

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.