如果我正在运行带有一堆缓冲区的emacs - 守护进程,是否有一种方法可以启动emacsclient,以便在上次使用它时打开什么是顶层缓冲区?如果我使用emacsclient -t或emacsclient -c,它会创建一个新框架并将其置于顶部,我如何避免此行为并恢复我正在做的任何事情?启动没有新框架的emacsclient
0
A
回答
0
好像我找到了答案,虽然它有点不雅。在我的.bash_profile中,我把
alias emacs='emacsclient -a "" -t -e \(kill-buffer\)'
所以,如果它不存在一个守护进程启动后,Emacs的客户端连接到它,创建一个新的缓冲区,并立即杀死它,从而留下任何缓冲是在顶部之前(我使用emacs桌面保存)现在显示在顶部。
0
你可以尝试这样的:
emacsclient -e '(raise-frame)'
或
emacsclient -e '(other-frame 0)'
如果这些解决方案的工作(这取决于你的窗口管理器),你也可以尝试以下解决方案(从这个SO answer):
emacsclient -e "(select-frame-set-input-focus (selected-frame))"
0
您似乎对emacs概念有点困惑。一个框架是在Emacs别人叫窗口和emacs的窗口是显示一个缓冲(您正在编辑的文本)。
选项-c
和-t
应该创建一个新的框架(图形或tty),如果你不想要的,而不是把它们放在外面。
如果仍然有一个打开的(图形)框架,最后一个活动的框架将被聚焦(可能取决于您的窗口管理器)并显示访问上一个活动窗口中给定文件的缓冲区。如果没有图形框架,则会打开当前tty上的新框架。
emacsclient
不能被称为没有一个文件或目录和要么-t
或-c
。因此,请使用您的窗口管理器来显示所需的帧。
但如果你真的想要的是,在该列表(list-buffers)
,那么你的运气了顶部与缓冲区打开一个新的框架,因为一个新的帧总是显示划痕缓冲区(如果没有配置)。您可以使用C-x b
或变量initial-buffer-choice
修改手动更改。
0
的
emacsclient -e '(raise-frame)'
或
emacsclient -e '(other-frame 0)'
或
emacsclient -e "(select-frame-set-input-focus (selected-frame))"
没有为我工作。他们确实导致emacs最初显示除* scratch *以外的缓冲区,但它不是我正在处理的最后一个缓冲区。我必须编写自己的机制来实现它 - 它假定您使用C-x C-c从服务器断开emacsclient:
(defun save-last-buffer-name-and-kill()
(interactive)
(setq jeeves/last-buffer-name (current-buffer))
(save-buffers-kill-terminal)
)
(defun get-last-buffer-name()
jeeves/last-buffer-name
)
(global-set-key (kbd "C-x C-c") 'save-last-buffer-name-and-kill)
(setq initial-buffer-choice 'get-last-buffer-name)
相关问题
- 1. Emacs - emacsclient或新框架?
- 2. 如何在启动新的emacsclient框架后运行某些elisp代码?
- 3. 如何用emacsclient启动两个窗口/ emacs框架?
- 4. 启动一个没有AJAX框架的浮动窗口/ iframe
- 5. 如何关闭emacsclient中的所有打开的框架?
- 6. 没有动画框架的Qt动画
- 7. 有没有zend框架的框架?
- 8. Model类没有在Zend框架项目(快速启动)
- 9. Windows上的emacsclient对话框
- 10. 启动机架服务器没有config.ru?
- 11. Equinox:框架重新启动后丢失的包的更新
- 12. 实体框架 - 确保没有更新
- 13. 实体框架:协会没有更新
- 14. 实体框架SaveChanges没有更新db
- 15. UI在ionv2框架中没有更新
- 16. 没有OSGi框架的BIRT
- 17. 没有框架的网站
- 18. 没有Javascript的CSS框架
- 19. 没有框架的add_axes
- 20. XSocket.net没有的plugin-框架
- 21. 没有Zend框架的Zend_Db
- 22. Laravel Artisan - 重新加载.env变量或重新启动框架
- 23. 从对话框启动框架
- 24. 有没有android ORM框架?
- 25. 如何关闭emacsclient GUI框架而不杀死服务器
- 26. 框架动画只能启动一次
- 27. Xcodebuild没有生成x86_64架构的动态框架
- 28. 实体框架:SQL Server重新启动后的连接
- 29. 的PHP框架更容易启动
- 30. 播放框架1.2.7启动时的ActionNotFoundException
我对帧和缓冲区没有困惑。回到2013年,当我问这个问题时,我在非图形环境中将emacs服务器作为后台运行的守护程序运行,并且我想要某种方式将emacsclient连接到它,而不必指定任何内容,有点像附加和分离屏幕会话。 但这是重点。这是2016年,我几年前解决了这个问题,我不再使用emacs。 –