这是我第一天上班,我们使用的服务器上默认的 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