The autocompletion is very convient in Mathematica,but it will make one annoying sometimes when you have a ton variables.I give a scene I encounter.I usually make many custom functions in my init.m,for example
System`testFunction[variablea_]:=Module[{variableb=variablea},variableb+1]
http://o8aucf9ny.bkt.clouddn.com/2016-06-25-01-06-52.png
But when I launch my Mathematica as soon as there are many variables prompt to auto-autocomplete.like this
So my question is how to make the variables in init.m not impact the autocompletion
System`can prevent my custom function losing its definition fromClear["`*"]– yode Jun 24 '16 at 17:27Clear["`*"]only clearsGlobal`– Szabolcs Jun 24 '16 at 17:28context: you can use them in other packages without trouble. Withy your Global\myfun you will have to use the longname explicitly in any package. So why notBegin["MyPrivateInitContext\"]; System`testFunction[variablea_] := Module[{variableb = variablea}, variableb + 1]; End[];` ? – Rolf Mertig Jun 24 '16 at 20:18$ContextPathwith one line afterBeginPackage. Even better, just put the definitions in a proper package and load the package ininit.m. Inside another package, load it withNeedsorBeginPackage. What I do personally is that I put the definitions in a package and put the package inAutoload. This way I can also use it from subkernels when parallelizing. – Szabolcs Jun 24 '16 at 20:23