一般来说,如果它的参数是已知的,是否可以从 init.el 调用交互式函数?
举个具体的例子:在sql包中,有一个交互函数sql-connect。
当调用为
M-x sql-connect
Run Code Online (Sandbox Code Playgroud)
它在小缓冲区中请求连接。接听
my-mysql-localhost-connection1
Run Code Online (Sandbox Code Playgroud)
打开一个带有 mysql 提示的SQL缓冲区,这是我想要的。
我想在 Emacs 启动时在SQL缓冲区中启动连接。但是在我的 init.el 中添加:
(sql-connect 'my-mysql-localhost-connection1)
Run Code Online (Sandbox Code Playgroud)
什么都不做。在这种情况下,对于一般的交互功能(哪些参数是已知的),我试图实现的目标是什么?
谢谢
一般来说:
是的,您可以在交互式调用后使用repeat-complex-command( C-xM-:) 来找出参数最终的样子。这是一种值得记住的有用方法,因为有时在交互形式中存在隐藏的操作,可以将用户的输入转换为不同的内容1。
这不一定会为您提供在非交互式调用中使用的最佳参数(这将始终取决于相关函数),但如果您不确定如何将其翻译为其他2 .
1 align-regexp就是一个很好的例子。
2假设您至少已阅读相关函数的文档字符串——在非交互式上下文中调用给定的交互式命令并不少见,并且函数帮助通常足以指出这个出来。