2010-09-29 23 views
11

Cách dễ nhất để mở tệp txt có đường dẫn được tìm thấy bằng lệnh tìm vỏ là gì?Emacs: cách nhanh nhất để mở tệp có vị trí không được biết

Ví dụ, chúng ta hãy nói rằng tôi muốn mở một tập tin mà tôi biết là (duy nhất) có tên example.txt và mà tôi biết là "một nơi nào tôi có thể tìm thấy nó bằng cách sử dụng vỏ tìm lệnh".

Những gì tôi đang làm điều này là:

tôi làm C-u (universal-argument) sau đó M! (lệnh shell)

sau đó tôi nhập tìm, ví dụ:

find . -iname "example.txt" 

Sau đó, đường dẫn đầy đủ (mà tôi không biết trước đây) xuất hiện trong bộ đệm, tôi cắt nó, sau đó Tôi nhấn Cx Cf, tôi xóa những gì được viết theo mặc định và sau đó dán những gì tôi đã cắt trước đó.

này có vẻ hơi dài và đòi hỏi khá một vài tổ hợp phím, cut'n'pasting, vv

Có một cách đơn giản nhất để làm như vậy (mà không cần viết một tùy chỉnh mới Emacs lệnh)?

Trả lời

10

Chỉ sử dụng built-in chức năng, tôi sẽ:

  • Đến một bộ đệm vỏ: M-x vỏ
  • Chạy lệnh find tôi.
  • Di chuyển con trỏ lên để nó ở trên cùng của đường dẫn tệp được tìm thấy.
  • Chạy lệnh find-file-at-point: M-x ffap.

tôi sử dụng find-file-at-point thường đủ mà tôi có nó ràng buộc với một phím chuyên dụng, s- \ (siêu backslash).

+0

không hoạt động đối với tôi. Chỉ cần cung cấp cho tôi thư mục hiện tại tôi đang ở trong vỏ ... – Mordechai

6

Thử ifind.el

M-x ifind /some/starting/point/example.txt 

sẽ tìm kiếm example.txt trong thư mục dưới /some/starting/point.

+0

bạn một lần nữa! :) Xuất sắc. – SyntaxT3rr0r

10
M-x find-name-dired 

Nhập dir (mặc định là hiện tại) và tên tệp (shell globs cũng hoạt động) và bạn sẽ nhận được bộ đệm đệm có kết quả. Chuyển tệp bạn muốn và nhấn 'a'

1

Nếu thư mục của bạn cấu thành "dự án" - điều gì đó dưới sự kiểm soát phiên bản hoặc có dấu thư mục gốc như project.el, .dir-locals.el, v.v. có thể sử dụng find-file-in-project, theo ý kiến ​​của tôi là một giải pháp tuyệt vời cho vấn đề này.

0

M-xfind-diredRET

sau đó bạn có một bộ đệm dired thấy tập tin của bạn được trả về bởi find. Bạn có thể sử dụng lệnh dired cổ điển để mở/di chuyển/đổi tên ... tệp và thư mục.

2

M-x locate là cách nhanh nhất để tìm và mở tệp, đặc biệt. nếu bạn biết chính xác tên tập tin, trong các emacs.

+0

Không biết về thư đó, cảm ơn! –

1

Cũng có một cái nhìn tại LocateFilesAnywhere

tôi xảy ra để sử dụng M-xanything-locate

0

Tôi ngạc nhiên là globalff không được đề cập là một trong những lựa chọn khả thi. Chắc chắn nó đòi hỏi xác định vị trí lệnh nhưng nó khá nhanh và hữu ích khi bạn không thể nhớ tên chính xác.

1

Trong Icicles bạn có thể tìm tệp bằng cách không chỉ khớp tên tệp tương đối mà còn bất kỳ phần nào của đường dẫn. Bạn có thể sử dụng chuỗi con, regexp và kết hợp mờ. Bạn có thể VÀ cùng nhau nhiều mẫu tìm kiếm (hoàn thành tiến bộ). Xem đa lệnh icicle-locate-file.

http://www.emacswiki.org/emacs/Icicles_-_File-Name_Input

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