如果一個目錄包含很多文件,並且我想要以文件(或字符串)開頭的文件(或子目錄),那麼有沒有什麼好的方法可以做到這一點?我知道在遠程文件管理器中,人們可以按Alt鍵並開始輸入名稱,光標會隨着鍵入而移動,我想知道Emacs是否有類似的東西。如何在Emacs Dired中快速訪問文件?
回答
最快的方式來回答這個問題正在複製從一個部分emacs信息文件。 爲了得到這個文本類型章我d 米emacs
RET然後isearch
一個合適的子忽略了第一Failing I-search
或者只是去到的信息與章我,然後直接去到以下提到的信息節點g,然後鍵入節點名稱,然後鍵入ret。
從(emacs) Dired and Find
工作一個是否在dired緩衝或不信息節點的第一:
To search for files with names matching a wildcard pattern use `M-x
find-name-dired'. It reads arguments DIRECTORY and PATTERN, and
chooses all the files in DIRECTORY or its subdirectories whose
individual names match PATTERN.
從信息節點第二(emacs) Dired Navigation
作品dired緩衝器,但僅適用於目前上市文件。但是,請注意,您可以在之前列出子目錄i。
`M-s f C-s' (`dired-isearch-filenames') performs a forward
incremental search in the Dired buffer, looking for matches only
amongst the file names and ignoring the rest of the text in the buffer.
`M-s f M-C-s' (`dired-isearch-filenames-regexp') does the same, using a
regular expression search. If you change the variable
`dired-isearch-filenames' to `t', then the usual search commands also
limit themselves to the file names; for instance, `C-s' behaves like
`M-s f C-s'. If the value is `dwim', then search commands match the
file names only when point was on a file name initially. *Note
Search::, for information about incremental search.
編輯: 要ISEARCH目錄遞歸你可能首先列出它遞歸。
您可以通過使用prefix-arg調用dired
遞歸列出子目錄,並將R
添加到交換機列表中。
下面的代碼片段的Emacs初始化文件甚至可以簡化這個任務:
(defun dired-noselect-maybe-recursive (dir-or-list &optional switches)
"Like `dired-noselect' but lists sub-directories when last character is ?/."
(if (and (null switches)
(= (aref dir-or-list (1- (length dir-or-list))) ?/))
(dired-noselect dir-or-list "-alR")
(dired-noselect dir-or-list switches)
))
(setq find-directory-functions (subst 'dired-noselect-maybe-recursive 'dired-noselect find-directory-functions))
在這個片段中,你得到目錄的常規列表,如果你打電話找文件(CX比照)爲一個沒有斜線的目錄,如果你在最後用斜線調用它,你會得到一個遞歸列表。 但要小心。遞歸目錄列表可能需要時間。如果你感到緊張,你可以隨時退出C-g。
isearch會這樣做。控制,然後開始輸入。
因爲它是emacs的通用搜索功能,它可以直到你得到足夠的名字開始了在緩衝區匹配其他的事情。
@Tobias和@ jl8e都直接回答了您的問題:使用C-s
(增量搜索)。沒有什麼可以補充的。
但是,如果您打算多次使用列出的文件的子集,或者您要對文件的子集執行相同的操作,並且該子集可以通過文件名模式進行標識(例如相同的前綴),則可以使用%m
標記與正則表達式匹配的所有文件。標記完成後,您可以對標記的文件集(或未標記的文件集)執行各種操作。
(一個你能做的僅僅是省略從上市,因此從操作的標記或無標記的文件名的事。)
Dired是真的主要是關於檢查和操作上套的文件。單例集是一種特殊情況,對標記文件進行操作的所有操作(鍵)也僅在當前行文件上操作,如果沒有標記。
我只想補充一點,我喜歡用這 多少與你的問題一招:
(add-hook
'dired-mode-hook
(lambda()
(define-key dired-mode-map "j" 'ido-find-file)))
顯然,它適用於只是一個文件,它會打開它,而不是 提供大量的的東西,直接可以做一個文件, ,但至少它很快。
- 1. 在Emacs dired中,如何查找/訪問多個文件?
- 2. 如何快速在dired模式下打開子文件夾中的文件?
- 3. 如何在emacs dired中對文件進行排序?
- 4. 使用Hadoop快速訪問文件
- 5. 快速訪問
- 6. Emacs dired and bazaar
- 7. emacs-dired和globalff
- 8. Emacs的Dired重命名多個文件
- 9. 如何快速訪問Xcode中swift文件的界面版本?
- 10. 需要快速文件訪問選項
- 11. 如何在用戶訪問文件時將快速路由記錄到文件?
- 12. 在Emacs dired中錯誤顯示非ascii遠程文件名
- 13. Dired - 在另一個Emacs窗口中打開文件
- 14. Emacs - 如何安裝和使用dired +?
- 15. 如何快速訪問貓鼬虛擬
- 16. 如何快速訪問Xcode 4.5.1中的文檔?
- 17. 在快速枚舉中訪問值
- 18. 如何快速刪除emacs命令行中的所有文本?
- 19. XML Parse快速訪問attributeDict
- 20. 如何加速文件存儲訪問?
- 21. java中的快速隨機文件訪問
- 22. 快速訪問C變量
- 23. 快速訪問上一行?
- 24. 快速訪問矩陣
- 25. 快速Ruby哈希訪問
- 26. 快速訪問req.body值
- 27. MySQL - 快速訪問關係
- 28. 快速訪問setter方法
- 29. Emacs:鍵盤宏和Dired
- 30. emacs的Dired搜索上
在我的回答下面,我添加了遞歸isearching目錄的說明。 – Tobias
如果你有興趣在子目錄(即遞歸)中快速找到文件,你應該看看'projectile'及其'find-file-in-project'和'find-file-in-directory'函數:https://github.com/bbatsov/projectile – Ehvince
然後是瑞士軍刀:http://www.emacswiki.org/emacs/TN中的「不依賴外部程序進行清理」部分如果您調用'elgrep '用前綴鍵搜索遞歸,如果你只指定了文件名的正則表達式,而另一個正則表達式則爲空,那麼它只是用這樣的文件名搜索文件。 – Tobias