簡體   English   中英

在emacs的查找文件中,是否可以從可能的補全中刪除./和../以便更快地完成制表符?

[英]In emacs' find-file, is it possible to remove ./ and ../ from possible completions for faster tab completions?

我們有一個大型項目,無論出於何種原因,該項目都有許多嵌套目錄,而這些目錄中往往只有另一個嵌套子目錄,例如

perl-thing/lib/PACKAGE/SUBPACKAGE/X.txt

在終端中,這很容易瀏覽,因為我多次單擊Tab鍵,最終它自動完成為X.txt,因為它是SUBPACKAGE中的唯一對象。

但是在Emacs中,使用查找文件,我必須先按p然后按tab以獲得perl-thing,然后按l-tab以獲得lib,將P-tab賦予PACKAGE等,這減慢了X.txt的獲取速度。 這似乎是由於查找文件列表./和../以及唯一的子目錄而可能完成的。

是否可以刪除./和../完成候選人,以便我可以使用Tab快速瀏覽目錄列表結構? 還是我應該使用除查找文件以外的其他東西?

您可以使用自己編寫的read-file-name -function,它忽略./../並將其設置為默認值,如下所示:

(defun read-file-name-nodots (prompt &optional dir default-filename mustmatch initial predicate)
  "Like read-file-name-default but does not complete on ./ and ../"
  (let ((predicate (or predicate (lambda (f) (not (or (string= f "./") (string= f "../")))))))
    (read-file-name-default prompt dir default-filename mustmatch initial predicate)))
(setq read-file-name-function 'read-file-name-nodots)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM