ฉันไม่แน่ใจว่าฉันเข้าใจคำถามของคุณ ใช่ด้วยบุ๊คมาร์ค +คุณสามารถมีบุ๊คมาร์คหลายรายการที่มีชื่อบุ๊คมาร์คเดียวกัน (ที่จริงแล้วคุณสามารถใช้ Vanilla Emacs ได้เช่นกัน แต่ไม่เป็นประโยชน์)
หากคุณสร้างที่คั่นหนังสืออัตโนมัติเช่นชื่อที่คั่นหน้าจะเหมือนกันกับชื่อไฟล์ที่สัมพันธ์กัน แต่ชื่อไฟล์ที่บันทึกไว้นั้นสมบูรณ์ดังนั้นคุณสามารถมีที่คั่นหนังสือที่แตกต่างกันในชื่อเดียวกันโดยชี้ไปที่ไฟล์ที่มีชื่อเดียวกัน ไดเรกทอรีที่แตกต่างกัน
เพื่อที่จะใช้ประโยชน์จากการนี้คุณต้องให้แน่ใจว่าค่าของตัวเลือกคือไม่ใช่bmkp-propertize-bookmark-names-flag
nil
คุณสามารถสลับตัวเลือกนี้ใน*Bookmark List*
การแสดงผลโดยใช้เมนูBookmark+
> >Toggle
Allowing Identical Bookmark Names
คุณไม่ต้องทำอะไรเป็นพิเศษนอกจากนั้นเพื่อที่จะสามารถสร้างและใช้บุ๊กมาร์กที่มีชื่อเดียวกันได้
สตริงเอกสารของbookmark-set
บอกว่า:
Plain prefix arg (`C-u'): Do not overwrite a bookmark that has the
same name as NAME, if such a bookmark already exists. Instead,
push the new bookmark onto the bookmark alist.
ดังนั้นสำหรับสามัญ (เช่นไม่ AutoFile) บุ๊กมาใช้C-u
กับC-x r m
การอนุญาตให้สร้างบุ๊คมาร์คเพิ่มเติมที่มีชื่อเดียวกัน
ด้วยมาร์ค + คำสั่งbmkp-bookmark-set-confirm-overwrite
ที่ไม่ถูกผูกไว้เพื่อbookmark-set
C-x r m
สตริง doc บอกสิ่งนี้:
This is the same as `bookmark-set', except that with no prefix arg you
are asked to confirm overwriting an existing bookmark of the same
NAME.
นั่นคือถ้าคุณใช้C-x r m
โดยไม่มีอาร์กิวเมนต์นำหน้าก่อนที่จะเขียนทับบุ๊กมาร์กที่มีอยู่ในชื่อเดียวกันคุณจะถูกขอให้ยืนยันการเขียนทับ ซึ่งหมายความว่าคุณไม่จำเป็นต้องกังวลเกี่ยวกับการเขียนทับโดยไม่ตั้งใจ
อัปเดตหลังจากความคิดเห็นของคุณ
นี่ไม่ใช่สถานที่สำหรับการสนทนาจริงๆ และคำถามของคุณยังไม่ชัดเจน
คุณกำลังถามว่าจะตรวจสอบว่ามีบุ๊คมาร์คที่มีอยู่ซึ่งมีชื่อและบุ๊คมาร์คของไฟล์ที่กำหนดหรือไม่? ถ้าเป็นเช่นนั้น:
(defun bookmark-name+filename-exists-p (bookmark file)
"Return a bookmark named BOOKMARK for FILE, or nil if there is none.
BOOKMARK is a bookmark name or a bookmark record."
(when (consp bookmark) (setq bookmark (bookmark-name-from-full-record bookmark)))
(catch 'bookmark-exists-p
(dolist (bmk bookmark-alist)
(when (and (string= bookmark (bookmark-name-from-full-record bmk))
(bmkp-same-file-p file (bookmark-get-filename bmk)))
(throw 'bookmark-exists-p bmk)))
nil))
คุณกำลังขอรายการบุ๊คมาร์คทั้งหมดที่มีชื่อที่กำหนดหรือไม่? ถ้าเป็นเช่นนั้น:
(defun bookmarks-with-name (bname)
"Return a list of the bookmarks with name BNAME."
(bmkp-remove-if-not
`(lambda (bmk) (string= ',bname (bookmark-name-from-full-record bmk)))
bookmark-alist))