有没有办法在Mathematica中使用[[和]]作为Part?

时间:2011-09-06 23:46:28

标签: wolfram-mathematica frontend

有没有办法避免必须⋮[[⋮来获取Part那些漂亮的括号?

enter image description here

运行函数或定义后,有没有办法自动完成?

2 个答案:

答案 0 :(得分:16)

我在/Applications/Mathematica.app/SystemFiles/FrontEnd/TextResources/Macintosh/KeyEventTranslations.tr中添加了以下内容,允许我输入带有组合键的双括号。您可以通过修改文件(操作系统上的任何位置)来执行相同操作。我首先从Szabolcs's网站here了解到这一点。他在那里有其他mathematica相关的东西可能对你有帮助。

添加的命令是:

  • Ctrl + [
  • Ctrl + ]
  • 〚〛 Ctrl + Alt + ]

KeyEventTranslations.tr文件中列出的等价物是:

  

修饰符可以是“Shift”,“Control”,“Command”,“Option”

     

对于Macintosh:“命令”=命令键,“选项”=选项键

     

对于X11:“Command”= Mod1,“Option”= Mod2

     

对于Windows:“Command”= Alt,“Option”= Alt

EventTranslations[{之后的上述文件中插入以下内容。

(* Custom keyboard shortcuts *)
    Item[KeyEvent["[", Modifiers -> {Control}],
        FrontEndExecute[{
            FrontEnd`NotebookWrite[FrontEnd`InputNotebook[],
                "\[LeftDoubleBracket]", After]
        }]],
    Item[KeyEvent["]", Modifiers -> {Control}],
        FrontEndExecute[{
            FrontEnd`NotebookWrite[FrontEnd`InputNotebook[],
                "\[RightDoubleBracket]", After]
        }]], 
    Item[KeyEvent["]", Modifiers -> {Control, Command}],
        FrontEndExecute[{
            FrontEnd`NotebookWrite[FrontEnd`InputNotebook[],
                "\[LeftDoubleBracket]", After],
            FrontEnd`NotebookWrite[FrontEnd`InputNotebook[],
                "\[RightDoubleBracket]", Before]
        }]], 

你不是唯一一个对此感到不满的人。 Here's我尝试通过将大写锁定映射到 Esc 来避免必须延伸到 Esc 。对于[[的转换,Wizard先生的couple questions也有{{3}}。

答案 1 :(得分:10)

我的偏好如下(代码已修复,感谢 Sjoerd C. de Vries ):

n = SelectedNotebook[];
SetOptions[n, 
 InputAliases -> 
  Append[Options[n, InputAliases][[1, 2]], 
   "[]" -> "\[LeftDoubleBracket]\[SelectionPlaceholder]\[RightDoubleBracket]\[Placeholder]"]]

这会添加一个新的输入别名⋮[]⋮,插入 [[]],将光标放在括号内的占位符上,然后放置另一个占位符通过按Tab键到达括号之外。

试一试,看看。如果您喜欢,可以将其添加到全局选项中:格式 - >选项检查员 - >显示选项值 - >全局偏好 - >搜索InputAliases。

您还可以将其与 yoda 提出的键盘快捷方式解决方案结合使用。