Найти файл с подсказкой? - PullRequest
       16

Найти файл с подсказкой?

3 голосов
/ 14 сентября 2009

Есть ли способ дать подсказку функции 'find-file'?

Я работаю с файлами в одном и том же каталоге на удаленном сервере, и мне надоело постоянно вводить имя машины и структуру каталогов. Было бы здорово, если бы я мог написать функцию, которая вызвала бы приглашение find-file с уже заполненными именем машины и каталогом.

(Примечание: я использую Emacs 23.1)

Заранее спасибо за помощь.

Ответы [ 3 ]

2 голосов
/ 14 сентября 2009

Если вы запускаете команду 'find-file из буферов, связанных с файлами на удаленном сервере, начальная точка должна уже включать заполненный каталог / удаленный сервер.

Один из способов снять кожу с этой кошки - сделать

M-x cd /ssh:user@machine:/starting/path

note: Я использую tramp, и вот так начинается поиск файла. Я не заметил /ssh: до сегодняшнего дня, но я больше не использую бродягу.

Чтобы ответить на ваш вопрос напрямую, эта команда вызывает find-file с «подсказкой»:

(defun my-remote-find-file ()
  "call 'find-file with a starting directory"
  (interactive)
  (let ((default-directory "/ssh:user@machine:/starting/path/"))
    (call-interactively 'find-file)))

Очевидно, настроить начальную точку.

Последний способ решить эту проблему - сделать M-x dired на удаленном сервере и найти файл с этого момента.

0 голосов
/ 05 сентября 2011

Используйте закладку , чтобы перейти в удаленный каталог. Затем, как отметил Трей выше, когда вы находитесь в удаленном файле или каталоге, для default-directory будет установлено то, что вы хотите.

Вы можете добавить в закладки удаленный файл или каталог. С помощью Закладка + , когда вы добавляете в закладки Dired буфер, вы также можете сохранить все его пометки файлов, пропуски и т.д. При последующем переходе к закладке сохраненное состояние восстанавливается. Используйте закладки для организации проектов кода и т. Д.

0 голосов
/ 14 сентября 2009

Настройте latestf , и, когда вы хотите открыть файл на сервере, перейдите в меню RecentF; если нужного вам файла нет, просто откройте что-нибудь еще в том же каталоге, затем введите C-x C-f, и каталог должен быть заполнен за вас.

...