如何優雅的在終端打開emacs

我用終端打開emacs總是在右面有一個終端在那呆着,而不是直接在本窗口打開,非常費地方。。。 我這個是emacs clint,請問如何能直接在本終端打開,不浪費一個地方。。。

我zsh里是這樣弄的:

 alias e='emacsclient --create-frame --alternate-editor="" >/dev/null 2>&1'
1 个赞

不太明白。。如果你想打开窗口,用emacsclient -c

emacs -nw a.c

emacsclient -t a.c

你的意思是打开的是GUI版不是CLI版,你想直接用CLI版打开?

GUI打開,我記得我打開vim的cli的話,就沒有多出一個終端窗口來。

我這樣寫的:

alias e='emacsclient --create-frame --alternate-editor="" >/dev/null 2>&1'
  1. vim 使用 cli 打开,是在这个终端内打开的,不会在屏幕上多分一块
  2. emacs 想使用 gui 在原位置打开,这个和你描述的不太接轨,你得去看你用的 wm 的实现,单靠终端和 emacs,它们也表示臣妾做不到啊。

你的wm需要支持所谓swallow的特性,即如果从某虚拟终端打开gui程序,该程序自动占用原来虚拟终端的窗口,我是用的dwm打上swallow特性的 patch,xmonad也有类似的功能,bspwm另外加一个脚本就行,其他wm我就不清楚了,不过这个看上去好像可以支持很多wm。

另外你的这个alias应该是不支持pipe?建议参考 https://www.emacswiki.org/emacs/EmacsPipe, 比如我是用的这个

if [ -z "$1" ]
then
    TMP="$(mktemp /tmp/stdin-XXX)"
    cat >$TMP
    emacsclient -a emacs $TMP
    rm $TMP
else
    emacsclient -a emacs "$@"
fi
1 个赞

emacselient 不是有个 -n (—no-waite

此处的“优雅”是什么意思?敲键盘可以qiao起兰花指吗?

淦,这个qiao4的五笔怎么打?

这桌面效果怎么配置出来的?好漂亮啊!

哈哈,确实是要翘起兰花!

关于dwm在终端打开gui emacsclient,请参考:

https://www.reddit.com/r/suckless/comments/g4d1rb/dwm_on_swallowing_nonchild_processes_namely_emacs/

更简便、通用的方法是使用devour:

1 个赞

reddit的那个patch可以在命令行使用,但是无法在lf这样的终端文件管理器使用

devour很不稳定,有奇怪的bug

现在的方案是给dwm打这个patch, 然后配合wmctrl

然后提前在别的tag开一个emacsclient -c,用emacsclient -r -n

当然EDITOR,VISUAL环境变量还是emacsclient -nw