2

我发现单元格分组在组织我的笔记本时非常有用。我一直在通过在笔记本右侧的括号中单击鼠标来导航此层次结构,但这有点乏味,并且需要一些手眼协调能力,这在清晨会降低。我真的很希望能够使用键盘进行导航,但是我无法使用我能找到的任何快捷方式来做到这一点。我一般用的是Mac版的mm。

箭头键(或 Ctl-F,B,P,N a 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。

没什么大不了的,但是我将较长的笔记本这样分层排列,以反映我脑海中的逻辑组织,并且更像我在思考问题一样导航笔记本会非常方便。

4

2 回答 2

1

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

如果您选择一个单元括号并使用箭头键,您将选择一个附近的单元括号。

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

如果要将选定的单元格移动到其他位置:

  1. 选择单元格括号
  2. 键入 ctrl/cmd -X 剪切单元格并将其放在剪贴板上
  3. 用箭头或其他方式移动到 nb 上的另一个位置(单元格之间)
  4. 键入 ctrl/cmd -V 将剪切的单元格粘贴到新位置

这样您可以快速更改单元格层次结构和顺序

于 2011-11-03T09:54:00.613 回答
0

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

\AppData\Roaming\Mathematica\SystemFiles\FrontEnd\TextResources\Windows\MenuSetup.tr

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

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

这会在 Cell 下添加一个新菜单项,以及一个用于移动到下一个 CellGroup 的新键盘命令:Ctrl+ .。这应该允许您从一个突出显示的单元组(例如一个部分)移动到同一级别的下一个组。这是最容易实现的命令。我可能会回到这里尝试实现其他一些命令,或者您可以自己试验一下 的参数,SelectionMove看看可以做什么。

于 2011-11-13T17:08:59.527 回答