Wie wird die Region (Auswahl) programmgesteuert in Emacs Lisp mithilfe von Indizes festgelegt?


7

Gegeben 2 absolute Zahlen (kompatibel mit region-beginning, region-end).

Wie können diese Zahlen verwendet werden, um die Auswahl festzulegen?


Bearbeiten: Wenn Sie den bösen Modus verwenden, möchten Sie möglicherweise diese Frage überprüfen. Zum Zeitpunkt der Frage war mir nicht bewusst, dass dies in einigen Fällen eine andere Methode erfordert.

Antworten:


8

Der Bereich ist als die Textspanne zwischen Punkt und Markierung definiert, daher reicht es aus, beide an die betreffenden Zahlen anzupassen. Folgende Verwendungen point-minund point-maxzu diesem Zweck:

(set-mark (point-min))
(goto-char (point-max))

Sie erwähnen jedoch anschließend "Auswahl festlegen". Vielleicht möchten Sie die Region nicht nur ändern (da es immer eine Region gibt), sondern sie auch aktivieren:

(activate-mark)

1
Erwähnenswert ist (setq deactivate-mark nil)möglicherweise, dass dies in einigen Fällen festgelegt werden muss (wie Sie festgestellt haben, warum die Auswahl der Einstellungen manchmal fehlschlägt) .
ideasman42

Nicht wirklich so, wie das Aktivieren der Marke funktioniert, es ist nur so, dass es gleich danach deaktiviert wird. Dies ist daher Material für eine neue Frage: "Warum wird die Markierung nach einem <...> Befehl deaktiviert?" nett.
Wasamasa
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.