免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3986 | 回复: 4
打印 上一主题 下一主题

请教 emacs 高手们关于缓冲区和窗口的问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-03 12:05 |只看该作者 |倒序浏览
如图:



最近,小弟在学 emacs 及 lisp 语言,把 emacs 缓冲区分割成了 3 个:
左上角的缓冲区框架,是用来交互式 lisp 编程的,一般是 *scratch* 我一般就在这里写 lisp 程序,学习啦;
左下角的缓冲区框架,是 *Messages* 缓冲区,就是 *scratch* 中程序执行信息输出的地方;
右边的缓冲区就做其它用吧!

我的意思就是想把左边的 *scratch* 和 *Messages* 这两个缓冲区锁定了,其它的什么 *Help*  *Completions*  *Backtrace* 这些就另来烦左边的这两窗口个框架了,去找右边的窗口输出显示就行了。

经常是系统临时缓冲区,弹出来,弹得乱糟糟的,用 C-x o 和 C-x b 切换窗口又切换缓冲区,有点烦人啦!

有什么方法可以解决?

论坛徽章:
7
IT运维版块每日发帖之星
日期:2016-05-27 06:20:00IT运维版块每日发帖之星
日期:2016-06-09 06:20:00操作系统版块每日发帖之星
日期:2016-06-12 06:20:00程序设计版块每日发帖之星
日期:2016-06-12 06:20:00操作系统版块每日发帖之星
日期:2016-06-13 06:20:00IT运维版块每日发帖之星
日期:2016-06-17 06:20:002015-2016NBA季后赛纪念章
日期:2016-06-28 17:42:27
2 [报告]
发表于 2011-04-03 22:13 |只看该作者
本人也用emacs23不过,没有您用的那么深入,学习了

论坛徽章:
0
3 [报告]
发表于 2011-04-03 23:44 |只看该作者
查了几天的资料了,还是没有找到解决方案,窗框与缓冲区不是一一对应的,多个窗框可以打开同一个缓冲区;

网上大部分的资料,也只是讲讲用 C-x 2 和 C-x 3 分割窗口,或用 C-x } 或 C-x { 或 C-x ^ 调整窗口大小,折腾几天无果!!!

因为,最近对 lisp 语言感兴趣了,发此贴也只为了解决下用 emacs 学 lisp 时的问题,只是想怎么锁定一个输入窗口和一个输出窗口,没想到看下帮助弹个 *Help* 出来,用 M-x 两个 TAB 又弹个  *Completions* 出来,输入的 lisp 语句运行错误再弹个  *Backtrace*  出来,整个窗口框架的内容都乱成一团。

不过,在网上找了搭建 emacs + slime + lisp 的学习环境,哈~~感觉真不错~~切个图:



还有 tab 关键字补全功能,在最下面 minbuffer 中还显示了该函数的定义,一条 lisp 语句完后,回车就直接就解释执行了,这与 linux 用命令感觉差不多了,呵呵~~

^o^

论坛徽章:
0
4 [报告]
发表于 2011-04-04 00:11 |只看该作者
忘说解决方案了:

我用的是 debian 系统:

搭建 emacs + slime + lisp 学习环境:

安装 emacs / slime / clisp 相关东东:
  1. sudo aptitude install install emacs mule-ucs slime clisp
复制代码
编辑 ~/.emacs 并加入以下语句:


  1. (add-to-list 'load-path "/usr/share/emacs23/site-lisp/slime")
  2. (setq inferior-lisp-program "/usr/bin/clisp")
  3. (require 'slime)
  4. (slime-setup '(slime-fancy))

  5. (defun lisp-indent-or-complete (&optional arg)
  6.    (interactive "p")
  7.    (if (or (looking-back "^\\s-*") (bolp))
  8.        (call-interactively 'lisp-indent-line)
  9.        (call-interactively 'slime-indent-and-complete-symbol)))
  10. (eval-after-load "lisp-mode"
  11.    '(progn
  12.        (define-key lisp-mode-map (kbd "TAB") 'lisp-indent-or-complete)))

复制代码
进入 emacs 后 M-x slime 就可以开始 lisp 的学习了!

论坛徽章:
0
5 [报告]
发表于 2011-04-07 15:37 |只看该作者
搜dedicated.el

There is a builtin Emacs function called `set-window-dedicated-p' that marks a window as dedicated so that it stays visible and is not replaced with other buffers for things like `describe-function', `describe-variable', etc.


但在其它窗口上执行C-x 1时这个窗口还是会被干掉,所以你需要stick-windows.el

StickyWindows
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP