emacs:我可以定义一个别名以在 minibuffer 中使用 find-file
Posted
技术标签:
【中文标题】emacs:我可以定义一个别名以在 minibuffer 中使用 find-file【英文标题】:emacs: can I define an alias for use find-file in the minibuffer 【发布时间】:2021-10-23 09:23:54 【问题描述】:如果我有一个我经常访问的文件或目录,我可以定义一个可以在 minibuffer 中工作的别名吗?我不是在找书签。
我想要在任何使用文件路径完成的情况下都可以使用的东西,例如find-file
、copy-file
或org-insert-link
。
我使用常春藤,所以当我插入一个 org 链接时,在注意到链接类型为 file
之后,我有一个文件名的 minibuffer 完成会话。
我希望别名也可以在那里工作。在所有这些用例中,我可能只是希望在 minibuffer 中扩展名称,而不是实际访问。
例如,如何替换这个:
M-x copy-file RET ~/.emacs RET ~/config-git-repo/.emacs
用这个:
M-x copy-file RET ~/.emacs RET myalias
达到同样的目的。另外请注意,如果 minibuffer 预填充了现有路径,则需要清除预填充的路径。
【问题讨论】:
(1) 问题不是很清楚。什么的别名?对于特定的文件名? (2) 不妨看看Abbrevs。 @Drew 我已将问题编辑得更清楚。我不认为缩写会为此工作。我不知道 abbrevs 是否在 minibuffer 中有效,即使有效,我也很确定它不会清除文件路径的任何现有完成提示。 【参考方案1】:(defun my/kill-best-file-name ()
(interactive)
(kill-new "bestfile.el"))
(global-set-key (kbd "C-c C-y") #'my/kill-best-file-name)
您可以先调用它,然后在 minibuffer 中执行 C-y
。
【讨论】:
您的意思是“...在 minibuffer 中做C-c C-y
”吗?是什么限制了这个迷你缓冲区?键绑定不是全局可用的吗?但是如果一个模式覆盖了全局键绑定会发生什么?
我认为这不会从 minibuffer 中清除任何现有的文件路径提示。我只是对问题进行了编辑,以更清楚地说明这是一项要求。谢谢。
@NickD C-c C-y
只是一个可能可用的随机密钥。如果某个模式覆盖它,则使用该模式的键。以上是关于emacs:我可以定义一个别名以在 minibuffer 中使用 find-file的主要内容,如果未能解决你的问题,请参考以下文章
使自动完成和 yasnippet 模式协同工作以在 GNU/Emacs 中编辑特定文件
如何设置别名或 VirtualHost 以在 Apache2 上运行 laravel 项目
如何让 bash 完成以在 Windows 10 bash 中使用别名?