如何将“emacs file.txt”别名为“emacs file.txt &”?

如何将“emacs file.txt”别名为“emacs file.txt &”?

如果这是一个 XY 问题,我想做的就是始终以可视方式打开 Emacs 作为后台进程,但仍然获得制表符补全,而不必手动附加“&”。我在 Tcsh,没有办法改变这一点。我不知道如何或是否可以使用别名来传递输入并向其添加某些内容 - 这可能吗?

答案1

是的,在 tcsh 中这是可能的(与 Bourne 风格的 shell 不同,您需要使用函数来代替)。您需要!*输入别名文本来替换传递给别名的参数,之后可以添加更多内容。

alias emacs 'emacs \!* &'

使用它的集成服务器更有用。从 Emacs 22 (IIRC) 开始,emacsclient如果 Emacs 尚未启动,您可以轻松运行并启动它。 (对于早期版本,emacsclient存在但不太有用。)

alias e 'emacsclient -a "" \!* &'

如果 Emacs 正在运行并且您只想打开一个新窗口,则无需在后台运行 emacsclient:告诉它在现有 Emacs 实例中打开文件并退出。

alias e 'emacsclient -a "" -c \!*'

相关内容