2 Stimmen

Tastaturnavigation der Zellgruppierungshierarchie?

Ich finde die Zellengruppierung sehr nützlich, um meine Notizbücher zu organisieren. Bisher habe ich diese Hierarchie durch Klicken mit der Maus in die Klammern auf der rechten Seite des Notizbuchs gesteuert, aber das ist ziemlich mühsam und erfordert eine gewisse Hand-Augen-Koordination, die in den frühen Morgenstunden nachlässt. Ich würde gerne mit der Tastatur navigieren, aber ich habe keine Tastenkombinationen gefunden, mit denen ich das tun könnte. Ich verwende normalerweise die Mac-Version von Mm.

Die Pfeiltasten (oder Ctl-F,B,P,N a la emacs) bewegen den Cursor zwischen den angezeigten Zellen, und Ctl-. wählt umschließende Gruppen aus und bewegt sich im Wesentlichen in der Gruppenhierarchie nach oben, wie ich es möchte. Und mit Cmd-' wird eine Gruppe geöffnet/geschlossen. Ich habe jedoch keine Möglichkeit gefunden, mich auf andere Weise durch die Gruppierungen zu bewegen - in erster Linie, indem ich die Auswahl auf derselben Ebene vorwärts und rückwärts bewege, aber vielleicht auch eine Ebene nach unten. Habe ich eine Abkürzung übersehen oder gibt es eine bessere Möglichkeit, in der Hierarchie zu navigieren?

Das spezifische Problem, das ich im Auge habe, ist das folgende:

Angenommen, ich habe eine Sammlung von Zellen, gruppiert in den Abschnitten A, B und C mit Unterabschnitten in jedem A1, A2, B1, B2, mit den Zellen A1a, A1b, usw. Wenn ich mich in der Zelle A1a befinde, kann ich mit ctl-. die nächsthöhere Gruppierung auswählen - zum Beispiel von A1a über A1 nach A. Jetzt habe ich den gesamten Abschnitt A ausgewählt. Wenn ich die Pfeiltasten benutze, komme ich zur nächsten angezeigten Zelle auf jeder Ebene nach dem ausgewählten A (abwechselnd mit Einfügepunkten zwischen diesen Zellen). Ich möchte aber auf der gleichen Ebene (Abschnitt) weitergehen - zu Abschnitt B, dann zu Abschnitt C. Und dann vielleicht die Auswahl auf die Unterabschnittsebene - C1 - fallen lassen und zu C3 weitergehen.

Es ist keine große Sache, aber ich ordne meine längeren Notizbücher hierarchisch an, um eine logische Organisation in meinem Kopf widerzuspiegeln, und es wäre sehr praktisch, das Notizbuch so zu navigieren, als ob ich über das Problem nachdenken würde.

1voto

magma Punkte 626

Es ist mir nicht ganz klar, was Sie genau wollen, aber vielleicht hilft Ihnen das weiter.

Wenn Sie eine Zellklammer markieren und die Pfeiltasten verwenden, wählen Sie eine benachbarte Zellklammer aus.

Wenn Sie stattdessen wählen innerhalb eine Zelle und benutzen Sie die Pfeiltasten, so bewegen Sie sich zuerst innerhalb der Zelle und dann innerhalb Zellen in der Nähe.

Wenn Sie möchten, dass umziehen eine ausgewählte Zelle an einem anderen Ort:

  1. wählen Sie die Zellklammer
  2. Geben Sie ctrl/cmd -X ein, um die Zelle auszuschneiden und in die Zwischenablage zu kopieren.
  3. mit Pfeilen oder auf andere Weise an eine andere Stelle auf der nb (zwischen Zellen) verschieben
  4. Geben Sie ctrl/cmd -V ein, um die ausgeschnittene Zelle an der neuen Stelle einzufügen.

Auf diese Weise können Sie die Zellhierarchie und -reihenfolge schnell ändern

0voto

Mr.Wizard Punkte 23929

Sie können zumindest einen Teil der gewünschten Funktionalitäten durch Bearbeitung hinzufügen MenuSetup.tr o KeyEventTranslations.tr . Dies sind wichtige Systemdateien, seien Sie also vorsichtig. Kopieren Sie zunächst die Datei, die Sie bearbeiten wollen, aus dem Verzeichnis $InstallationDirectory a $UserBaseDirectory in demselben Baum. Dies sollte etwa so aussehen:

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

Wenn Sie nun die Datei am neuen Ort bearbeiten, können Sie Menüpunkte und Tastaturbefehle hinzufügen. Unter dem Menu["&Cell", Abschnitt, wobei ich darauf achte, Klammern und Kommata zu beachten, füge ich hinzu:

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

Dies fügt einen neuen Menüpunkt unter Zelle und einen neuen Tastaturbefehl zum Wechseln zur nächsten Zellgruppe hinzu: Ctrl + . . Dies sollte es Ihnen ermöglichen, von einer markierten Zellgruppe, z. B. einem Abschnitt, zur nächsten Gruppe auf derselben Ebene zu wechseln. Dies ist der am einfachsten zu implementierende Befehl. Ich werde darauf zurückkommen und versuchen, einige der anderen Befehle zu implementieren, oder Sie können selbst mit den Argumenten von SelectionMove um zu sehen, was getan werden kann.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X