2014-11-19 15 views
5

dấu trang + gói cung cấp chức năng (bmkp-this-file-bmenu-list). Điều này, tôi cho rằng, tải một tệp chỉ mục của tệp cụ thể và chỉ lọc các dấu trang có liên quan đến tệp.bookmark emacs +: Cách tạo tệp đánh dấu tệp cụ thể?

Câu hỏi: cách tạo tệp dấu trang cụ thể này cho một tệp cụ thể?

Kết quả phải là danh sách dấu trang được lọc, khi sử dụng lệnh C-x p , (được gắn với (bmkp-this-file-bmenu-list) ).

Chỉnh sửa: Tôi chỉ sử dụng một tệp dấu trang mặc định ~/.emacs.d/bookmarks. Tệp này có một số dấu trang cho ~/.emacs file. Bây giờ, khi tôi đến thăm, nói, ~/.emacs tập tin, sau đó chạy C-x p ,, tôi nhận được lỗi sau: bmkp-this-file-bmenu-list: No bookmarks for file ~/.emacs.

Trả lời

3

Không, trên thực tế, chỉ huy bmkp-this-file-bmenu-list thực hiện điều này (từ chuỗi doc):

Show the bookmark list just for bookmarks for the current file. 
Set `bmkp-last-specific-file` to the current file name. 
If the current buffer is not visiting a file, prompt for the file name. 

Nó cho thấy màn hình *Bookmark List*, chỉ liệt kê và tất cả các dấu trang nhắm mục tiêu tệp hiện tại.

Vì vậy, nếu bạn sử dụng lệnh này trong bộ đệm tệp thì bạn sẽ thấy hiển thị, trong vùng đệm *Bookmark List*, tất cả dấu trang vào tệp hiện tại và chỉ những dấu trang đó.

Điều này không liên quan gì đến việc sử dụng dấu trang khác tệp.


Ngoài những gì lệnh này làm, nó không rõ ràng đối với tôi những hành vi bạn muốn. Ví dụ: ý của bạn là "tệp dấu trang cụ thể cho một tệp cụ thể"?

+0

Tôi chỉ sử dụng một tệp dấu trang mặc định '~/.emacs.d/bookmarks'. Tệp này có một số dấu trang cho tệp '~/.emacs'. Bây giờ, khi tôi truy cập, hãy nói, '~/.emacs' file, sau đó chạy' Cx p, ', tôi nhận được lỗi sau:' bmkp-this-file-bmenu-list: Không có dấu trang cho tập tin ~/.emacs. 'Nhưng rõ ràng, tôi có một số dấu trang cho tệp này trong tệp dấu trang mặc định. Do đó, 'bmkp-this-file-bmenu-list' có thể tìm kiếm các dấu trang ở đâu đó, có lẽ, tôi đoán là, trong một số tệp đánh dấu cụ thể cho tệp' ~/.emacs' tôi đang truy cập. – user3156459

+1

Khi tôi sử dụng 'C-x p,' khi tôi truy cập một tệp, tôi nhận được một hiển thị '* Danh sách Dấu trang *' hiển thị các dấu trang nhắm mục tiêu tệp đó. Và có vẻ như bạn đang làm điều tương tự nhưng nhận được một thông báo lỗi. Kiểm tra để chắc chắn rằng tệp đánh dấu của bạn trên thực tế đã được đọc (đã tải) và nó bao gồm ít nhất một dấu trang vào tệp ('~/.emacs') mà bạn đang truy cập. (Bạn có thể kiểm tra cả hai bằng cách thực hiện 'C-x r l'.) Nếu vậy, hãy gửi cho tôi một email báo cáo lỗi (' M-x bmkp-send-bug-report') với nhiều thông tin như bạn có thể tìm hiểu về ngữ cảnh. Cám ơn. – Drew

+0

Xin chào Drew, cảm ơn bạn đã sửa lỗi này trong bản phát hành mới nhất. Tôi chấp nhận câu trả lời của bạn, nhưng có lẽ bạn có thể cập nhật câu trả lời của bạn, vì vậy câu hỏi này ở đây có một cấu trúc có ý nghĩa. – user3156459

2

Bạn có thể tạo một tệp dấu trang khác bằng dấu trang + với M-x bookmark-load. Bạn sẽ được nhắc nhập tên tệp. Bạn có thể nhập dấu trang từ các tệp khác nhau hoặc thay thế hoàn toàn bộ bookmark hiện tại bằng tập tin này bằng cách cung cấp một đối số tiền tố.

Lưu dấu trang bookmark-save sẽ ghi tất cả dấu trang hiện tại vào giá trị hiện tại của biến bmkp-current-bookmark-file hoặc nếu bạn cung cấp tiền tố arg, bạn có thể chọn tên tệp dấu trang để lưu chúng.

Nếu bạn muốn có một bộ bookmark trong một file riêng biệt, gắn liền với các tập tin đặc biệt mà bạn có lẽ có thể đạt được điều này bằng cách chạy bookmark tải, và đánh dấu lưu với các tiền tố. Bạn có thể thậm chí có thể tự động hóa điều này với móc để phù hợp với bối cảnh chỉnh sửa của bạn, mặc dù tôi hy vọng rằng sẽ có một chút khó khăn để đạt được.

Có vẻ như câu hỏi của bạn có thể được bắt nguồn từ một số nhầm lẫn về hành vi đánh dấu hiện có, và có lẽ bạn thậm chí không cần phải duy trì các file bookmark riêng biệt.

+0

Vui lòng xem nhận xét của tôi về câu trả lời của Drew bên dưới. Điều này mang lại một số nền tảng bổ sung cho vấn đề của tôi. – user3156459

+0

có - giá trị của 'bmkp-current-bookmark-file' là gì? – cms

+0

'bmkp-current-bookmark-file là một biến được định nghĩa trong' bookmark + -1.el '. Giá trị của nó là "/Users/xxx2/.emacs.d/bookmarks" ' – user3156459

Các vấn đề liên quan