Làm cách nào để đặt vùng (lựa chọn) theo chương trình trong Emacs Lisp bằng các chỉ mục?


7

Cho 2 số tuyệt đối (tương thích với region-beginning, region-end).

Làm thế nào những con số này có thể được sử dụng để thiết lập lựa chọn?


Chỉnh sửa: Nếu bạn sử dụng chế độ tà ác, bạn có thể muốn kiểm tra câu hỏi này , tại thời điểm hỏi tôi không biết điều này yêu cầu một phương pháp khác trong một số trường hợp.

Câu trả lời:


8

Vùng được định nghĩa là khoảng văn bản giữa điểm và dấu, do đó, đủ để điều chỉnh cả hai số trong câu hỏi. Các cách sử dụng sau đây point-minpoint-maxcho mục đích đó:

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

Tuy nhiên, bạn đề cập đến "thiết lập lựa chọn" sau đó, vì vậy có lẽ bạn không chỉ muốn thay đổi vùng (vì luôn có một vùng), nhưng cũng kích hoạt nó:

(activate-mark)

1
Có lẽ đáng nói đến (setq deactivate-mark nil)có thể cần phải được đặt trong một số trường hợp (như bạn đã tìm thấy khi xem tại sao cài đặt lựa chọn đôi khi không thành công) .
ideaman42

Không thực sự kích hoạt nhãn hiệu hoạt động, chỉ là nó bị vô hiệu hóa ngay sau đó. Do đó, đây là tài liệu cho một câu hỏi mới về "Tại sao dấu bị hủy kích hoạt sau lệnh <...>?" Tốt bụng.
wasamasa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.