Wolfram mathematica 在Mathematica中,将所选文本换行到括号中
有没有办法在Mathematica笔记本中选择一些文本,然后将所选内容用括号括起来 例如,如果我在笔记本中键入以下内容:Wolfram mathematica 在Mathematica中,将所选文本换行到括号中,wolfram-mathematica,Wolfram Mathematica,有没有办法在Mathematica笔记本中选择一些文本,然后将所选内容用括号括起来 例如,如果我在笔记本中键入以下内容: 1, 2, 3, 4 我希望能够选择所有文本,然后键入命令以插入匹配的花括号(alt-}在linux上),它会将所选内容用花括号括起来 {1, 2, 3, 4} 下面的函数添加了一个命令,该命令基本上执行您所要求的操作 如前所述,它包含Control+U组合键(通常为“下划线”)。你可以很简单地改变这一点。它还向Insert菜单添加了一个名为“Make List”的项,但
1, 2, 3, 4
我希望能够选择所有文本,然后键入命令以插入匹配的花括号(alt-}
在linux上),它会将所选内容用花括号括起来
{1, 2, 3, 4}
下面的函数添加了一个命令,该命令基本上执行您所要求的操作 如前所述,它包含Control+U组合键(通常为“下划线”)。你可以很简单地改变这一点。它还向Insert菜单添加了一个名为“Make List”的项,但我想您只需使用组合键即可 此修改仅对当前会话有效,但您可以将该函数添加到init文件中,以便在启动时加载。还有其他永久添加功能的方法,如编辑KeyEventsTranslations文件,如。) 一旦运行了实现功能,就可以使用Control+U执行它
FrontEndExecute[
FrontEnd`AddMenuCommands["DuplicatePreviousOutput",
{Delimiter, MenuItem["Make List",
FrontEnd`KernelExecute[
nb = SelectedNotebook[];
sel = NotebookRead[nb];
NotebookWrite[nb, Cell[BoxData[RowBox[{"{", sel, "}"}]]]]],
MenuKey["u", Modifiers -> {"Control"}],
System`MenuEvaluator -> Automatic]}]]
已键入并选择:1、2、3、4
控制+U
{1,2,3,4}
附录
这是一个可以用来代替菜单设置修改的版本。它被设置为在按下“{”键时激活,并将包装一个选择或只匹配大括号。将其放入MenuSetup并不那么简单;我可以通过使用KernelExecute
从MenuSetup调用一个外部程序来实现。将下面的代码放入init文件也同样有效
FrontEndExecute[
FrontEnd`AddMenuCommands[
"DuplicatePreviousOutput", {Delimiter, MenuItem["Make List",
FrontEnd`KernelExecute[
nb = SelectedNotebook[];
sel = NotebookRead[nb];
If[sel === {},
FrontEndExecute[FrontEndToken["InsertMatchingBraces"]],
NotebookWrite[nb, Cell[BoxData[RowBox[{"{", sel, "}"}]]]]]],
MenuKey["{", Modifiers -> {}],
System`MenuEvaluator -> Automatic]}]]
哇,太好了。老实说,我甚至怀疑这是可能的。我在我的
MenuSetup.tr
文件中有MenuItem[“Matching{}”,“InsertMatchingBraces”,MenuKey[“{”,Modifiers->{}]
,这样就可以键入一个{'自动配对。现在,我想获取您的答案,这样,如果没有选择,它只打印匹配的括号,如果有,它会包装选择。