小编csc*_*hol的帖子

如何在Emacs中创建类似于*compilation*的缓冲区?

我在Emacs中有一个异步进程,它创建了一个TAGS文件.

此过程创建一个名为*ctags*的进程缓冲区.如果处理结果是"完成\n",我会杀死缓冲区.

如果进程结果是其他任何我想在运行Mx编译时显示类似于*compilation*status输出的进程缓冲区.

即我想垂直分割屏幕并在底部显示*ctags*缓冲区.按q最好杀死底部缓冲区并显示我的原始缓冲区.

我尝试在我的进程中使用这个Sentinel回调:

(split-window-vertically)
(set-window-buffer (selected-window) (get-buffer "*ctags*"))

但除了将*ctags*缓冲区置于顶部之外,缓冲区与*compilation*输出不具有相同的特性,例如按q插入q.

如何创建像*compilation*这样的缓冲区?

编辑:

受到Trey Jackson在下面的回答的启发,这正是我想要的:

(pop-to-buffer (get-buffer "*ctags*"))
(compilation-mode)

它选择*ctags*缓冲区,将其置于编译模式,q将退出窗口.

EDIT2: 使用

(compilation-mode)
(主要模式而不是次要模式)因为Emacs不知道不喜欢将次要模式重新应用到现有缓冲区.

我得到的错误消息是:

Toggling compilation-minor-mode off; better pass explicit argument.

emacs elisp

3
推荐指数
1
解决办法
603
查看次数

Emacs:仅在迷你缓冲区中禁用行截断

我在Emacs 23中使用ido模式进行文件和缓冲区切换.

如果目录中有多行文件,则以下选项允许调整迷你缓冲区的大小:

(setq resize-mini-windows t) ; grow and shrink as necessary
(setq max-mini-window-height 3) ; grow up to max of 3 lines
Run Code Online (Sandbox Code Playgroud)

但是,这仅在默认情况下未启用行截断时才起作用(全局):

(setq-default truncate-lines t) ; Truncate, do not wrap lines
Run Code Online (Sandbox Code Playgroud)

我喜欢我的主编辑窗口的这个选项,但这也覆盖了上面的功能,以显示迷你缓冲区中的多行.迷你缓冲区中的线被截断,也没有被包裹.

有没有办法为主编辑窗口启用行截断,只在迷你缓冲区中禁用它?

emacs minibuffer

3
推荐指数
1
解决办法
730
查看次数

十进制到二进制数转换

什么是-10的二进制形式?如何计算?

binary computer-science

3
推荐指数
1
解决办法
3855
查看次数

使用opendir()获取的目录流中的条目顺序

可以根据使用opendir()函数获得的目录流中的条目顺序进行任何假设吗?例如,是...总前两个项目?什么会导致订单改变?

c unix linux opendir

1
推荐指数
1
解决办法
187
查看次数

增加OpenGL属性堆栈的深度

是否可以在OpenGL中增加属性堆栈深度?

glGetIntegerv(GL_MAX_ATTRIB_STACK_DEPTH, &depth);
Run Code Online (Sandbox Code Playgroud)

将深度返回为16.我可以更改GL_MAX_STACK_DEPTH为例如32吗?

opengl

1
推荐指数
1
解决办法
115
查看次数

这个JavaScript的目的是什么?

我正在使用基于Python的HTML解析器并解析Stackoverflow.解析器突然出现在一条线上

HTMLParser.HTMLParseError: bad end tag: "</'+'scr'+'ipt>", at line 649, column 29
Run Code Online (Sandbox Code Playgroud)

该错误指向网站源代码中的以下javascript行:

<script type="text/javascript">
    document.write('<s'+'cript lang' + 'uage="jav' + 'ascript" src=" [...] ">'); 
    document.write('</'+'scr'+'ipt>');
</script>
Run Code Online (Sandbox Code Playgroud)

([...]替换长链接,为简单起见,将其删除)

出于好奇,是否有一个特定的原因让我看起来像代码的人工"混淆",即为什么使用document.write方法连接所有切碎的字符串?

html javascript

0
推荐指数
1
解决办法
199
查看次数

标签 统计

emacs ×2

binary ×1

c ×1

computer-science ×1

elisp ×1

html ×1

javascript ×1

linux ×1

minibuffer ×1

opendir ×1

opengl ×1

unix ×1