emacs 命令的别名或函数?

emacs 命令的别名或函数?

这是我第一天上班,我们使用的服务器上默认的 emacs 是基于 X-windows 的。我更喜欢在老式的终端上使用它,而且我希望能够将命令emacs foo.txt读作 emacs --no-window-system foo.txt

我试图通过将线路添加function emacs() { emacs --no-window-system "$@" ;}到我的来做到这一点~/.profile,然后运行source ~/.profile,但系统没有响应emacs foo.txt

我这样做错了吗?作为替代方案,我想知道我想要做的事情是否完全是倒退的,事实证明有一个更简单的解决方案。

答案1

作为别名会更好。

将其放入你的 .profile 或 .bashrc 中

alias emacs='emacs -nw'

答案2

emacs我认为你原来的解决方案的问题在于,函数内部的调用emacs是对该函数的递归调用emacs。你可以调用emacs 程序而不是你的emacs 功能通过使用 bash 内置命令command

function emacs() { command emacs --no-window-system "$@" ;}

我有一种相反的愿望:我想在窗口系统下运行时自动将 emacs 置于后台。我的 中有以下内容.bashrc

if [ -n "$DISPLAY" ]; then
    function emacs() { (command emacs "$@" &) }
fi

相关内容