LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 767|回复: 5

怎样在emacs里调换两个窗口的内容,而布局不变?谢谢帮助!

[复制链接]
发表于 2004-5-14 18:52:00 | 显示全部楼层 |阅读模式
假设我一开始上边的窗口显示的是我的_信件_的buffer,
下边的窗口含的是我_程序_的buffer,什么命令能让这两个
buffer掉转,但窗口布局不变?Many thanks!

  1. 如下图 :

  2. |------------------------------------------------------|
  3. |        Window A                                      |
  4. |                                                      |
  5. |  This buffer holds my _letter_                       |
  6. |                                                      |
  7. |------------------------------------------------------|
  8. |                                                      |
  9. |                                                      |
  10. |           Window B                                   |
  11. |                                                      |
  12. |  Suppose this buffer contains my _program_           |
  13. |                                                      |
  14. |                                                      |
  15. |                                                      |
  16. |                                                      |
  17. |                                                      |
  18. |                                                      |
  19. |                                                      |
  20. |                                                      |
  21. |                                                      |
  22. |                                                      |
  23. |------------------------------------------------------|

  24.                        | |
  25.                        | |
  26.                        | |
  27.                      \ | | /
  28.                       \| |/
  29.                        \ /
  30.                         -

  31. |------------------------------------------------------|
  32. |        Window A                                      |
  33. |                                                      |
  34. |  Now it holds my _program_                           |
  35. |                                                      |
  36. |------------------------------------------------------|
  37. |                                                      |
  38. |                                                      |
  39. |           Window B                                   |
  40. |                                                      |
  41. |  And this becomes where my _letter_ is in now        |
  42. |                                                      |
  43. |                                                      |
  44. |                                                      |
  45. |                                                      |
  46. |                                                      |
  47. |                                                      |
  48. |                                                      |
  49. |                                                      |
  50. |                                                      |
  51. |                                                      |
  52. |------------------------------------------------------|

复制代码
 楼主| 发表于 2004-5-14 18:54:39 | 显示全部楼层

Oops,怎么画的图成这样了?不管了,反正大家应该能看懂.

:-)
发表于 2004-5-15 11:19:31 | 显示全部楼层
最近在学lisp,顺手编了个小程序。


  1. (defun switch-buffers ()
  2. "Switch the two buffers in current window and next window."
  3. (interactive)
  4. (if (one-window-p)
  5.     (message "There is only one window!")
  6.   (let ((buffer1 (current-buffer))
  7.         (buffer2 (window-buffer (next-window))))
  8.     (switch-to-buffer buffer2)
  9.     (set-window-buffer (next-window) buffer1))))
复制代码


你只要把这段程序加到你的.emacs里,然后就可以用M-x switch-buffers来切换窗口了。
你也可以把下面这句加到.emacs里:

  1. (global-set-key (kbd "<f12>") 'switch-buffers)
复制代码


这样直接按f12就行了。
 楼主| 发表于 2004-5-15 13:20:25 | 显示全部楼层

谢谢,谢谢,赫赫,很好用,emacs的强大就体现在这self extensible上面.我也打算要学学lisp,这

thx again :-}
发表于 2004-8-26 21:25:34 | 显示全部楼层
正要找的,跟一贴当做收藏
发表于 2004-8-26 22:13:30 | 显示全部楼层
贴东西时,请放在 CODE 标签里 ,如
  1. [code]  
  2. XXXXXXX
  3.               XXXXXXXX
  4.               XXXXXXXXXX
  5.     XXXXXXXXXX
  6. XXXXXXXXX
复制代码
[/code]


另外, lisp 可不仅仅是 emacs 里的脚本
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表