2010-09-29 13 views
11

Jaki jest najprostszy sposób otwarcia pliku txt, którego ścieżkę należy znaleźć za pomocą polecenia powłoki?Emacs: najszybszy sposób otwarcia pliku, którego lokalizacja nie jest znana.

Na przykład, powiedzmy, że chcemy otworzyć plik, który wiem, to (wyjątkowo) o nazwie example.txt i które znam jest „gdzieś znajdę go za pomocą powłoki znaleźć polecenia”.

Co zrobić, obecnie jest to:

zrobić C-u (universal-argument) następnie M-! (command shell)

Następnie wprowadź znaleźć, na przykład:

find . -iname "example.txt" 

Następnie pełną ścieżkę (co nie znałem wcześniej) pojawia się w buforze, ja go wyciąć, a następnie Trafiłem Cx Cf, usunąłem to, co napisałem domyślnie, a następnie wklejałem to, co wcześniej wycinałem.

To wydaje się nieco długa i wymaga sporo klawiszy, cut'n'pasting itp

Czy jest najprostszym sposobem, aby zrobić to samo (bez pisania nowy zwyczaj polecenia Emacs)?

Odpowiedz

10

Używając tylko wbudowaną funkcjonalność, chciałbym:

  • Przejdź do bufora powłoki: M-x powłoka
  • Uruchom moje polecenia find.
  • Przesuń kursor w górę, aby znalazł się na górze znalezionej ścieżki pliku.
  • Uruchom polecenie find-file-at-point: M-x ffap.

używam find-file-at-point tyle często, że mam to wiąże się z dedykowanym klawiszem, s- \ (super-backslash).

+0

nie działa dla mnie. Po prostu podaje mi aktualny katalog, w którym jestem w powłoce ... – Mordechai

6

Wypróbuj ifind.el

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

wyszuka example.txt w katalogach poniżej /some/starting/point.

+0

znowu! :) Doskonały. – SyntaxT3rr0r

10
M-x find-name-dired 

Wpisz dir (domyślnie bieżących) i nazwę pliku (globs powłoki pracować zbyt) i dostaniesz wirtualną DIRED bufor z wyników. Idź do pliku, który chcesz i kliknij "a"

1

Jeśli twój folder stanowi "projekt" - coś pod kontrolą wersji lub ma znacznik folderu głównego, taki jak project.el, .dir-locals.el, itp. może korzystać z find-file-in-project, co moim zdaniem jest doskonałym rozwiązaniem tego problemu.

0

M-xfind-diredRET

wtedy masz DIRED bufor wyświetlanie plików zwracanych przez znalezisku. Możesz użyć klasycznego polecenia dired, aby otwierać/przenosić/zmieniać nazwy ... plików i katalogów.

2

M-x locate to najszybszy sposób na znalezienie i otwarcie pliku, szczególnie. jeśli znasz dokładną nazwę pliku, w emacs.

+0

Nie wiedziałem o tym, dzięki! –

0

Jestem zaskoczony, że globalff nie jest wymieniany jako jeden z opcją realną. Pewnie, że wymaga polecenia lokalizacji, ale jest dość szybkie i użyteczne, gdy nie możesz sobie przypomnieć dokładnej nazwy.

1

W Sople można znaleźć pliki, dopasowując nie tylko względną nazwę pliku, ale wszelkie części ścieżki. Możesz użyć podciągu, wyrażenia regularnego i dopasowania rozmytego. Możesz połączyć wiele wzorców wyszukiwania (stopniowe uzupełnianie). Zobacz polecenie wielofunkcyjne icicle-locate-file.

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

Powiązane problemy