单元格分组层次结构的键盘导航?

时间:2011-09-25 22:54:12

标签: wolfram-mathematica mathematica-frontend

我发现细胞分组在组织我的笔记本时非常有用。我一直在笔记本右侧的方括号中单击鼠标来导航这个层次结构,但这有点乏味,需要一些手眼协调,在清晨时分会降低。我真的很想能够用键盘导航,但我无法用我能找到的任何快捷方式来做到这一点。我通常使用Mac版的Mm。

箭头键(或Ctl-F,B,P,N和la emacs)将在显示的单元格和Ctl-之间移动光标。将选择封闭组,基本上按照我的意愿向上移动组层次结构。并且Cmd-'将打开/关闭一个组。但是,我还没有找到一种方法可以通过分组进行分组 - 主要是说,在同一级别向前和向后移动选择,但也可能在一个级别上。我错过了快捷方式还是有更好的方法来导航层次结构?

我想到的具体问题如下:

假设我有一组细胞,分组在A,B和C部分,每个A1,A2,B1,B2的子部分,细胞A1a,A1b等。如果我在细胞A1a,我可以使用ctl - 。例如,选择连续更高的分组 - 从A1a到A1到A.现在我选择了整个A部分。我想要做的是移动到C部分。如果我使用箭头键,我将前进到所选A之后任何级别的下一个显示单元格(与这些单元格之间的插入点交替)。但我想做的是在相同(部分)级别 - 前进到B部分,然后前进到C部分。然后可能将选择放到分段级别 - C1 - 然后前进到C3。

这不是什么大不了的事,但我按照这个层次排列我的长笔记本,以反映我脑海中的逻辑组织,导航笔记本非常方便,就像我在思考这个问题一样。

2 个答案:

答案 0 :(得分:1)

我不太清楚你想要什么,但这可能对你有帮助。

如果选择单元格括号并使用箭头键,则会选择附近的单元格括号。

如果您改为选择 in 一个单元格并使用箭头键,您将首先在单元格内移动,然后附近的单元格中移动。

如果您想在其他地方移动所选单元格:

  1. 选择单元格括号
  2. 键入ctrl / cmd -X以剪切单元格并将其放在剪贴板上
  3. 用箭头或其他方式移动到nb上的另一个位置(在单元格之间)
  4. 键入ctrl / cmd -V以将剪切的单元格粘贴到新位置
  5. 这样您就可以快速更改单元格层次结构和顺序

答案 1 :(得分:0)

您可以通过修改MenuSetup.trKeyEventTranslations.tr添加至少部分功能。这些是重要的系统文件,所以要小心。首先将要编辑的文件从$InstallationDirectory复制到同一树中的$UserBaseDirectory。这应该类似于:

  

\应用程序数据\漫游\数学\ SystemFiles \前端\ TextResources \的Windows \ MenuSetup.tr

现在,在新位置编辑文件,您可以添加菜单项和键盘命令。在Menu["&Cell",部分,谨慎地尊重括号和逗号,我添加:

MenuItem["Next Cell",
  FrontEndExecute@{FrontEnd`SelectionMove[FrontEnd`SelectedNotebook[], Next, CellGroup]},
  MenuKey[".", Modifiers->{"Control"}]            
]

这会在Cell下添加一个新菜单项,并使用新的键盘命令移动到下一个CellGroup: Ctrl + 。这应该允许您从一个突出显示的单元格组(如节)移动到同一级别的下一个组。这是最容易实现的命令。我可能会回到此处尝试实现其他一些命令,或者您可以尝试使用SelectionMove的参数来查看可以执行的操作。