Gibt es eine bequeme Möglichkeit, die vorherige Einschränkung wiederherzustellen? Also nach der folgenden Abfolge von Ereignissen:
- Markieren Sie eine Region
- Rufen Sie an
narrow-to-region
und erledigen Sie Ihre Arbeit. - Rufen Sie
widen
an, um herumzuspringen und nach etwas zu suchen
Ich möchte mich wieder auf die ursprüngliche Region beschränken, ohne sie erneut markieren zu müssen.
widen
eines hypothetischenrenarrow
Befehls und dem Aufruf eines hypothetischen Befehls ändern kann . Vielleicht ist der beste Ansatz, die Grenzen der Region irgendwo zu speichern und einen Befehl zum Markieren der zuletzt gespeicherten Region zu haben.Antworten:
Anstatt den Hauptpuffer einzugrenzen, können Sie einen neuen indirekten Puffer öffnen und Folgendes eingrenzen :
Dadurch wird ein neuer indirekter Puffer Ihres aktuellen Puffers geöffnet, der auf Ihre aktuelle Region eingegrenzt ist. Das Bearbeiten dieses Puffers entspricht dem Bearbeiten des Hauptpuffers, und Sie können zwischen diesen hin und her wechseln.
Wie so:
Sie könnten dies mit netten Funktionen wie erweitern
Das liegt aber ganz bei Ihnen.
quelle
Entschuldigung, ich habe Ihre Frage nicht früher gesehen.
Dies ist genau einer der Gründe für Library Zones (
zones.el
).Wenn Sie den Puffer eingrenzen , wird jede Verengung einem Ring von Verengungen hinzugefügt , der den vollständigen (nicht gekrümmten) Puffer enthält. Die Verengungen können verschachtelt sein, müssen es aber nicht. Sie können beliebige Regionen sein.
Sie können zwischen den Verengungen wechseln (mit
C-x n x x x...
). Sie können direkt zur N- ten vorherigen Verengung gehen, indem Sie ein numerisches Präfix arg verwenden. zB ,C-3 C-x n x
. Die Ebene verbreitertC-u
sich vollständig (wie beimC-x n w
Radfahren zum ungepfeilten Ringeintritt).C-0
leert den Ring.Die Moduszeile zeigt an, welche Verengung (Pufferbeschränkung) aktuell ist.
Sie können den Ring der aktuellen Pufferbeschränkungen sogar dauerhaft speichern und später wiederherstellen. Wenn Sie die Bibliothek Lesezeichen + verwenden , können Sie einen Ring von Einschränkungen mit einem Lesezeichen versehen und später wiederherstellen, indem Sie zum Lesezeichen springen.
Weitere Informationen finden Sie unter Mehrere Verengungen .
Siehe auch Narrow Indirect (Bibliothek
narrow-indirect.el
). Sie können auf einfache Weise eine beliebige Anzahl indirekter Puffer erstellen, die Klone des Hauptpuffers sind und auf bestimmte Teile davon eingegrenzt sind.quelle