如何从命令行(OSX iterm)调用aquamacs以给定的行号打开文件?

时间:2019-05-20 16:18:25

标签: macos emacs aquamacs

我可以从aquamacs命令行调用OSX iterm没问题。

aquamacs myfile.txt可以正常工作。 但是,将行号传递给它不能打开: aquamacs +22 myfile.txt还会打开一个名为“ +22”的新文件!

如何打开特定行号的文件? 例如,使用vi,您可以执行vi +23 myfile.txt在以下位置打开文件 第23行

2 个答案:

答案 0 :(得分:0)

我相信aquamacs不支持此功能。命令行aquamacs只能接受一个参数,即文件名,这就是为什么在执行aquamacs +22 myfile.txt时要创建一个名为“ +22”的新文件的原因。

您可能会发现this有用。

答案 1 :(得分:0)

@tingfengxia所述,Aquamacs命令行助手aquamacs已损坏。 (我相信它固定在行李箱上。)

aquamacs基本上是macOS open的包装,因此您可以手动完成aquamacs的操作。假设您已正确安装Aquamacs.app

open -a Aquamacs myfile.txt --args +22

将做您想要的。也就是说,打开myfile.txt并将光标移至第22行。

请注意,由于open的工作方式,这仅在启动全新的Aquamacs会话时有效。如果您已经在运行Aquamacs,请尝试执行

open -A Aquamacs my_other_file.txt --args +39

Aquamacs 将在新的缓冲区中打开my_other_file.txt,但不会移至第39行。实际上,任何参数都会被忽略。

我应该补充一点,Aquamacs确实带有一个关联的emacsclient,它工作正常。如果您已经在Aquamacs会话中运行了server-start(通过初始化文件或手动运行),则可以

/Applications/Aquamacs.app/Contents/MacOS/bin/emacsclient -c +22 ~/myfile.txt

这将创建一个与当前Aquamacs会话关联的新GUI窗口(即Aquamacs框架),其缓冲区中加载了myfile.txt,光标位于第22行。 Aquamacs的emacsclient的完整路径显然取决于Aquamacs的安装位置。