Sometimes I only remember parts of a function name and I want find that function name quickly, and if I search in the document center, it will give too much informations related to that and difficult to find what I'm looking for. So is there a way to print out all the MMA functions in alphabetical order in a notebook, so that I can search only in the function names? Thanks.

  • 4
    $\begingroup$ Names["System`*"] might be what you are after. $\endgroup$ – Andy Ross Feb 23 '13 at 17:32
  • 2
    $\begingroup$ Related: Names["*KnownPart*"] adding the appropriate contexts as needed. $\endgroup$ – rcollyer Feb 23 '13 at 17:38

There is Documentation`HelpLookup["guide/AlphabeticalListing"]

If you want to tweak it yourself, you can start with

SetAttributes[makeSearchable, Listable];
(* Thanks @rm-rf *)
makeSearchable[s_String] := Hyperlink[s, "paclet:ref/" <> s]

firstLetter = StringTake[#, 1] &;

 OpenerView@{firstLetter@First@#, Column@makeSearchable@#} & /@ 
    Pick[#, StringMatchQ[#, WordCharacter ..]] &@Names["System`*"], 
    firstLetter] // Column, WindowTitle -> "Function list", 
     WindowElements -> {"VerticalScrollBar"}]

However, the practical approach is, as suggested, to use Names with the "*" character for unknown parts, or better still, Information, as in ?Pl* (or the autocompletion functionality)

  • $\begingroup$ You can also do this without the HelpLookup function. Simply replace Column@makeSearchable@# with Column[Hyperlink[#, "paclet:ref/" <> #] & /@ #]. I like this because clicking a different links does not launch a new doc window (default doc center behaviour) and you can always open a new window with rt.click $\endgroup$ – rm -rf Feb 23 '13 at 20:19
  • $\begingroup$ @rm-rf that's worth editing in, thanks! $\endgroup$ – Rojo Feb 23 '13 at 20:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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