举例来说,我正在编辑配置文件,并且想输入路径。是否有emacs插件,可让您在该缓冲区中完成文件路径?我已经搜索过了,那里有一个不计其数的完成插件。
举例来说,我正在编辑配置文件,并且想输入路径。是否有emacs插件,可让您在该缓冲区中完成文件路径?我已经搜索过了,那里有一个不计其数的完成插件。
Answers:
尝试Hippie Expand,它可能是其中之一try-complete-file-name
。您可以更改嬉皮扩展将用于扩展文件名的扩展功能的顺序和列表。
或者,您甚至可以编写仅用于文件名扩展的自定义包装器。就像是:
(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。
我并不需要那么频繁,但是如果我真的想要一个更好的解决方案,我一定会使用Trey Jackson的解决方案hippie-expand
。我考虑过如何hippie-expand
在初次回答时做一个更好的方法,但是我不知道并且懒得查找它,所以我只写了我所做的事情。
最近,我发现了松山智宏(@ m2ym)的作品,其emacs软件包的质量给我留下了深刻的印象。
我在大多数自动完成扩展方面都遇到了麻烦,发现它们都有主要缺点。
查看Tomo的自动完成功能(http://auto-complete.org/doc/manual.html),安装起来很容易(我在Linux上),并且以现代方式满足了许多自动完成的需求。
当然,您对缓冲区中文件名完成的请求已得到很好的满足。
最后,如果您也碰巧也使用Ruby,请确保不要错过他的RSense扩展;再次,最好的。
find-file
例如,使用时)。您是否希望内容缓冲区中有类似行为?