Например, я редактирую конфигурационный файл и хочу ввести путь. Есть ли плагин для Emacs, который позволяет вам завершить путь к файлу в этом буфере? Я искал это, и есть как плагин для завершения миллиарда там.
Например, я редактирую конфигурационный файл и хочу ввести путь. Есть ли плагин для Emacs, который позволяет вам завершить путь к файлу в этом буфере? Я искал это, и есть как плагин для завершения миллиарда там.
Ответы:
Попробуйте Hippie Expand , который, как одна из его возможностей, имеет ' try-complete-file-name
. Вы можете изменить порядок и список функций расширения, которые hippie expand будет использовать для расширения имени файла.
Или вы можете даже написать пользовательскую оболочку, которая будет выполнять только расширение имени файла. Что-то вроде:
(global-set-key (kbd "C-M-/") 'my-expand-file-name-at-point)
(defun my-expand-file-name-at-point ()
"Use hippie-expand to expand the filename"
(interactive)
(let ((hippie-expand-try-functions-list '(try-complete-file-name-partially try-complete-file-name)))
(call-interactively 'hippie-expand)))
Я обычно набираю Ctrl- X Ctrl- Fкак я хотел бы открыть файл, но вместо нажатия клавиши RETввода нажмите Ctrl- A Ctrl- K Ctrl- Gскопировать путь , а затем вставьте его в буфер я редактировал с Ctrl- Y.
Мне это не нужно достаточно часто, но если бы я действительно хотел лучшего решения, я бы определенно использовал решение Трея Джексона hippie-expand
. Я подумал о том , как hippie-expand
может быть лучший способ сделать это , когда первый с ответом, но я не знал , и был слишком ленив , чтобы посмотреть его, так что я просто написал то , что я делаю.
Ваниль, из коробки
M-x comint-dynamic-complete-filename
работает вне режима коминтов. Конечно, вы можете использовать динамическое расширение Минибуфер на использование меньше нажатий клавиш , чтобы получить к нему (например, Mx ЦОИ NT- ду namic- с omplete -f ilename). Или, если вы будете использовать его часто, вы можете привязать его к последовательности клавиш по вашему выбору, используя global-set-key
.
Это также возможно сделать с помощью автозаполнения компании, если они company-files
есть в списке company-backends
(по умолчанию в моей установке) или явно, позвонив company-files
.
Недавно я обнаружил работы Томохиро Мацуямы (@ m2ym), и я был очень впечатлен качеством его пакетов emacs.
Я боролся с большинством расширений автозаполнения и обнаружил, что все они имеют серьезные недостатки.
Посмотрите на автозаполнение Tomo ( http://auto-complete.org/doc/manual.html ), его легко установить (я нахожусь в Linux) и покрывает многие потребности автозаполнения в современном стиле.
Конечно, ваш запрос на завершение имен файлов в буфере полностью покрыт.
Наконец, если вам случится сделать Ruby, не пропустите его расширение RSense ; опять же, лучший в своем роде.
find-file
). Хотите подобное поведение в буфере контента?