首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >emacs lisp,如何获取缓冲区主模式?

emacs lisp,如何获取缓冲区主模式?
EN

Stack Overflow用户
提问于 2010-02-11 00:22:26
回答 6查看 17.8K关注 0票数 58

我试着搜索Google并查看手册,但仍然找不到如何获得buffer对象的主要模式。你能帮我举个例子或参考资料吗?谢谢

我能找到的唯一解决方案是在更改缓冲区后查询back mode,然后更改回原始缓冲区。有没有更好的方法呢?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-02-11 00:45:02

这有什么问题吗?

代码语言:javascript
复制
(defun buffer-mode (buffer-or-string)
  "Returns the major mode associated with a buffer."
  (with-current-buffer buffer-or-string
     major-mode))

with-current-buffer返回时,它将恢复您的缓冲区。

票数 43
EN

Stack Overflow用户

发布于 2013-02-16 18:37:29

对于当前缓冲区:

代码语言:javascript
复制
(message "%s" major-mode)
票数 41
EN

Stack Overflow用户

发布于 2012-07-15 08:49:10

一种简单的方法是使用buffer-local-value函数,因为major-mode是一个缓冲区局部变量:

代码语言:javascript
复制
(buffer-local-value 'major-mode (get-buffer "*scratch*"))
票数 34
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2238418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档